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";
26 cpp_quote
("#define TF_E_STACKFULL MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0501)")
27 cpp_quote
("#define TF_E_DISCONNECTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0504)")
28 cpp_quote
("#define TF_E_ALREADY_EXISTS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0506)")
29 cpp_quote
("#define TF_E_NOLOCK MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201)")
31 cpp_quote
("HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim);")
32 cpp_quote
("HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim);")
33 cpp_quote
("HRESULT WINAPI TF_CreateInputProcessorProfiles(ITfInputProcessorProfiles **ppipr);")
34 cpp_quote
("HRESULT WINAPI TF_CreateLangBarMgr(ITfLangBarMgr **pppbm);")
35 cpp_quote
("HRESULT WINAPI TF_CreateLangBarItemMgr(ITfLangBarItemMgr **pplbim);")
36 cpp_quote
("HRESULT WINAPI TF_InvalidAssemblyListCacheIfExist(void);")
38 cpp_quote
("EXTERN_C const GUID GUID_PROP_TEXTOWNER;")
39 cpp_quote
("DEFINE_GUID(GUID_PROP_ATTRIBUTE,0x34b45670,0x7526,0x11d2,0xa1,0x47,0x00,0x10,0x5a,0x27,0x99,0xb5);")
40 cpp_quote
("EXTERN_C const GUID GUID_PROP_LANGID;")
41 cpp_quote
("EXTERN_C const GUID GUID_PROP_READING;")
42 cpp_quote
("EXTERN_C const GUID GUID_PROP_COMPOSING;")
44 cpp_quote
("EXTERN_C const CLSID CLSID_TF_ThreadMgr;")
45 cpp_quote
("EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles;")
46 cpp_quote
("EXTERN_C const CLSID CLSID_TF_LangBarMgr;")
47 cpp_quote
("EXTERN_C const CLSID CLSID_TF_CategoryMgr;")
48 cpp_quote
("EXTERN_C const CLSID CLSID_TF_DisplayAttributeMgr;")
50 /* GUIDs for Compartments */
51 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_DISABLED;")
52 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_OPENCLOSE;")
53 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_HANDWRITING_OPENCLOSE;")
54 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_DISABLED;")
55 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_OPENCLOSE;")
56 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_GLOBALSTATE;")
57 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_PERSISTMENUENABLED;")
58 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_EMPTYCONTEXT;")
59 cpp_quote
("EXTERN_C const GUID GUID_COMPARTMENT_TIPUISTATUS;")
61 /* GUIDs for Categories */
62 cpp_quote
("EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD;")
63 cpp_quote
("EXTERN_C const GUID GUID_TFCAT_TIP_SPEECH;")
64 cpp_quote
("EXTERN_C const GUID GUID_TFCAT_TIP_HANDWRITING;")
65 cpp_quote
("EXTERN_C const GUID GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER;")
67 typedef [uuid(7213778c
-7bb0
-4270-b050
-6189ee594e97
)] DWORD TfEditCookie
;
68 typedef [uuid(de403c21
-89fd
-4f85
-8b87
-64584d063fbc
)] DWORD TfClientId
;
69 typedef [uuid(88a9c478
-f3ec
-4763-8345-cd9250443f8d
)] DWORD TfGuidAtom
;
71 cpp_quote
("#define TF_MOD_ALT 0x0001")
72 cpp_quote
("#define TF_MOD_CONTROL 0x0002")
73 cpp_quote
("#define TF_MOD_SHIFT 0x0004")
74 cpp_quote
("#define TF_MOD_RALT 0x0008")
75 cpp_quote
("#define TF_MOD_RCONTROL 0x0010")
76 cpp_quote
("#define TF_MOD_RSHIFT 0x0020")
77 cpp_quote
("#define TF_MOD_LALT 0x0040")
78 cpp_quote
("#define TF_MOD_LCONTROL 0x0080")
79 cpp_quote
("#define TF_MOD_LSHIFT 0x0100")
80 cpp_quote
("#define TF_MOD_ON_KEYUP 0x0200")
81 cpp_quote
("#define TF_MOD_IGNORE_ALL_MODIFIER 0x0400")
83 cpp_quote
("#define TF_PROFILETYPE_INPUTPROCESSOR 0x0001")
84 cpp_quote
("#define TF_PROFILETYPE_KEYBOARDLAYOUT 0x0002")
86 cpp_quote
("#define TF_IPSINK_FLAG_ACTIVE 0x0001")
88 interface ITfDocumentMgr
;
90 interface IEnumTfDocumentMgrs
;
91 interface IEnumTfContexts
;
92 interface ITfCompartmentMgr
;
93 interface ITfEditSession
;
95 interface ITfProperty
;
96 interface ITfReadOnlyProperty
;
97 interface IEnumTfLanguageProfiles
;
98 interface ITfCompositionView
;
99 interface ITfKeyEventSink
;
100 interface ITfPersistentPropertyLoaderACP
;
101 interface ITfRangeACP
;
104 typedef [uuid(4f5d560f
-5ab5
-4dde
-8c4d
-404592857ab0
)] UINT_PTR HKL
;
107 typedef [uuid(e26d9e1d
-691e-4f29
-90d7
-338dcf1f8cef
)] struct TF_PERSISTENT_PROPERTY_HEADER_ACP
115 } TF_PERSISTENT_PROPERTY_HEADER_ACP
;
117 typedef [uuid(e1b5808d
-1e46
-4c19
-84dc
-68c5f5978cc8
)] struct TF_LANGUAGEPROFILE
124 } TF_LANGUAGEPROFILE
;
126 typedef [uuid(77c12f95
-b783
-450d
-879f
-1cd2362c6521
)] struct TF_PRESERVEDKEY
132 typedef [uuid(5a886226
-ae9a
-489b
-b991
-2b1e25ee59a9
)] enum { TF_ANCHOR_START
= 0, TF_ANCHOR_END
= 1 } TfAnchor
;
136 uuid(101d6610
-0990-11d3
-8df0
-00105a2799b5
),
137 pointer_default(unique)
139 interface ITfFunctionProvider
: IUnknown
144 HRESULT GetDescription
(
150 [out, iid_is(riid
)] IUnknown
**func
);
155 uuid(e4b24db0
-0990-11d3
-8df0
-00105a2799b5
),
156 pointer_default(unique)
158 interface IEnumTfFunctionProviders
: IUnknown
161 [out] IEnumTfFunctionProviders
**ret
);
165 [out, size_is(count
), length_is(*fetched
)] ITfFunctionProvider
**prov
,
166 [out] ULONG
*fetched
);
176 uuid(aa80e801
-2021-11d2
-93e0
-0060b067b86e
),
177 pointer_default(unique)
179 interface ITfThreadMgr
: IUnknown
182 [out] TfClientId
*ptid
);
184 HRESULT Deactivate
();
186 HRESULT CreateDocumentMgr
(
187 [out] ITfDocumentMgr
**ppdim
);
189 HRESULT EnumDocumentMgrs
(
190 [out] IEnumTfDocumentMgrs
**ppEnum
);
193 [out] ITfDocumentMgr
**ppdimFocus
);
196 [in] ITfDocumentMgr
*pdimFocus
);
198 HRESULT AssociateFocus
(
200 [in, unique] ITfDocumentMgr
*pdimNew
,
201 [out] ITfDocumentMgr
**ppdimPrev
);
203 HRESULT IsThreadFocus
(
204 [out] BOOL
*pfThreadFocus
);
206 HRESULT GetFunctionProvider
(
208 [out] ITfFunctionProvider
**ppFuncProv
);
210 HRESULT EnumFunctionProviders
(
211 [out] IEnumTfFunctionProviders
**ppEnum
);
213 HRESULT GetGlobalCompartment
(
214 [out] ITfCompartmentMgr
**ppCompMgr
);
219 uuid(3e90ade3
-7594-4cb0
-bb58
-69628f5f458c
),
220 pointer_default(unique)
222 interface ITfThreadMgrEx
: ITfThreadMgr
225 [out] TfClientId
*id,
227 HRESULT GetActiveFlags
(
233 uuid(d7540241
-f9a1
-4364-befc
-dbcd2c4395b7
),
234 pointer_default(unique)
236 interface ITfCompositionView
: IUnknown
238 HRESULT GetOwnerClsid
([out] CLSID
*pclsid
);
240 HRESULT GetRange
([out] ITfRange
**ppRange
);
245 uuid(aa80e7f4
-2021-11d2
-93e0
-0060b067b86e
),
246 pointer_default(unique)
248 interface ITfDocumentMgr
: IUnknown
250 HRESULT CreateContext
(
251 [in] TfClientId tidOwner
,
253 [in, unique] IUnknown
*punk
,
254 [out] ITfContext
**ppic
,
255 [out] TfEditCookie
*pecTextStore
);
258 [in] ITfContext
*pic
);
260 const DWORD TF_POPF_ALL
= 0x0001;
266 [out] ITfContext
**ppic
);
269 [out] ITfContext
**ppic
);
271 HRESULT EnumContexts
(
272 [out] IEnumTfContexts
**ppEnum
);
277 uuid(2433bf8e
-0f9b
-435c
-ba2c
-180611978c30
),
278 pointer_default(unique)
280 interface ITfContextView
: IUnknown
282 HRESULT GetRangeFromPoint
(
283 [in] TfEditCookie cookie
,
284 [in] const POINT
*pt
,
286 [out] ITfRange
**range);
289 [in] TfEditCookie cookie
,
290 [in] ITfRange
*range,
292 [out] BOOL
*clipped
);
294 HRESULT GetScreenExt
(
303 uuid(f0c0f8dd
-cf38
-44e1
-bb0f
-68cf0d551c78
),
304 pointer_default(unique)
306 interface IEnumTfContextViews
: IUnknown
309 [out] IEnumTfContextViews
**ret
);
313 [out, size_is(count
), length_is(*fetched
)] ITfContextView
**views
,
314 [out] ULONG
*fetched
);
324 uuid(19188cb0
-aca9
-11d2
-afc5
-00105a2799b5
),
325 pointer_default(unique)
327 interface IEnumTfProperties
: IUnknown
330 [out] IEnumTfProperties
**ret
);
334 [out, size_is(count
), length_is(*fetched
)] ITfProperty
**props
,
335 [out] ULONG
*fetched
);
345 uuid(463a506d
-6992-49d2
-9b88
-93d55e70bb16
),
346 pointer_default(unique)
348 interface ITfRangeBackup
: IUnknown
351 [in] TfEditCookie cookie
,
352 [in] ITfRange
*range);
357 uuid(aa80e901
-2021-11d2
-93e0
-0060b067b86e
),
358 pointer_default(unique)
360 interface ITextStoreACPServices
: IUnknown
363 [in] ITfProperty
*prop
,
364 [in] ITfRange
*range,
365 [out] TF_PERSISTENT_PROPERTY_HEADER_ACP
*header
,
366 [in] IStream
*stream
);
369 [in] ITfProperty
*prop
,
370 [in] const TF_PERSISTENT_PROPERTY_HEADER_ACP
*header
,
371 [in] IStream
*stream
,
372 [in] ITfPersistentPropertyLoaderACP
*loader
);
374 HRESULT ForceLoadProperty
(
375 [in] ITfProperty
*prop
);
380 [out] ITfRangeACP
**range);
385 uuid(aa80e7fd
-2021-11d2
-93e0
-0060b067b86e
),
386 pointer_default(unique)
388 interface ITfContext
: IUnknown
390 const DWORD TF_ES_ASYNCDONTCARE
= 0x0;
391 const DWORD TF_ES_SYNC
= 0x1;
392 const DWORD TF_ES_READ
= 0x2;
393 const DWORD TF_ES_READWRITE
= 0x6;
394 const DWORD TF_ES_ASYNC
= 0x8;
396 HRESULT RequestEditSession
(
398 [in] ITfEditSession
*pes
,
400 [out] HRESULT *phrSession
);
402 HRESULT InWriteSession
(
404 [out] BOOL
*pfWriteSession
);
406 typedef [uuid(1690be9b
-d3e9
-49f6
-8d8b
-51b905af4c43
)] enum { TF_AE_NONE
, TF_AE_START
, TF_AE_END
} TfActiveSelEnd
;
408 typedef [uuid(36ae42a4
-6989-4bdc
-b48a
-6137b7bf2e42
)] struct TF_SELECTIONSTYLE
414 typedef [uuid(75eb22f2
-b0bf
-46a8
-8006-975a3b6efcf1
)] struct TF_SELECTION
417 TF_SELECTIONSTYLE style
;
420 const ULONG TF_DEFAULT_SELECTION
= TS_DEFAULT_SELECTION
;
422 HRESULT GetSelection
(
423 [in] TfEditCookie ec
,
426 [out, size_is(ulCount
), length_is(*pcFetched
)] TF_SELECTION
*pSelection
,
427 [out] ULONG
*pcFetched
);
429 HRESULT SetSelection
(
430 [in] TfEditCookie ec
,
432 [in, size_is(ulCount
)] const TF_SELECTION
*pSelection
);
435 [in] TfEditCookie ec
,
436 [out] ITfRange
**ppStart
);
439 [in] TfEditCookie ec
,
440 [out] ITfRange
**ppEnd
);
442 typedef [uuid(bc7d979a
-846a
-444d
-afef
-0a9bfa82b961
)] TS_STATUS TF_STATUS
;
443 const DWORD TF_SD_READONLY
= TS_SD_READONLY
;
444 const DWORD TF_SD_LOADING
= TS_SD_LOADING
;
445 const DWORD TF_SS_DISJOINTSEL
= TS_SS_DISJOINTSEL
;
446 const DWORD TF_SS_REGIONS
= TS_SS_REGIONS
;
447 const DWORD TF_SS_TRANSITORY
= TS_SS_TRANSITORY
;
450 HRESULT GetActiveView
(
451 [out] ITfContextView
**ppView
);
454 [out] IEnumTfContextViews
**ppEnum
);
457 [out] TF_STATUS
*pdcs
);
460 [in] REFGUID guidProp
,
461 [out] ITfProperty
**ppProp
);
463 HRESULT GetAppProperty
(
464 [in] REFGUID guidProp
,
465 [out] ITfReadOnlyProperty
**ppProp
);
467 HRESULT TrackProperties
(
468 [in, size_is(cProp
)] const GUID
**prgProp
,
470 [in, size_is(cAppProp
)] const GUID
**prgAppProp
,
472 [out] ITfReadOnlyProperty
**ppProperty
);
474 HRESULT EnumProperties
(
475 [out] IEnumTfProperties
**ppEnum
);
477 HRESULT GetDocumentMgr
(
478 [out] ITfDocumentMgr
**ppDm
);
480 HRESULT CreateRangeBackup
(
481 [in] TfEditCookie ec
,
482 [in] ITfRange
*pRange
,
483 [out] ITfRangeBackup
**ppBackup
);
486 const DWORD TF_INVALID_COOKIE
= 0xffffffff;
490 uuid(4ea48a35
-60ae
-446f
-8fd6
-e6a8d82459f7
),
491 pointer_default(unique)
493 interface ITfSource
: IUnknown
497 [in, iid_is(riid
)] IUnknown
*punk
,
498 [out] DWORD
*pdwCookie
);
500 HRESULT UnadviseSink
(
501 [in] DWORD dwCookie
);
507 uuid(1F02B6C5
-7842-4EE6
-8A0B
-9A24183A95CA
),
508 pointer_default(unique)
510 interface ITfInputProcessorProfiles
: IUnknown
513 [in] REFCLSID rclsid
);
516 [in] REFCLSID rclsid
);
518 HRESULT AddLanguageProfile
(
519 [in] REFCLSID rclsid
,
521 [in] REFGUID guidProfile
,
522 [in, size_is(cchDesc
)] const WCHAR
*pchDesc
,
524 [in, size_is(cchFile
)] const WCHAR
*pchIconFile
,
526 [in] ULONG uIconIndex
);
528 HRESULT RemoveLanguageProfile
(
529 [in] REFCLSID rclsid
,
531 [in] REFGUID guidProfile
);
533 HRESULT EnumInputProcessorInfo
(
534 [out] IEnumGUID
**ppEnum
);
536 HRESULT GetDefaultLanguageProfile
(
540 [out] GUID
*pguidProfile
);
542 HRESULT SetDefaultLanguageProfile
(
544 [in] REFCLSID rclsid
,
545 [in] REFGUID guidProfiles
);
547 HRESULT ActivateLanguageProfile
(
548 [in] REFCLSID rclsid
,
550 [in] REFGUID guidProfiles
);
552 HRESULT GetActiveLanguageProfile
(
553 [in] REFCLSID rclsid
,
554 [out] LANGID
*plangid
,
555 [out] GUID
*pguidProfile
);
557 HRESULT GetLanguageProfileDescription
(
558 [in] REFCLSID rclsid
,
560 [in] REFGUID guidProfile
,
561 [out] BSTR *pbstrProfile
);
563 HRESULT GetCurrentLanguage
(
564 [out] LANGID
*plangid
);
566 HRESULT ChangeCurrentLanguage
(
569 HRESULT GetLanguageList
(
570 [out] LANGID
**ppLangId
,
571 [out] ULONG
*pulCount
);
573 HRESULT EnumLanguageProfiles
(
575 [out] IEnumTfLanguageProfiles
**ppEnum
);
577 HRESULT EnableLanguageProfile
(
578 [in] REFCLSID rclsid
,
580 [in] REFGUID guidProfile
,
583 HRESULT IsEnabledLanguageProfile
(
584 [in] REFCLSID rclsid
,
586 [in] REFGUID guidProfile
,
587 [out] BOOL
*pfEnable
);
589 HRESULT EnableLanguageProfileByDefault
(
590 [in] REFCLSID rclsid
,
592 [in] REFGUID guidProfile
,
595 HRESULT SubstituteKeyboardLayout
(
596 [in] REFCLSID rclsid
,
598 [in] REFGUID guidProfile
,
602 typedef [uuid(44d2825a
-10e5
-43b2
-877f
-6cb2f43b7e7e
)]
603 struct TF_INPUTPROCESSORPROFILE
{
613 } TF_INPUTPROCESSORPROFILE
;
617 uuid(71c6e74d
-0f28
-11d8
-a82a
-00065b84435c
),
618 pointer_default(unique)
620 interface IEnumTfInputProcessorProfiles
: IUnknown
623 [out] IEnumTfInputProcessorProfiles
**ppEnum
);
627 [out, size_is(ulCount
), length_is(*pcFetch
)] TF_INPUTPROCESSORPROFILE
*pProfile
,
628 [out] ULONG
*pcFetch
);
638 uuid(71c6e74c
-0f28
-11d8
-a82a
-00065b84435c
),
639 pointer_default(unique)
641 interface ITfInputProcessorProfileMgr
: IUnknown
643 HRESULT ActivateProfile
(
644 [in] DWORD dwProfileType
,
647 [in] REFGUID guidProfile
,
651 HRESULT DeactivateProfile
(
652 [in] DWORD dwProfileType
,
655 [in] REFGUID guidProfile
,
660 [in] DWORD dwProfileType
,
663 [in] REFGUID guidProfile
,
665 [out] TF_INPUTPROCESSORPROFILE
*pProfile
);
668 HRESULT EnumProfiles
(
670 [out] IEnumTfInputProcessorProfiles
**ppEnum
);
672 HRESULT ReleaseInputProcessor
(
673 [in] REFCLSID rclsid
,
676 HRESULT RegisterProfile
(
677 [in] REFCLSID rclsid
,
679 [in] REFGUID guidProfile
,
680 [in, size_is(cchDesc
)] const WCHAR
*pchDesc
,
682 [in, size_is(cchFile
)] const WCHAR
*pchIconFile
,
684 [in] ULONG uIconIndex
,
685 [in] HKL hklsubstitute
,
686 [in] DWORD dwPreferredLayout
,
687 [in] BOOL bEnabledByDefault
,
690 HRESULT UnregisterProfile
(
691 [in] REFCLSID rclsid
,
693 [in] REFGUID guidProfile
,
696 HRESULT GetActiveProfile
(
698 [out] TF_INPUTPROCESSORPROFILE
*pProfile
);
701 typedef [uuid(c4cc07f1
-80cc
-4a7b
-bc54
-98512782cbe3
)]
710 typedef [uuid(d9b92e21
-084a
-401b
-9c64
-1e6dad91a1ab
)]
717 typedef [uuid(90d0cb5e
-6520
-4a0f
-b47c
-c39bd955f0d6
)]
719 TF_DA_COLORTYPE type
;
720 [switch_type(TF_DA_COLORTYPE
), switch_is(type
)]
722 [case(TF_CT_SYSCOLOR
)] int nIndex
;
723 [case(TF_CT_COLORREF
)] COLORREF cr
;
727 typedef [uuid(33d2fe4b
-6c24
-4f67
-8d75
-3bc1819e4126
)]
730 TF_ATTR_TARGET_CONVERTED
= 1,
731 TF_ATTR_CONVERTED
= 2,
732 TF_ATTR_TARGET_NOTCONVERTED
= 3,
733 TF_ATTR_INPUT_ERROR
= 4,
734 TF_ATTR_FIXEDCONVERTED
= 5,
738 typedef [uuid(1bf1c305
-419b
-4182-a4d2
-9bfadc3f021f
)]
739 struct TF_DISPLAYATTRIBUTE
{
742 TF_DA_LINESTYLE lsStyle
;
745 TF_DA_ATTR_INFO bAttr
;
746 } TF_DISPLAYATTRIBUTE
;
750 uuid(70528852-2f26
-4aea
-8c96
-215150578932),
751 pointer_default(unique)
753 interface ITfDisplayAttributeInfo
: IUnknown
755 HRESULT GetGUID
([out] GUID
*pguid
);
757 HRESULT GetDescription
([out] BSTR *pbstrDesc
);
759 HRESULT GetAttributeInfo
([out] TF_DISPLAYATTRIBUTE
*pda
);
761 HRESULT SetAttributeInfo
([in] const TF_DISPLAYATTRIBUTE
*pda
);
768 uuid(7cef04d7
-cb75
-4e80
-a7ab
-5f5bc7d332de
),
769 pointer_default(unique)
771 interface IEnumTfDisplayAttributeInfo
: IUnknown
773 HRESULT Clone
([out] IEnumTfDisplayAttributeInfo
**ppEnum
);
777 [out, size_is(ulCount
), length_is(*pcFetched
)] ITfDisplayAttributeInfo
**rgInfo
,
778 [out] ULONG
*pcFetched
);
782 HRESULT Skip
([in] ULONG ulCount
);
788 uuid(8ded7393
-5db1
-475c
-9e71
-a39111b0ff67
),
789 pointer_default(unique)
791 interface ITfDisplayAttributeMgr
: IUnknown
793 HRESULT OnUpdateInfo
();
795 HRESULT EnumDisplayAttributeInfo
([out] IEnumTfDisplayAttributeInfo
**ppEnum
);
797 HRESULT GetDisplayAttributeInfo
(
799 [out] ITfDisplayAttributeInfo
**ppInfo
,
800 [out] CLSID
*pclsidOwner
);
807 uuid(c3acefb5
-f69d
-4905-938f
-fcadcf4be830
),
808 pointer_default(unique)
810 interface ITfCategoryMgr
: IUnknown
812 HRESULT RegisterCategory
([in] REFCLSID rclsid
,
816 HRESULT UnregisterCategory
([in] REFCLSID rclsid
,
820 HRESULT EnumCategoriesInItem
([in] REFGUID rguid
,
821 [out] IEnumGUID
**ppEnum
);
823 HRESULT EnumItemsInCategory
([in] REFGUID rcatid
,
824 [out] IEnumGUID
**ppEnum
);
826 HRESULT FindClosestCategory
([in] REFGUID rguid
,
828 [in, size_is(ulCount
)] const GUID
**ppcatidList
,
831 HRESULT RegisterGUIDDescription
([in] REFCLSID rclsid
,
833 [in, size_is(cch
)] const WCHAR
*pchDesc
,
836 HRESULT UnregisterGUIDDescription
([in] REFCLSID rclsid
,
839 HRESULT GetGUIDDescription
([in] REFGUID rguid
,
840 [out] BSTR *pbstrDesc
);
842 HRESULT RegisterGUIDDWORD
([in] REFCLSID rclsid
,
846 HRESULT UnregisterGUIDDWORD
([in] REFCLSID rclsid
,
849 HRESULT GetGUIDDWORD
([in] REFGUID rguid
,
852 HRESULT RegisterGUID
([in] REFGUID rguid
,
853 [out] TfGuidAtom
*pguidatom
);
855 HRESULT GetGUID
([in] TfGuidAtom guidatom
,
858 HRESULT IsEqualTfGuidAtom
([in] TfGuidAtom guidatom
,
860 [out] BOOL
*pfEqual
);
865 uuid(f99d3f40
-8e32
-11d2
-bf46
-00105a2799b5
),
866 pointer_default(unique)
868 interface IEnumTfRanges
: IUnknown
870 HRESULT Clone
([out] IEnumTfRanges
**ppEnum
);
874 [out, size_is(ulCount
), length_is(*pcFetched
)] ITfRange
**ppRange
,
875 [out] ULONG
*pcFetched
);
879 HRESULT Skip
(ULONG ulCount
);
884 uuid(42d4d099
-7c1a
-4a89
-b836
-6c6f22160df0
),
885 pointer_default(unique)
887 interface ITfEditRecord
: IUnknown
889 const DWORD TF_GTP_INCL_TEXT
= 0x1;
891 HRESULT GetSelectionStatus
(
892 [out] BOOL
*changed
);
894 HRESULT GetTextAndPropertyUpdates
(
896 [in, size_is(count
)] const GUID
**props
,
898 [out] IEnumTfRanges
**ret
);
903 uuid(8127d409
-ccd3
-4683-967a
-b43d5b482bf7
),
904 pointer_default(unique)
906 interface ITfTextEditSink
: IUnknown
909 [in] ITfContext
*pic
,
910 [in] TfEditCookie ecReadOnly
,
911 [in] ITfEditRecord
*pEditRecord
);
916 uuid(5F20AA40
-B57A
-4F34
-96AB
-3576F377CC79
),
917 pointer_default(unique)
919 interface ITfContextOwnerCompositionSink
: IUnknown
921 HRESULT OnStartComposition
(
922 [in] ITfCompositionView
*pComposition
,
925 HRESULT OnUpdateComposition
(
926 [in] ITfCompositionView
*pComposition
,
927 [in] ITfRange
*pRangeNew
);
929 HRESULT OnEndComposition
(
930 [in] ITfCompositionView
*pComposition
);
935 uuid(b246cb75
-a93e
-4652
-bf8c
-b3fe0cfd7e57
),
936 pointer_default(unique)
938 interface ITfActiveLanguageProfileNotifySink
: IUnknown
942 [in] REFGUID guidProfile
,
943 [in] BOOL fActivated
);
948 uuid(3d61bf11
-ac5f
-42c8
-a4cb
-931bcc28c744
),
949 pointer_default(unique)
951 interface IEnumTfLanguageProfiles
: IUnknown
954 [out] IEnumTfLanguageProfiles
**ppEnum
);
958 [out, size_is(ulCount
), length_is(*pcFetch
)] TF_LANGUAGEPROFILE
*pProfile
,
959 [out] ULONG
*pcFetch
);
970 uuid(aa80e7f7
-2021-11d2
-93e0
-0060b067b86e
),
971 pointer_default(unique)
973 interface ITfTextInputProcessor
: IUnknown
976 [in] ITfThreadMgr
*ptim
,
977 [in] TfClientId tid
);
979 HRESULT Deactivate
();
984 uuid(aa80e80e
-2021
-11d2
-93e0
-0060b067b86e
),
985 pointer_default(unique)
987 interface ITfThreadMgrEventSink
: IUnknown
989 HRESULT OnInitDocumentMgr
(
990 [in] ITfDocumentMgr
*pdim
);
992 HRESULT OnUninitDocumentMgr
(
993 [in] ITfDocumentMgr
*pdim
);
996 [in] ITfDocumentMgr
*pdimFocus
,
997 [in] ITfDocumentMgr
*pdimPrevFocus
);
999 HRESULT OnPushContext
(
1000 [in] ITfContext
*pic
);
1002 HRESULT OnPopContext
(
1003 [in] ITfContext
*pic
);
1009 uuid(aa80e7f0
-2021-11d2
-93e0
-0060b067b86e
),
1010 pointer_default(unique)
1012 interface ITfKeystrokeMgr
: IUnknown
1014 HRESULT AdviseKeyEventSink
(
1015 [in] TfClientId tid
,
1016 [in] ITfKeyEventSink
*pSink
,
1017 [in] BOOL fForeground
);
1019 HRESULT UnadviseKeyEventSink
(
1020 [in] TfClientId tid
);
1022 HRESULT GetForeground
(
1023 [out] CLSID
*pclsid
);
1025 HRESULT TestKeyDown
(
1028 [out] BOOL
*pfEaten
);
1033 [out] BOOL
*pfEaten
);
1038 [out] BOOL
*pfEaten
);
1043 [out] BOOL
*pfEaten
);
1045 HRESULT GetPreservedKey
(
1046 [in] ITfContext
*pic
,
1047 [in] const TF_PRESERVEDKEY
*pprekey
,
1050 HRESULT IsPreservedKey
(
1052 [in] const TF_PRESERVEDKEY
*pprekey
,
1053 [out] BOOL
*pfRegistered
);
1055 HRESULT PreserveKey
(
1056 [in] TfClientId tid
,
1058 [in] const TF_PRESERVEDKEY
*prekey
,
1059 [in, size_is(cchDesc
)] const WCHAR
*pchDesc
,
1060 [in] ULONG cchDesc
);
1062 HRESULT UnpreserveKey
(
1064 [in] const TF_PRESERVEDKEY
*pprekey
);
1066 HRESULT SetPreservedKeyDescription
(
1068 [in, size_is(cchDesc
)] const WCHAR
*pchDesc
,
1069 [in] ULONG cchDesc
);
1071 HRESULT GetPreservedKeyDescription
(
1073 [out] BSTR *pbstrDesc
);
1075 HRESULT SimulatePreservedKey
(
1076 [in] ITfContext
*pic
,
1078 [out] BOOL
*pfEaten
);
1084 uuid(aa80e7f5
-2021-11d2
-93e0
-0060b067b86e
),
1085 pointer_default(unique)
1087 interface ITfKeyEventSink
: IUnknown
1090 [in] BOOL fForeground
);
1092 HRESULT OnTestKeyDown
(
1093 [in] ITfContext
*pic
,
1096 [out] BOOL
*pfEaten
);
1098 HRESULT OnTestKeyUp
(
1099 [in] ITfContext
*pic
,
1102 [out] BOOL
*pfEaten
);
1105 [in] ITfContext
*pic
,
1108 [out] BOOL
*pfEaten
);
1111 [in] ITfContext
*pic
,
1114 [out] BOOL
*pfEaten
);
1116 HRESULT OnPreservedKey
(
1117 [in] ITfContext
*pic
,
1119 [out] BOOL
*pfEaten
);
1125 uuid(1cd4c13b
-1c36
-4191-a70a
-7f3e611f367d
),
1126 pointer_default(unique)
1128 interface ITfKeyTraceEventSink
: IUnknown
1130 HRESULT OnKeyTraceDown
(
1132 [in] LPARAM lParam
);
1134 HRESULT OnKeyTraceUp
(
1136 [in] LPARAM lParam
);
1142 uuid(ea1ea136
-19df
-11d7
-a6d2
-00065b84435c
),
1143 pointer_default(unique)
1145 interface ITfUIElementSink
: IUnknown
1147 HRESULT BeginUIElement
(
1149 [in, out] BOOL
*show
);
1151 HRESULT UpdateUIElement
(
1154 HRESULT EndUIElement
(
1161 uuid(8f1b8ad8
-0b6b
-4874-90c5
-bd76011e8f7c
),
1162 pointer_default(unique)
1164 interface ITfMessagePump
: IUnknown
1166 HRESULT PeekMessageA
(
1169 [in] UINT wMsgFilterMin
,
1170 [in] UINT wMsgFilterMax
,
1171 [in] UINT wRemoveMsg
,
1172 [out] BOOL
*pfResult
);
1174 HRESULT GetMessageA
(
1177 [in] UINT wMsgFilterMin
,
1178 [in] UINT wMsgFilterMax
,
1179 [out] BOOL
*pfResult
);
1181 HRESULT PeekMessageW
(
1184 [in] UINT wMsgFilterMin
,
1185 [in] UINT wMsgFilterMax
,
1186 [in] UINT wRemoveMsg
,
1187 [out] BOOL
*pfResult
);
1189 HRESULT GetMessageW
(
1192 [in] UINT wMsgFilterMin
,
1193 [in] UINT wMsgFilterMax
,
1194 [out] BOOL
*pfResult
);
1200 uuid(d60a7b49
-1b9f
-4be2
-b702
-47e9dc05dec3
),
1201 pointer_default(unique)
1203 interface ITfClientId
: IUnknown
1205 HRESULT GetClientId
(
1206 [in] REFCLSID rclsid
,
1207 [out] TfClientId
*ptid
);
1212 uuid(43c9fe15
-f494
-4c17
-9de2
-b8a4ac350aa8
),
1213 pointer_default(unique)
1215 interface ITfLanguageProfileNotifySink
: IUnknown
1217 HRESULT OnLanguageChange
(
1219 [out] BOOL
*pfAccept
);
1221 HRESULT OnLanguageChanged
();
1226 uuid(aa80e803
-2021-11d2
-93e0
-0060b067b86e
),
1227 pointer_default(unique)
1229 interface ITfEditSession
: IUnknown
1231 HRESULT DoEditSession
(
1232 [in] TfEditCookie ec
);
1237 uuid(aa80e7ff
-2021-11d2
-93e0
-0060b067b86e
),
1238 pointer_default(unique)
1240 interface ITfRange
: IUnknown
1242 const WCHAR TF_CHAR_EMBEDDED
= TS_CHAR_EMBEDDED
;
1244 typedef [uuid(cf610f06
-2882-46f6
-abe5
-298568b664c4
)] enum { TF_GRAVITY_BACKWARD
= 0, TF_GRAVITY_FORWARD
= 1 } TfGravity
;
1246 typedef [uuid(1e512533
-bbdc
-4530-9a8e
-a1dc0af67468
)] enum { TF_SD_BACKWARD
= 0, TF_SD_FORWARD
= 1 } TfShiftDir
;
1248 const DWORD TF_HF_OBJECT
= 1;
1249 const DWORD TF_TF_MOVESTART
= 1;
1250 const DWORD TF_TF_IGNOREEND
= 2;
1251 const DWORD TF_ST_CORRECTION
= 1;
1252 const DWORD TF_IE_CORRECTION
= 1;
1254 typedef [uuid(49930d51
-7d93
-448c
-a48c
-fea5dac192b1
)] struct TF_HALTCOND
1256 ITfRange
*pHaltRange
;
1262 [in] TfEditCookie ec
,
1264 [out, size_is(cchMax
), length_is(*pcch
)] WCHAR
*pchText
,
1269 [in] TfEditCookie ec
,
1271 [in, size_is(cch
), unique] const WCHAR
*pchText
,
1274 HRESULT GetFormattedText
(
1275 [in] TfEditCookie ec
,
1276 [out] IDataObject
**ppDataObject
);
1278 HRESULT GetEmbedded
(
1279 [in] TfEditCookie ec
,
1280 [in] REFGUID rguidService
,
1282 [out, iid_is(riid
)] IUnknown
**ppunk
);
1284 HRESULT InsertEmbedded
(
1285 [in] TfEditCookie ec
,
1287 [in] IDataObject
*pDataObject
);
1290 [in] TfEditCookie ec
,
1293 [in, unique] const TF_HALTCOND
*pHalt
);
1296 [in] TfEditCookie ec
,
1299 [in, unique] const TF_HALTCOND
*pHalt
);
1301 HRESULT ShiftStartToRange
(
1302 [in] TfEditCookie ec
,
1303 [in] ITfRange
*pRange
,
1304 [in] TfAnchor aPos
);
1306 HRESULT ShiftEndToRange
(
1307 [in] TfEditCookie ec
,
1308 [in] ITfRange
*pRange
,
1309 [in] TfAnchor aPos
);
1311 HRESULT ShiftStartRegion
(
1312 [in] TfEditCookie ec
,
1313 [in] TfShiftDir dir
,
1314 [out] BOOL
*pfNoRegion
);
1316 HRESULT ShiftEndRegion
(
1317 [in] TfEditCookie ec
,
1318 [in] TfShiftDir dir
,
1319 [out] BOOL
*pfNoRegion
);
1322 [in] TfEditCookie ec
,
1323 [out] BOOL
*pfEmpty
);
1326 [in] TfEditCookie ec
,
1327 [in] TfAnchor aPos
);
1329 HRESULT IsEqualStart
(
1330 [in] TfEditCookie ec
,
1331 [in] ITfRange
*pWith
,
1333 [out] BOOL
*pfEqual
);
1336 [in] TfEditCookie ec
,
1337 [in] ITfRange
*pWith
,
1339 [out] BOOL
*pfEqual
);
1341 HRESULT CompareStart
(
1342 [in] TfEditCookie ec
,
1343 [in] ITfRange
*pWith
,
1345 [out] LONG *plResult
);
1348 [in] TfEditCookie ec
,
1349 [in] ITfRange
*pWith
,
1351 [out] LONG *plResult
);
1353 HRESULT AdjustForInsert
(
1354 [in] TfEditCookie ec
,
1355 [in] ULONG cchInsert
,
1356 [out] BOOL
*pfInsertOk
);
1359 [out] TfGravity
*pgStart
,
1360 [out] TfGravity
*pgEnd
);
1363 [in] TfEditCookie ec
,
1364 [in] TfGravity gStart
,
1365 [in] TfGravity gEnd
);
1368 [out] ITfRange
**ppClone
);
1371 [out] ITfContext
**ppContext
);
1376 uuid(057a6296
-029b
-4154-b79a
-0d461d4ea94c
),
1377 pointer_default(unique)
1379 interface ITfRangeACP
: ITfRange
1381 HRESULT GetExtent
([out] LONG *pacpAnchor
,
1384 HRESULT SetExtent
([in] LONG acpAnchor
,
1390 uuid(55ce16ba
-3014-41c1
-9ceb
-fade1446ac6c
),
1391 pointer_default(unique)
1393 interface ITfInsertAtSelection
: IUnknown
1395 const DWORD TF_IAS_NOQUERY
= 0x1;
1396 const DWORD TF_IAS_QUERYONLY
= 0x2;
1397 const DWORD TF_IAS_NO_DEFAULT_COMPOSITION
= 0x80000000;
1399 HRESULT InsertTextAtSelection
(
1400 [in] TfEditCookie ec
,
1402 [in, size_is(cch
)] const WCHAR
*pchText
,
1404 [out] ITfRange
**ppRange
);
1406 HRESULT InsertEmbeddedAtSelection
(
1407 [in] TfEditCookie ec
,
1409 [in] IDataObject
*pDataObject
,
1410 [out] ITfRange
**ppRange
);
1415 uuid(6834b120
-88cb
-11d2
-bf45
-00105a2799b5
),
1416 pointer_default(unique)
1418 interface ITfPropertyStore
: IUnknown
1420 const DWORD TF_TU_CORRECTION
= 0x1;
1422 HRESULT GetType
([out] GUID
*pguid
);
1424 HRESULT GetDataType
([out] DWORD
*pdwReserved
);
1426 HRESULT GetData
([out] VARIANT *pvarValue
);
1428 HRESULT OnTextUpdated
(
1430 [in] ITfRange
*pRangeNew
,
1431 [out] BOOL
*pfAccept
);
1434 [in] ITfRange
*pRangeNew
,
1435 [out] BOOL
*pfFree
);
1438 [in] ITfRange
*pRangeThis
,
1439 [in] ITfRange
*pRangeNew
,
1440 [out] ITfPropertyStore
**ppPropStore
);
1443 [out] ITfPropertyStore
**pPropStore
);
1445 HRESULT GetPropertyRangeCreator
(
1446 [out] CLSID
*pclsid
);
1449 [in] IStream
*pStream
,
1455 uuid(5efd22Ba
-7838-46cb
-88e2
-cadb14124f8f
),
1456 pointer_default(unique)
1458 interface IEnumITfCompositionView
: IUnknown
1460 HRESULT Clone
([out] IEnumITfCompositionView
**ppEnum
);
1464 [out, size_is(ulCount
), length_is(*pcFetched
)] ITfCompositionView
**rgCompositionView
,
1465 [out] ULONG
*pcFetched
);
1469 HRESULT Skip
([in] ULONG ulCount
);
1474 uuid(20168d64
-5a8f
-4a5a
-b7bd
-cfa29f4D0fd9
),
1475 pointer_default(unique)
1477 interface ITfComposition
: IUnknown
1479 HRESULT GetRange
([out] ITfRange
**ppRange
);
1482 [in] TfEditCookie ecWrite
,
1483 [in] ITfRange
*pNewStart
);
1486 [in] TfEditCookie ecWrite
,
1487 [in] ITfRange
*pNewEnd
);
1489 HRESULT EndComposition
([in] TfEditCookie ecWrite
);
1494 uuid(a781718c
-579a
-4b15
-a280
-32b8577acc5e
),
1495 pointer_default(unique)
1497 interface ITfCompositionSink
: IUnknown
1499 HRESULT OnCompositionTerminated
(
1500 [in] TfEditCookie ecWrite
,
1501 [in] ITfComposition
*pComposition
);
1506 uuid(d40C8aae
-aC92
-4fc7
-9a11
-0ee0e23aa39b
),
1507 pointer_default(unique)
1509 interface ITfContextComposition
: IUnknown
1511 HRESULT StartComposition
(
1512 [in] TfEditCookie ecWrite
,
1513 [in] ITfRange
*pCompositionRange
,
1514 [in] ITfCompositionSink
*pSink
,
1515 [out] ITfComposition
**ppComposition
);
1517 HRESULT EnumCompositions
([out] IEnumITfCompositionView
**ppEnum
);
1519 HRESULT FindComposition
(
1520 [in] TfEditCookie ecRead
,
1521 [in] ITfRange
*pTestRange
,
1522 [out] IEnumITfCompositionView
**ppEnum
);
1524 HRESULT TakeOwnership
(
1525 [in] TfEditCookie ecWrite
,
1526 [in] ITfCompositionView
*pComposition
,
1527 [in] ITfCompositionSink
*pSink
,
1528 [out] ITfComposition
**ppComposition
);
1533 uuid(86462810-593b
-4916-9764-19c08e9ce110
),
1534 pointer_default(unique)
1536 interface ITfContextOwnerCompositionServices
: ITfContextComposition
1538 HRESULT TerminateComposition
([in] ITfCompositionView
*pComposition
);
1543 uuid(4ef89150
-0807-11d3
-8df0
-00105a2799b5
),
1544 pointer_default(unique)
1546 interface ITfPersistentPropertyLoaderACP
: IUnknown
1548 HRESULT LoadProperty
(
1549 [in] const TF_PERSISTENT_PROPERTY_HEADER_ACP
*pHdr
,
1550 [out] IStream
**ppStream
);
1555 uuid(b23eb630
-3e1c
-11d3
-a745
-0050040ab407
),
1556 pointer_default(unique)
1558 interface ITfContextOwnerServices
: IUnknown
1560 HRESULT OnLayoutChange
();
1562 HRESULT OnStatusChange
([in] DWORD dwFlags
);
1564 HRESULT OnAttributeChange
([in] REFGUID rguidAttribute
);
1567 [in] ITfProperty
*pProp
,
1568 [in] ITfRange
*pRange
,
1569 [out] TF_PERSISTENT_PROPERTY_HEADER_ACP
*pHdr
,
1570 [in] IStream
*pStream
);
1572 HRESULT Unserialize
(
1573 [in] ITfProperty
*pProp
,
1574 [in] const TF_PERSISTENT_PROPERTY_HEADER_ACP
*pHdr
,
1575 [in] IStream
*pStream
,
1576 [in] ITfPersistentPropertyLoaderACP
*pLoader
);
1578 HRESULT ForceLoadProperty
([in] ITfProperty
*pProp
);
1580 HRESULT CreateRange
(
1583 [out] ITfRangeACP
**ppRange
);
1588 uuid(17d49a3d
-f8b8
-4b2f
-b254
-52319dd64c53
),
1589 pointer_default(unique)
1591 interface ITfReadOnlyProperty
: IUnknown
1593 HRESULT GetType
([out] GUID
*pguid
);
1596 [in] TfEditCookie ec
,
1597 [out] IEnumTfRanges
**ppEnum
,
1598 [in] ITfRange
*pTargetRange
);
1601 [in] TfEditCookie ec
,
1602 [in] ITfRange
*pRange
,
1603 [out] VARIANT *pvarValue
);
1605 HRESULT GetContext
([out] ITfContext
**ppContext
);
1610 uuid(e2449660
-9542-11d2
-bf46
-00105a2799b5
),
1611 pointer_default(unique)
1613 interface ITfProperty
: ITfReadOnlyProperty
1616 [in] TfEditCookie ec
,
1617 [in] ITfRange
*pRange
,
1618 [out] ITfRange
**ppRange
,
1619 [in] TfAnchor aPos
);
1621 HRESULT SetValueStore
(
1622 [in] TfEditCookie ec
,
1623 [in] ITfRange
*pRange
,
1624 [in] ITfPropertyStore
*pPropStore
);
1627 [in] TfEditCookie ec
,
1628 [in] ITfRange
*pRange
,
1629 [in] const VARIANT *pvarValue
);
1632 [in] TfEditCookie ec
,
1633 [in] ITfRange
*pRange
);
1638 uuid(bb08f7a9
-607a
-4384-8623-056892b64371
),
1639 pointer_default(unique)
1641 interface ITfCompartment
: IUnknown
1644 [in] TfClientId tid
,
1645 [in] const VARIANT *pvarValue
);
1648 [out] VARIANT *pvarValue
);
1653 uuid(7dcf57ac
-18ad
-438b
-824d
-979bffb74b7c
),
1654 pointer_default(unique)
1656 interface ITfCompartmentMgr
: IUnknown
1658 HRESULT GetCompartment
(
1660 [out] ITfCompartment
**ppcomp
);
1662 HRESULT ClearCompartment
(
1663 [in] TfClientId tid
,
1664 [in] REFGUID rguid
);
1666 HRESULT EnumCompartments
(
1667 [out] IEnumGUID
**ppEnum
);
1672 uuid(743abd5f
-f26d
-48df
-8cc5
-238492419b64
),
1673 pointer_default(unique)
1675 interface ITfCompartmentEventSink
: IUnknown
1678 [in] REFGUID rguid
);
1683 uuid(8f1a7ea6
-1654-4502-a86e
-b2902344d507
),
1684 pointer_default(unique)
1686 interface IEnumTfContexts
: IUnknown
1689 [out] IEnumTfContexts
**ppEnum
);
1693 [out, size_is(ulCount
), length_is(*pcFetched
)] ITfContext
**rgContext
,
1694 [out] ULONG
*pcFetched
);
1699 [in] ULONG ulCount
);
1704 uuid(aa80e808
-2021-11d2
-93e0
-0060b067b86e
),
1705 pointer_default(unique)
1707 interface IEnumTfDocumentMgrs
: IUnknown
1710 [out] IEnumTfDocumentMgrs
**ppEnum
);
1714 [out, size_is(ulCount
), length_is(*pcFetched
)] ITfDocumentMgr
**rgDocumentMgr
,
1715 [out] ULONG
*pcFetched
);
1720 [in] ULONG ulCount
);
1726 uuid(ea1ea137
-19df
-11d7
-a6d2
-00065b84435c
),
1727 pointer_default(unique)
1729 interface ITfUIElement
: IUnknown
1731 HRESULT GetDescription
(
1732 [out] BSTR *description
);
1747 uuid(887aa91e
-acba
-4931-84da
-3c5208cf543f
),
1748 pointer_default(unique)
1750 interface IEnumTfUIElements
: IUnknown
1753 [out] IEnumTfUIElements
**enum_elements
);
1757 [out, size_is(count
), length_is(fetched
)] ITfUIElement
**element
,
1758 [out] ULONG fetched
);
1769 uuid(ea1ea135
-19df
-11d7
-a6d2
-00065b84435c
),
1770 pointer_default(unique)
1772 interface ITfUIElementMgr
: IUnknown
1774 HRESULT BeginUIElement
(
1775 [in] ITfUIElement
*element
,
1776 [in, out] BOOL
*show
,
1779 HRESULT UpdateUIElement
(
1782 HRESULT EndUIElement
(
1785 HRESULT GetUIElement
(
1787 [out] ITfUIElement
**element
);
1789 HRESULT EnumUIElements
(
1790 [out] IEnumTfUIElements
**enum_elements
);
1795 uuid(73131f9c
-56a9
-49dd
-b0ee
-d046633f7528
),
1796 pointer_default(unique)
1798 interface ITfSourceSingle
: IUnknown
1800 HRESULT AdviseSingleSink
(
1801 [in] TfClientId tid
,
1803 [in, iid_is(riid
)] IUnknown
*punk
);
1805 HRESULT UnadviseSingleSink
(
1806 [in] TfClientId tid
,
1813 uuid(c0f1db0c
-3a20
-405c
-a303
-96b6010a885f
),
1814 pointer_default(unique)
1816 interface ITfThreadFocusSink
: IUnknown
1818 HRESULT OnSetThreadFocus
();
1820 HRESULT OnKillThreadFocus
();
1825 uuid(71c6e74e
-0f28
-11d8
-a82a
-00065b84435c
),
1826 pointer_default(unique)
1828 interface ITfInputProcessorProfileActivationSink
: IUnknown
1830 HRESULT OnActivated
(
1831 [in] DWORD dwProfileType
,
1833 [in] REFCLSID clsid
,
1835 [in] REFGUID guidProfile
,
1837 [in] DWORD dwFlags
);
1843 uuid(a1adaaa2
-3a24
-449d
-ac96
-5183e7f5c217
),
1844 pointer_default(unique)
1846 interface ITfMouseSink
: IUnknown
1848 HRESULT OnMouseEvent
(
1850 [in] ULONG uQuadrant
,
1851 [in] DWORD dwBtnStatus
,
1852 [out] BOOL
*pfEaten
);
1857 uuid(09d146cd
-a544
-4132-925b
-7afa8ef322d0
),
1858 pointer_default(unique)
1860 interface ITfMouseTracker
: IUnknown
1862 HRESULT AdviseMouseSink
(
1863 [in] ITfRange
*range,
1864 [in] ITfMouseSink
*pSink
,
1865 [out] DWORD
*pdwCookie
);
1867 HRESULT UnadviseMouseSink
([in] DWORD dwCookie
);
1872 uuid(3bdd78e2
-c16e
-47fd
-b883
-ce6facc1a208
),
1873 pointer_default(unique)
1875 interface ITfMouseTrackerACP
: IUnknown
1877 HRESULT AdviseMouseSink
(
1878 [in] ITfRangeACP
*range,
1879 [in] ITfMouseSink
*pSink
,
1880 [out] DWORD
*pdwCookie
);
1882 HRESULT UnadviseMouseSink
([in] DWORD dwCookie
);
1888 uuid(a615096f
-1c57
-4813-8a15
-55ee6e5a839c
),
1889 pointer_default(unique)
1891 interface ITfTransitoryExtensionSink
: IUnknown
1893 HRESULT OnTransitoryExtensionUpdated
(
1894 [in] ITfContext
*pic
,
1895 [in] TfEditCookie ecReadOnly
,
1896 [in] ITfRange
*pResultRange
,
1897 [in] ITfRange
*pCompositionRange
,
1898 [out] BOOL
*pfDeleteResultRange
);