2 * Copyright 2008 Aric Stewart, CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 import
"textstor.idl";
23 /* import "ctfutb.idl"; */
25 cpp_quote
("#include <winuser.h>")
27 cpp_quote
("#define TF_E_STACKFULL MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0501)")
28 cpp_quote
("#define TF_E_DISCONNECTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0504)")
29 cpp_quote
("#define TF_E_ALREADY_EXISTS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0506)")
30 cpp_quote
("#define TF_E_NOLOCK MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201)")
32 cpp_quote
("HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim);")
33 cpp_quote
("HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim);")
34 cpp_quote
("HRESULT WINAPI TF_CreateInputProcessorProfiles(ITfInputProcessorProfiles **ppipr);")
36 cpp_quote
("EXTERN_C const CLSID CLSID_TF_ThreadMgr;")
37 cpp_quote
("EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles;")
38 cpp_quote
("EXTERN_C const CLSID CLSID_TF_CategoryMgr;")
40 /* GUIDs for Compartments */
41 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_DISABLED;")
42 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_OPENCLOSE;")
43 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_HANDWRITING_OPENCLOSE;")
44 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_DISABLED;")
45 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_OPENCLOSE;")
46 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_GLOBALSTATE;")
47 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_PERSISTMENUENABLED;")
48 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_EMPTYCONTEXT;")
49 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_TIPUISTATUS;")
51 /* GUIDs for Categories */
52 cpp_quote
("EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD;")
53 cpp_quote
("EXTERN_C const GUID GUID_TFCAT_TIP_SPEECH;")
54 cpp_quote
("EXTERN_C const GUID GUID_TFCAT_TIP_HANDWRITING;")
55 cpp_quote
("EXTERN_C const GUID GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER;")
57 typedef [uuid(7213778c
-7bb0
-4270-b050
-6189ee594e97
)] DWORD TfEditCookie
;
58 typedef [uuid(de403c21
-89fd
-4f85
-8b87
-64584d063fbc
)] DWORD TfClientId
;
59 typedef [uuid(88a9c478
-f3ec
-4763-8345-cd9250443f8d
)] DWORD TfGuidAtom
;
61 cpp_quote
("#define TF_MOD_ALT 0x0001")
62 cpp_quote
("#define TF_MOD_CONTROL 0x0002")
63 cpp_quote
("#define TF_MOD_SHIFT 0x0004")
64 cpp_quote
("#define TF_MOD_RALT 0x0008")
65 cpp_quote
("#define TF_MOD_RCONTROL 0x0010")
66 cpp_quote
("#define TF_MOD_RSHIFT 0x0020")
67 cpp_quote
("#define TF_MOD_LALT 0x0040")
68 cpp_quote
("#define TF_MOD_LCONTROL 0x0080")
69 cpp_quote
("#define TF_MOD_LSHIFT 0x0100")
70 cpp_quote
("#define TF_MOD_ON_KEYUP 0x0200")
71 cpp_quote
("#define TF_MOD_IGNORE_ALL_MODIFIER 0x0400")
73 interface ITfDocumentMgr
;
75 interface IEnumTfDocumentMgrs
;
76 interface IEnumTfContexts
;
77 interface ITfFunctionProvider
;
78 interface IEnumTfFunctionProviders
;
79 interface ITfCompartmentMgr
;
80 interface ITfEditSession
;
82 interface ITfContextView
;
83 interface IEnumTfContextViews
;
84 interface ITfProperty
;
85 interface ITfReadOnlyProperty
;
86 interface IEnumTfProperties
;
87 interface ITfRangeBackup
;
88 interface IEnumTfLanguageProfiles
;
89 interface ITfEditRecord
;
90 interface ITfCompositionView
;
91 interface ITfKeyEventSink
;
93 typedef [uuid(e1b5808d
-1e46
-4c19
-84dc
-68c5f5978cc8
)] struct TF_LANGUAGEPROFILE
100 } TF_LANGUAGEPROFILE
;
102 typedef [uuid(77c12f95
-b783
-450d
-879f
-1cd2362c6521
)] struct TF_PRESERVEDKEY
108 typedef [uuid(5a886226
-ae9a
-489b
-b991
-2b1e25ee59a9
)] enum { TF_ANCHOR_START
= 0, TF_ANCHOR_END
= 1 } TfAnchor
;
112 uuid(aa80e801
-2021-11d2
-93e0
-0060b067b86e
),
113 pointer_default(unique)
115 interface ITfThreadMgr
: IUnknown
118 [out] TfClientId
*ptid
);
120 HRESULT Deactivate
();
122 HRESULT CreateDocumentMgr
(
123 [out] ITfDocumentMgr
**ppdim
);
125 HRESULT EnumDocumentMgrs
(
126 [out] IEnumTfDocumentMgrs
**ppEnum
);
129 [out] ITfDocumentMgr
**ppdimFocus
);
132 [in] ITfDocumentMgr
*pdimFocus
);
134 HRESULT AssociateFocus
(
136 [in, unique] ITfDocumentMgr
*pdimNew
,
137 [out] ITfDocumentMgr
**ppdimPrev
);
139 HRESULT IsThreadFocus
(
140 [out] BOOL
*pfThreadFocus
);
142 HRESULT GetFunctionProvider
(
144 [out] ITfFunctionProvider
**ppFuncProv
);
146 HRESULT EnumFunctionProviders
(
147 [out] IEnumTfFunctionProviders
**ppEnum
);
149 HRESULT GetGlobalCompartment
(
150 [out] ITfCompartmentMgr
**ppCompMgr
);
156 uuid(aa80e7f4
-2021-11d2
-93e0
-0060b067b86e
),
157 pointer_default(unique)
159 interface ITfDocumentMgr
: IUnknown
161 HRESULT CreateContext
(
162 [in] TfClientId tidOwner
,
164 [in, unique] IUnknown
*punk
,
165 [out] ITfContext
**ppic
,
166 [out] TfEditCookie
*pecTextStore
);
169 [in] ITfContext
*pic
);
171 const DWORD TF_POPF_ALL
= 0x0001;
177 [out] ITfContext
**ppic
);
180 [out] ITfContext
**ppic
);
182 HRESULT EnumContexts
(
183 [out] IEnumTfContexts
**ppEnum
);
188 uuid(aa80e7fd
-2021-11d2
-93e0
-0060b067b86e
),
189 pointer_default(unique)
191 interface ITfContext
: IUnknown
193 const DWORD TF_ES_ASYNCDONTCARE
= 0x0;
194 const DWORD TF_ES_SYNC
= 0x1;
195 const DWORD TF_ES_READ
= 0x2;
196 const DWORD TF_ES_READWRITE
= 0x6;
197 const DWORD TF_ES_ASYNC
= 0x8;
199 HRESULT RequestEditSession
(
201 [in] ITfEditSession
*pes
,
203 [out] HRESULT *phrSession
);
205 HRESULT InWriteSession
(
207 [out] BOOL
*pfWriteSession
);
209 typedef [uuid(1690be9b
-d3e9
-49f6
-8d8b
-51b905af4c43
)] enum { TF_AE_NONE
, TF_AE_START
, TF_AE_END
} TfActiveSelEnd
;
211 typedef [uuid(36ae42a4
-6989-4bdc
-b48a
-6137b7bf2e42
)] struct TF_SELECTIONSTYLE
217 typedef [uuid(75eb22f2
-b0bf
-46a8
-8006-975a3b6efcf1
)] struct TF_SELECTION
220 TF_SELECTIONSTYLE style
;
223 const ULONG TF_DEFAULT_SELECTION
= TS_DEFAULT_SELECTION
;
225 HRESULT GetSelection
(
226 [in] TfEditCookie ec
,
229 [out, size_is(ulCount
), length_is(*pcFetched
)] TF_SELECTION
*pSelection
,
230 [out] ULONG
*pcFetched
);
232 HRESULT SetSelection
(
233 [in] TfEditCookie ec
,
235 [in, size_is(ulCount
)] const TF_SELECTION
*pSelection
);
238 [in] TfEditCookie ec
,
239 [out] ITfRange
**ppStart
);
242 [in] TfEditCookie ec
,
243 [out] ITfRange
**ppEnd
);
245 typedef [uuid(bc7d979a
-846a
-444d
-afef
-0a9bfa82b961
)] TS_STATUS TF_STATUS
;
246 const DWORD TF_SD_READONLY
= TS_SD_READONLY
;
247 const DWORD TF_SD_LOADING
= TS_SD_LOADING
;
248 const DWORD TF_SS_DISJOINTSEL
= TS_SS_DISJOINTSEL
;
249 const DWORD TF_SS_REGIONS
= TS_SS_REGIONS
;
250 const DWORD TF_SS_TRANSITORY
= TS_SS_TRANSITORY
;
253 HRESULT GetActiveView
(
254 [out] ITfContextView
**ppView
);
257 [out] IEnumTfContextViews
**ppEnum
);
260 [out] TF_STATUS
*pdcs
);
263 [in] REFGUID guidProp
,
264 [out] ITfProperty
**ppProp
);
266 HRESULT GetAppProperty
(
267 [in] REFGUID guidProp
,
268 [out] ITfReadOnlyProperty
**ppProp
);
270 HRESULT TrackProperties
(
271 [in, size_is(cProp
)] const GUID
**prgProp
,
273 [in, size_is(cAppProp
)] const GUID
**prgAppProp
,
275 [out] ITfReadOnlyProperty
**ppProperty
);
277 HRESULT EnumProperties
(
278 [out] IEnumTfProperties
**ppEnum
);
280 HRESULT GetDocumentMgr
(
281 [out] ITfDocumentMgr
**ppDm
);
283 HRESULT CreateRangeBackup
(
284 [in] TfEditCookie ec
,
285 [in] ITfRange
*pRange
,
286 [out] ITfRangeBackup
**ppBackup
);
292 uuid(4ea48a35
-60ae
-446f
-8fd6
-e6a8d82459f7
),
293 pointer_default(unique)
295 interface ITfSource
: IUnknown
299 [in, iid_is(riid
)] IUnknown
*punk
,
300 [out] DWORD
*pdwCookie
);
302 HRESULT UnadviseSink
(
303 [in] DWORD dwCookie
);
309 uuid(1F02B6C5
-7842-4EE6
-8A0B
-9A24183A95CA
),
310 pointer_default(unique)
312 interface ITfInputProcessorProfiles
: IUnknown
315 [in] REFCLSID rclsid
);
318 [in] REFCLSID rclsid
);
320 HRESULT AddLanguageProfile
(
321 [in] REFCLSID rclsid
,
323 [in] REFGUID guidProfile
,
324 [in, size_is(cchDesc
)] const WCHAR
*pchDesc
,
326 [in, size_is(cchFile
)] const WCHAR
*pchIconFile
,
328 [in] ULONG uIconIndex
);
330 HRESULT RemoveLanguageProfile
(
331 [in] REFCLSID rclsid
,
333 [in] REFGUID guidProfile
);
335 HRESULT EnumInputProcessorInfo
(
336 [out] IEnumGUID
**ppEnum
);
338 HRESULT GetDefaultLanguageProfile
(
342 [out] GUID
*pguidProfile
);
344 HRESULT SetDefaultLanguageProfile
(
346 [in] REFCLSID rclsid
,
347 [in] REFGUID guidProfiles
);
349 HRESULT ActivateLanguageProfile
(
350 [in] REFCLSID rclsid
,
352 [in] REFGUID guidProfiles
);
354 HRESULT GetActiveLanguageProfile
(
355 [in] REFCLSID rclsid
,
356 [out] LANGID
*plangid
,
357 [out] GUID
*pguidProfile
);
359 HRESULT GetLanguageProfileDescription
(
360 [in] REFCLSID rclsid
,
362 [in] REFGUID guidProfile
,
363 [out] BSTR *pbstrProfile
);
365 HRESULT GetCurrentLanguage
(
366 [out] LANGID
*plangid
);
368 HRESULT ChangeCurrentLanguage
(
371 HRESULT GetLanguageList
(
372 [out] LANGID
**ppLangId
,
373 [out] ULONG
*pulCount
);
375 HRESULT EnumLanguageProfiles
(
377 [out] IEnumTfLanguageProfiles
**ppEnum
);
379 HRESULT EnableLanguageProfile
(
380 [in] REFCLSID rclsid
,
382 [in] REFGUID guidProfile
,
385 HRESULT IsEnabledLanguageProfile
(
386 [in] REFCLSID rclsid
,
388 [in] REFGUID guidProfile
,
389 [out] BOOL
*pfEnable
);
391 HRESULT EnableLanguageProfileByDefault
(
392 [in] REFCLSID rclsid
,
394 [in] REFGUID guidProfile
,
397 HRESULT SubstituteKeyboardLayout
(
398 [in] REFCLSID rclsid
,
400 [in] REFGUID guidProfile
,
407 uuid(c3acefb5
-f69d
-4905-938f
-fcadcf4be830
),
408 pointer_default(unique)
410 interface ITfCategoryMgr
: IUnknown
412 HRESULT RegisterCategory
([in] REFCLSID rclsid
,
416 HRESULT UnregisterCategory
([in] REFCLSID rclsid
,
420 HRESULT EnumCategoriesInItem
([in] REFGUID rguid
,
421 [out] IEnumGUID
**ppEnum
);
423 HRESULT EnumItemsInCategory
([in] REFGUID rcatid
,
424 [out] IEnumGUID
**ppEnum
);
426 HRESULT FindClosestCategory
([in] REFGUID rguid
,
428 [in, size_is(ulCount
)] const GUID
**ppcatidList
,
431 HRESULT RegisterGUIDDescription
([in] REFCLSID rclsid
,
433 [in, size_is(cch
)] const WCHAR
*pchDesc
,
436 HRESULT UnregisterGUIDDescription
([in] REFCLSID rclsid
,
439 HRESULT GetGUIDDescription
([in] REFGUID rguid
,
440 [out] BSTR *pbstrDesc
);
442 HRESULT RegisterGUIDDWORD
([in] REFCLSID rclsid
,
446 HRESULT UnregisterGUIDDWORD
([in] REFCLSID rclsid
,
449 HRESULT GetGUIDDWORD
([in] REFGUID rguid
,
452 HRESULT RegisterGUID
([in] REFGUID rguid
,
453 [out] TfGuidAtom
*pguidatom
);
455 HRESULT GetGUID
([in] TfGuidAtom guidatom
,
458 HRESULT IsEqualTfGuidAtom
([in] TfGuidAtom guidatom
,
460 [out] BOOL
*pfEqual
);
465 uuid(8127d409
-ccd3
-4683-967a
-b43d5b482bf7
),
466 pointer_default(unique)
468 interface ITfTextEditSink
: IUnknown
471 [in] ITfContext
*pic
,
472 [in] TfEditCookie ecReadOnly
,
473 [in] ITfEditRecord
*pEditRecord
);
478 uuid(5F20AA40
-B57A
-4F34
-96AB
-3576F377CC79
),
479 pointer_default(unique)
481 interface ITfContextOwnerCompositionSink
: IUnknown
483 HRESULT OnStartComposition
(
484 [in] ITfCompositionView
*pComposition
,
487 HRESULT OnUpdateComposition
(
488 [in] ITfCompositionView
*pComposition
,
489 [in] ITfRange
*pRangeNew
);
491 HRESULT OnEndComposition
(
492 [in] ITfCompositionView
*pComposition
);
497 uuid(3d61bf11
-ac5f
-42c8
-a4cb
-931bcc28c744
),
498 pointer_default(unique)
500 interface IEnumTfLanguageProfiles
: IUnknown
503 [out] IEnumTfLanguageProfiles
**ppEnum
);
507 [out, size_is(ulCount
), length_is(*pcFetch
)] TF_LANGUAGEPROFILE
*pProfile
,
508 [out] ULONG
*pcFetch
);
519 uuid(aa80e7f7
-2021-11d2
-93e0
-0060b067b86e
),
520 pointer_default(unique)
522 interface ITfTextInputProcessor
: IUnknown
525 [in] ITfThreadMgr
*ptim
,
526 [in] TfClientId tid
);
528 HRESULT Deactivate
();
533 uuid(aa80e80e
-2021
-11d2
-93e0
-0060b067b86e
),
534 pointer_default(unique)
536 interface ITfThreadMgrEventSink
: IUnknown
538 HRESULT OnInitDocumentMgr
(
539 [in] ITfDocumentMgr
*pdim
);
541 HRESULT OnUninitDocumentMgr
(
542 [in] ITfDocumentMgr
*pdim
);
545 [in] ITfDocumentMgr
*pdimFocus
,
546 [in] ITfDocumentMgr
*pdimPrevFocus
);
548 HRESULT OnPushContext
(
549 [in] ITfContext
*pic
);
551 HRESULT OnPopContext
(
552 [in] ITfContext
*pic
);
558 uuid(aa80e7f0
-2021-11d2
-93e0
-0060b067b86e
),
559 pointer_default(unique)
561 interface ITfKeystrokeMgr
: IUnknown
563 HRESULT AdviseKeyEventSink
(
565 [in] ITfKeyEventSink
*pSink
,
566 [in] BOOL fForeground
);
568 HRESULT UnadviseKeyEventSink
(
569 [in] TfClientId tid
);
571 HRESULT GetForeground
(
572 [out] CLSID
*pclsid
);
577 [out] BOOL
*pfEaten
);
582 [out] BOOL
*pfEaten
);
587 [out] BOOL
*pfEaten
);
592 [out] BOOL
*pfEaten
);
594 HRESULT GetPreservedKey
(
595 [in] ITfContext
*pic
,
596 [in] const TF_PRESERVEDKEY
*pprekey
,
599 HRESULT IsPreservedKey
(
601 [in] const TF_PRESERVEDKEY
*pprekey
,
602 [out] BOOL
*pfRegistered
);
607 [in] const TF_PRESERVEDKEY
*prekey
,
608 [in, size_is(cchDesc
)] const WCHAR
*pchDesc
,
611 HRESULT UnpreserveKey
(
613 [in] const TF_PRESERVEDKEY
*pprekey
);
615 HRESULT SetPreservedKeyDescription
(
617 [in, size_is(cchDesc
)] const WCHAR
*pchDesc
,
620 HRESULT GetPreservedKeyDescription
(
622 [out] BSTR *pbstrDesc
);
624 HRESULT SimulatePreservedKey
(
625 [in] ITfContext
*pic
,
627 [out] BOOL
*pfEaten
);
633 uuid(aa80e7f5
-2021-11d2
-93e0
-0060b067b86e
),
634 pointer_default(unique)
636 interface ITfKeyEventSink
: IUnknown
639 [in] BOOL fForeground
);
641 HRESULT OnTestKeyDown
(
642 [in] ITfContext
*pic
,
645 [out] BOOL
*pfEaten
);
648 [in] ITfContext
*pic
,
651 [out] BOOL
*pfEaten
);
654 [in] ITfContext
*pic
,
657 [out] BOOL
*pfEaten
);
660 [in] ITfContext
*pic
,
663 [out] BOOL
*pfEaten
);
665 HRESULT OnPreservedKey
(
666 [in] ITfContext
*pic
,
668 [out] BOOL
*pfEaten
);
674 uuid(8f1b8ad8
-0b6b
-4874-90c5
-bd76011e8f7c
),
675 pointer_default(unique)
677 interface ITfMessagePump
: IUnknown
679 HRESULT PeekMessageA
(
682 [in] UINT wMsgFilterMin
,
683 [in] UINT wMsgFilterMax
,
684 [in] UINT wRemoveMsg
,
685 [out] BOOL
*pfResult
);
690 [in] UINT wMsgFilterMin
,
691 [in] UINT wMsgFilterMax
,
692 [out] BOOL
*pfResult
);
694 HRESULT PeekMessageW
(
697 [in] UINT wMsgFilterMin
,
698 [in] UINT wMsgFilterMax
,
699 [in] UINT wRemoveMsg
,
700 [out] BOOL
*pfResult
);
705 [in] UINT wMsgFilterMin
,
706 [in] UINT wMsgFilterMax
,
707 [out] BOOL
*pfResult
);
713 uuid(d60a7b49
-1b9f
-4be2
-b702
-47e9dc05dec3
),
714 pointer_default(unique)
716 interface ITfClientId
: IUnknown
719 [in] REFCLSID rclsid
,
720 [out] TfClientId
*ptid
);
725 uuid(43c9fe15
-f494
-4c17
-9de2
-b8a4ac350aa8
),
726 pointer_default(unique)
728 interface ITfLanguageProfileNotifySink
: IUnknown
730 HRESULT OnLanguageChange
(
732 [out] BOOL
*pfAccept
);
734 HRESULT OnLanguageChanged
();
739 uuid(aa80e803
-2021-11d2
-93e0
-0060b067b86e
),
740 pointer_default(unique)
742 interface ITfEditSession
: IUnknown
744 HRESULT DoEditSession
(
745 [in] TfEditCookie ec
);
750 uuid(aa80e7ff
-2021-11d2
-93e0
-0060b067b86e
),
751 pointer_default(unique)
753 interface ITfRange
: IUnknown
755 const WCHAR TF_CHAR_EMBEDDED
= TS_CHAR_EMBEDDED
;
757 typedef [uuid(cf610f06
-2882-46f6
-abe5
-298568b664c4
)] enum { TF_GRAVITY_BACKWARD
= 0, TF_GRAVITY_FORWARD
= 1 } TfGravity
;
759 typedef [uuid(1e512533
-bbdc
-4530-9a8e
-a1dc0af67468
)] enum { TF_SD_BACKWARD
= 0, TF_SD_FORWARD
= 1 } TfShiftDir
;
761 const DWORD TF_HF_OBJECT
= 1;
762 const DWORD TF_TF_MOVESTART
= 1;
763 const DWORD TF_TF_IGNOREEND
= 2;
764 const DWORD TF_ST_CORRECTION
= 1;
765 const DWORD TF_IE_CORRECTION
= 1;
767 typedef [uuid(49930d51
-7d93
-448c
-a48c
-fea5dac192b1
)] struct TF_HALTCOND
769 ITfRange
*pHaltRange
;
775 [in] TfEditCookie ec
,
777 [out, size_is(cchMax
), length_is(*pcch
)] WCHAR
*pchText
,
782 [in] TfEditCookie ec
,
784 [in, size_is(cch
), unique] const WCHAR
*pchText
,
787 HRESULT GetFormattedText
(
788 [in] TfEditCookie ec
,
789 [out] IDataObject
**ppDataObject
);
792 [in] TfEditCookie ec
,
793 [in] REFGUID rguidService
,
795 [out, iid_is(riid
)] IUnknown
**ppunk
);
797 HRESULT InsertEmbedded
(
798 [in] TfEditCookie ec
,
800 [in] IDataObject
*pDataObject
);
803 [in] TfEditCookie ec
,
806 [in, unique] const TF_HALTCOND
*pHalt
);
809 [in] TfEditCookie ec
,
812 [in, unique] const TF_HALTCOND
*pHalt
);
814 HRESULT ShiftStartToRange
(
815 [in] TfEditCookie ec
,
816 [in] ITfRange
*pRange
,
819 HRESULT ShiftEndToRange
(
820 [in] TfEditCookie ec
,
821 [in] ITfRange
*pRange
,
824 HRESULT ShiftStartRegion
(
825 [in] TfEditCookie ec
,
827 [out] BOOL
*pfNoRegion
);
829 HRESULT ShiftEndRegion
(
830 [in] TfEditCookie ec
,
832 [out] BOOL
*pfNoRegion
);
835 [in] TfEditCookie ec
,
836 [out] BOOL
*pfEmpty
);
839 [in] TfEditCookie ec
,
842 HRESULT IsEqualStart
(
843 [in] TfEditCookie ec
,
844 [in] ITfRange
*pWith
,
846 [out] BOOL
*pfEqual
);
849 [in] TfEditCookie ec
,
850 [in] ITfRange
*pWith
,
852 [out] BOOL
*pfEqual
);
854 HRESULT CompareStart
(
855 [in] TfEditCookie ec
,
856 [in] ITfRange
*pWith
,
858 [out] LONG *plResult
);
861 [in] TfEditCookie ec
,
862 [in] ITfRange
*pWith
,
864 [out] LONG *plResult
);
866 HRESULT AdjustForInsert
(
867 [in] TfEditCookie ec
,
868 [in] ULONG cchInsert
,
869 [out] BOOL
*pfInsertOk
);
872 [out] TfGravity
*pgStart
,
873 [out] TfGravity
*pgEnd
);
876 [in] TfEditCookie ec
,
877 [in] TfGravity gStart
,
878 [in] TfGravity gEnd
);
881 [out] ITfRange
**ppClone
);
884 [out] ITfContext
**ppContext
);
889 uuid(55ce16ba
-3014-41c1
-9ceb
-fade1446ac6c
),
890 pointer_default(unique)
892 interface ITfInsertAtSelection
: IUnknown
894 const DWORD TF_IAS_NOQUERY
= 0x1;
895 const DWORD TF_IAS_QUERYONLY
= 0x2;
896 const DWORD TF_IAS_NO_DEFAULT_COMPOSITION
= 0x80000000;
898 HRESULT InsertTextAtSelection
(
899 [in] TfEditCookie ec
,
901 [in, size_is(cch
)] const WCHAR
*pchText
,
903 [out] ITfRange
**ppRange
);
905 HRESULT InsertEmbeddedAtSelection
(
906 [in] TfEditCookie ec
,
908 [in] IDataObject
*pDataObject
,
909 [out] ITfRange
**ppRange
);
914 uuid(bb08f7a9
-607a
-4384-8623-056892b64371
),
915 pointer_default(unique)
917 interface ITfCompartment
: IUnknown
921 [in] const VARIANT *pvarValue
);
924 [out] VARIANT *pvarValue
);
929 uuid(7dcf57ac
-18ad
-438b
-824d
-979bffb74b7c
),
930 pointer_default(unique)
932 interface ITfCompartmentMgr
: IUnknown
934 HRESULT GetCompartment
(
936 [out] ITfCompartment
**ppcomp
);
938 HRESULT ClearCompartment
(
942 HRESULT EnumCompartments
(
943 [out] IEnumGUID
**ppEnum
);
948 uuid(743abd5f
-f26d
-48df
-8cc5
-238492419b64
),
949 pointer_default(unique)
951 interface ITfCompartmentEventSink
: IUnknown
959 uuid(8f1a7ea6
-1654-4502-a86e
-b2902344d507
),
960 pointer_default(unique)
962 interface IEnumTfContexts
: IUnknown
965 [out] IEnumTfContexts
**ppEnum
);
969 [out, size_is(ulCount
), length_is(*pcFetched
)] ITfContext
**rgContext
,
970 [out] ULONG
*pcFetched
);