26cpp_quote(
"#define TF_E_ALREADY_EXISTS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0506)")
27cpp_quote("
#define TF_E_COMPOSITION_REJECTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0508)")
28cpp_quote("#define TF_E_DISCONNECTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0504)")
29cpp_quote("#define TF_E_EMPTYCONTEXT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0509)")
30cpp_quote("#define TF_E_FORMAT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x020A)")
31cpp_quote("#define TF_E_INVALIDPOINT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0207)")
32cpp_quote("#define TF_E_INVALIDPOS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0200)")
33cpp_quote("#define TF_E_INVALIDVIEW MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0505)")
34cpp_quote("#define TF_E_LOCKED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0500)")
35cpp_quote("#define TF_E_NOINTERFACE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0204)")
36cpp_quote("#define TF_E_NOLAYOUT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0206)")
37cpp_quote("#define TF_E_NOLOCK MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201)")
38cpp_quote("#define TF_E_NOOBJECT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0202)")
39cpp_quote("#define TF_E_NOPROVIDER MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0503)")
40cpp_quote("#define TF_E_NOSELECTION MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0205)")
41cpp_quote("#define TF_E_NOSERVICE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0203)")
42cpp_quote("#define TF_E_NOTOWNEDRANGE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0502)")
43cpp_quote("#define TF_E_RANGE_NOT_COVERED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0507)")
44cpp_quote("#define TF_E_READONLY MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0209)")
45cpp_quote("#define TF_E_STACKFULL MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0501)")
46cpp_quote("#define TF_E_SYNCHRONOUS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0208)")
47cpp_quote("#define TF_S_ASYNC MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0x0300)")
49cpp_quote("EXTERN_C HRESULT WINAPI TF_InitSystem(VOID);")
50cpp_quote("EXTERN_C HRESULT WINAPI TF_UninitSystem(VOID);")
51cpp_quote("EXTERN_C HRESULT WINAPI TF_GetGlobalCompartment(_Out_ ITfCompartmentMgr **ppCompMgr);")
52cpp_quote("EXTERN_C HRESULT WINAPI TF_PostAllThreadMsg(DWORD dwUnknown1, DWORD dwUnknown2);")
53cpp_quote("EXTERN_C HRESULT WINAPI TF_CreateThreadMgr(_Out_ ITfThreadMgr **pptim);")
54cpp_quote("EXTERN_C HRESULT WINAPI TF_GetThreadMgr(_Out_ ITfThreadMgr **pptim);")
55cpp_quote("EXTERN_C HRESULT WINAPI TF_CreateInputProcessorProfiles(_Out_ ITfInputProcessorProfiles **ppipr);")
56cpp_quote("EXTERN_C HRESULT WINAPI TF_CreateLangBarMgr(_Out_ ITfLangBarMgr **pppbm);")
57cpp_quote("EXTERN_C HRESULT WINAPI TF_CreateLangBarItemMgr(_Out_ ITfLangBarItemMgr **pplbim);")
58cpp_quote("EXTERN_C HANDLE WINAPI TF_CreateCicLoadMutex(_Out_ LPBOOL pfWinLogon);")
59cpp_quote("EXTERN_C HRESULT WINAPI TF_InvalidAssemblyListCache(VOID);")
60cpp_quote("EXTERN_C HRESULT WINAPI TF_InvalidAssemblyListCacheIfExist(VOID);")
61cpp_quote("EXTERN_C HRESULT WINAPI TF_DllDetachInOther(VOID);")
62cpp_quote("EXTERN_C HRESULT WINAPI TF_CreateCategoryMgr(_Out_ ITfCategoryMgr **ppcat);")
63cpp_quote("EXTERN_C HRESULT WINAPI TF_CreateDisplayAttributeMgr(_Out_ ITfDisplayAttributeMgr **ppdam);")
64cpp_quote("EXTERN_C HICON WINAPI TF_GetLangIcon(_In_ LANGID LangID, _Out_ LPWSTR pszText, _In_ INT cchText);")
65cpp_quote("EXTERN_C VOID WINAPI TF_InitMlngInfo(VOID);")
66cpp_quote("EXTERN_C INT WINAPI TF_MlngInfoCount(VOID);")
67cpp_quote("EXTERN_C BOOL WINAPI TF_GetMlngHKL(_In_ INT iKL, _Out_opt_ HKL *phKL, _Out_opt_ LPWSTR pszText, _In_ INT cchText);")
68cpp_quote("EXTERN_C INT WINAPI TF_GetMlngIconIndex(_In_ INT iKL);")
69cpp_quote("EXTERN_C HICON WINAPI TF_InatExtractIcon(_In_ INT iKL);")
70cpp_quote("EXTERN_C HRESULT WINAPI TF_RunInputCPL(VOID);")
71cpp_quote("EXTERN_C BOOL WINAPI TF_GetThreadFlags(_In_ DWORD dwThreadId, _Out_ LPDWORD pdwFlags1, _Out_ LPDWORD pdwFlags2, _Out_ LPDWORD pdwFlags3);")
72cpp_quote("EXTERN_C LONG WINAPI TF_CheckThreadInputIdle(_In_ DWORD dwThreadId, _In_ DWORD dwMilliseconds);")
73cpp_quote("EXTERN_C BOOL WINAPI TF_IsInMarshaling(_In_ DWORD dwThreadId);")
75cpp_quote("EXTERN_C const GUID GUID_PROP_TEXTOWNER;")
76cpp_quote("EXTERN_C const GUID GUID_PROP_ATTRIBUTE;")
77cpp_quote("EXTERN_C const GUID GUID_PROP_LANGID;")
78cpp_quote("EXTERN_C const GUID GUID_PROP_READING;")
79cpp_quote("EXTERN_C const GUID GUID_PROP_COMPOSING;")
81cpp_quote("EXTERN_C const CLSID CLSID_TF_ThreadMgr;")
82cpp_quote("EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles;")
83cpp_quote("EXTERN_C const CLSID CLSID_TF_LangBarMgr;")
84cpp_quote("EXTERN_C const CLSID CLSID_TF_CategoryMgr;")
85cpp_quote("EXTERN_C const CLSID CLSID_TF_DisplayAttributeMgr;")
87/* GUIDs for Compartments */
88cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_DISABLED;")
89cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_OPENCLOSE;")
90cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_HANDWRITING_OPENCLOSE;")
91cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_DISABLED;")
92cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_OPENCLOSE;")
93cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_GLOBALSTATE;")
94cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_PERSISTMENUENABLED;")
95cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_EMPTYCONTEXT;")
96cpp_quote("EXTERN_C const GUID GUID_COMPARTMENT_TIPUISTATUS;")
98/* GUIDs for Categories */
99cpp_quote("EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD;")
100cpp_quote("EXTERN_C const GUID GUID_TFCAT_TIP_SPEECH;")
101cpp_quote("EXTERN_C const GUID GUID_TFCAT_TIP_HANDWRITING;")
102cpp_quote("EXTERN_C const GUID GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER;")
104typedef [uuid(7213778c-7bb0-4270-b050-6189ee594e97)] DWORD TfEditCookie;
105typedef [uuid(de403c21-89fd-4f85-8b87-64584d063fbc)] DWORD TfClientId;
106typedef [uuid(88a9c478-f3ec-4763-8345-cd9250443f8d)] DWORD TfGuidAtom;
108cpp_quote("#define TF_MOD_ALT 0x0001")
109cpp_quote("#define TF_MOD_CONTROL 0x0002")
110cpp_quote("#define TF_MOD_SHIFT 0x0004")
111cpp_quote("#define TF_MOD_RALT 0x0008")
112cpp_quote("#define TF_MOD_RCONTROL 0x0010")
113cpp_quote("#define TF_MOD_RSHIFT 0x0020")
114cpp_quote("#define TF_MOD_LALT 0x0040")
115cpp_quote("#define TF_MOD_LCONTROL 0x0080")
116cpp_quote("#define TF_MOD_LSHIFT 0x0100")
117cpp_quote("#define TF_MOD_ON_KEYUP 0x0200")
118cpp_quote("#define TF_MOD_IGNORE_ALL_MODIFIER 0x0400")
120cpp_quote("#define TF_PROFILETYPE_INPUTPROCESSOR 0x0001")
121cpp_quote("#define TF_PROFILETYPE_KEYBOARDLAYOUT 0x0002")
123cpp_quote("#define TF_IPSINK_FLAG_ACTIVE 0x0001")
125interface ITfDocumentMgr;
127interface IEnumTfDocumentMgrs;
128interface IEnumTfContexts;
129interface ITfCompartmentMgr;
130interface ITfEditSession;
132interface ITfProperty;
133interface ITfReadOnlyProperty;
134interface IEnumTfLanguageProfiles;
135interface ITfCompositionView;
136interface ITfKeyEventSink;
137interface ITfPersistentPropertyLoaderACP;
138interface ITfRangeACP;
139interface ITfCleanupContextSink;
140interface ITfTextLayoutSink;
143typedef [uuid(4f5d560f-5ab5-4dde-8c4d-404592857ab0)] UINT_PTR HKL;
146typedef [uuid(e26d9e1d-691e-4f29-90d7-338dcf1f8cef)] struct TF_PERSISTENT_PROPERTY_HEADER_ACP
154} TF_PERSISTENT_PROPERTY_HEADER_ACP;
156typedef [uuid(e1b5808d-1e46-4c19-84dc-68c5f5978cc8)] struct TF_LANGUAGEPROFILE
165typedef [uuid(77c12f95-b783-450d-879f-1cd2362c6521)] struct TF_PRESERVEDKEY
171typedef [uuid(5a886226-ae9a-489b-b991-2b1e25ee59a9)] enum { TF_ANCHOR_START = 0, TF_ANCHOR_END = 1 } TfAnchor;
175 uuid(101d6610-0990-11d3-8df0-00105a2799b5),
176 pointer_default(unique)
178interface ITfFunctionProvider : IUnknown
183 HRESULT GetDescription(
189 [out, iid_is(riid)] IUnknown **func);
194 uuid(e4b24db0-0990-11d3-8df0-00105a2799b5),
195 pointer_default(unique)
197interface IEnumTfFunctionProviders : IUnknown
200 [out] IEnumTfFunctionProviders **ret);
204 [out, size_is(count), length_is(*fetched)] ITfFunctionProvider **prov,
205 [out] ULONG *fetched);
215 uuid(aa80e801-2021-11d2-93e0-0060b067b86e),
216 pointer_default(unique)
218interface ITfThreadMgr: IUnknown
221 [out] TfClientId *ptid);
223 HRESULT Deactivate();
225 HRESULT CreateDocumentMgr(
226 [out] ITfDocumentMgr **ppdim);
228 HRESULT EnumDocumentMgrs(
229 [out] IEnumTfDocumentMgrs **ppEnum);
232 [out] ITfDocumentMgr **ppdimFocus);
235 [in] ITfDocumentMgr *pdimFocus);
237 HRESULT AssociateFocus(
239 [in, unique] ITfDocumentMgr *pdimNew,
240 [out] ITfDocumentMgr **ppdimPrev);
242 HRESULT IsThreadFocus(
243 [out] BOOL *pfThreadFocus);
245 HRESULT GetFunctionProvider(
247 [out] ITfFunctionProvider **ppFuncProv);
249 HRESULT EnumFunctionProviders(
250 [out] IEnumTfFunctionProviders **ppEnum);
252 HRESULT GetGlobalCompartment(
253 [out] ITfCompartmentMgr **ppCompMgr);
258 uuid(3e90ade3-7594-4cb0-bb58-69628f5f458c),
259 pointer_default(unique)
261interface ITfThreadMgrEx : ITfThreadMgr
264 [out] TfClientId *id,
266 HRESULT GetActiveFlags(
272 uuid(d7540241-f9a1-4364-befc-dbcd2c4395b7),
273 pointer_default(unique)
275interface ITfCompositionView : IUnknown
277 HRESULT GetOwnerClsid([out] CLSID *pclsid);
279 HRESULT GetRange([out] ITfRange **ppRange);
284 uuid(aa80e7f4-2021-11d2-93e0-0060b067b86e),
285 pointer_default(unique)
287interface ITfDocumentMgr: IUnknown
289 HRESULT CreateContext(
290 [in] TfClientId tidOwner,
292 [in, unique] IUnknown *punk,
293 [out] ITfContext **ppic,
294 [out] TfEditCookie *pecTextStore);
297 [in] ITfContext *pic);
299 const DWORD TF_POPF_ALL = 0x0001;
305 [out] ITfContext **ppic);
308 [out] ITfContext **ppic);
310 HRESULT EnumContexts(
311 [out] IEnumTfContexts **ppEnum);
316 uuid(2433bf8e-0f9b-435c-ba2c-180611978c30),
317 pointer_default(unique)
319interface ITfContextView : IUnknown
321 HRESULT GetRangeFromPoint(
322 [in] TfEditCookie cookie,
323 [in] const POINT *pt,
325 [out] ITfRange **range);
328 [in] TfEditCookie cookie,
329 [in] ITfRange *range,
331 [out] BOOL *clipped);
333 HRESULT GetScreenExt(
342 uuid(f0c0f8dd-cf38-44e1-bb0f-68cf0d551c78),
343 pointer_default(unique)
345interface IEnumTfContextViews : IUnknown
348 [out] IEnumTfContextViews **ret);
352 [out, size_is(count), length_is(*fetched)] ITfContextView **views,
353 [out] ULONG *fetched);
363 uuid(19188cb0-aca9-11d2-afc5-00105a2799b5),
364 pointer_default(unique)
366interface IEnumTfProperties : IUnknown
369 [out] IEnumTfProperties **ret);
373 [out, size_is(count), length_is(*fetched)] ITfProperty **props,
374 [out] ULONG *fetched);
384 uuid(463a506d-6992-49d2-9b88-93d55e70bb16),
385 pointer_default(unique)
387interface ITfRangeBackup : IUnknown
390 [in] TfEditCookie cookie,
391 [in] ITfRange *range);
396 uuid(aa80e901-2021-11d2-93e0-0060b067b86e),
397 pointer_default(unique)
399interface ITextStoreACPServices : IUnknown
402 [in] ITfProperty *prop,
403 [in] ITfRange *range,
404 [out] TF_PERSISTENT_PROPERTY_HEADER_ACP *header,
405 [in] IStream *stream);
408 [in] ITfProperty *prop,
409 [in] const TF_PERSISTENT_PROPERTY_HEADER_ACP *header,
410 [in] IStream *stream,
411 [in] ITfPersistentPropertyLoaderACP *loader);
413 HRESULT ForceLoadProperty(
414 [in] ITfProperty *prop);
419 [out] ITfRangeACP **range);
424 uuid(aa80e7fd-2021-11d2-93e0-0060b067b86e),
425 pointer_default(unique)
427interface ITfContext : IUnknown
429 const DWORD TF_ES_ASYNCDONTCARE = 0x0;
430 const DWORD TF_ES_SYNC = 0x1;
431 const DWORD TF_ES_READ = 0x2;
432 const DWORD TF_ES_READWRITE = 0x6;
433 const DWORD TF_ES_ASYNC = 0x8;
435 HRESULT RequestEditSession(
437 [in] ITfEditSession *pes,
439 [out] HRESULT *phrSession);
441 HRESULT InWriteSession(
443 [out] BOOL *pfWriteSession);
445 typedef [uuid(1690be9b-d3e9-49f6-8d8b-51b905af4c43)] enum { TF_AE_NONE, TF_AE_START, TF_AE_END } TfActiveSelEnd;
447 typedef [uuid(36ae42a4-6989-4bdc-b48a-6137b7bf2e42)] struct TF_SELECTIONSTYLE
453 typedef [uuid(75eb22f2-b0bf-46a8-8006-975a3b6efcf1)] struct TF_SELECTION
456 TF_SELECTIONSTYLE style;
459 const ULONG TF_DEFAULT_SELECTION = TS_DEFAULT_SELECTION;
461 HRESULT GetSelection(
462 [in] TfEditCookie ec,
465 [out, size_is(ulCount), length_is(*pcFetched)] TF_SELECTION *pSelection,
466 [out] ULONG *pcFetched);
468 HRESULT SetSelection(
469 [in] TfEditCookie ec,
471 [in, size_is(ulCount)] const TF_SELECTION *pSelection);
474 [in] TfEditCookie ec,
475 [out] ITfRange **ppStart);
478 [in] TfEditCookie ec,
479 [out] ITfRange **ppEnd);
481 typedef [uuid(bc7d979a-846a-444d-afef-0a9bfa82b961)] TS_STATUS TF_STATUS;
482 const DWORD TF_SD_READONLY = TS_SD_READONLY;
483 const DWORD TF_SD_LOADING = TS_SD_LOADING;
484 const DWORD TF_SS_DISJOINTSEL = TS_SS_DISJOINTSEL;
485 const DWORD TF_SS_REGIONS = TS_SS_REGIONS;
486 const DWORD TF_SS_TRANSITORY = TS_SS_TRANSITORY;
489 HRESULT GetActiveView(
490 [out] ITfContextView **ppView);
493 [out] IEnumTfContextViews **ppEnum);
496 [out] TF_STATUS *pdcs);
499 [in] REFGUID guidProp,
500 [out] ITfProperty **ppProp);
502 HRESULT GetAppProperty(
503 [in] REFGUID guidProp,
504 [out] ITfReadOnlyProperty **ppProp);
506 HRESULT TrackProperties(
507 [in, size_is(cProp)] const GUID **prgProp,
509 [in, size_is(cAppProp)] const GUID **prgAppProp,
511 [out] ITfReadOnlyProperty **ppProperty);
513 HRESULT EnumProperties(
514 [out] IEnumTfProperties **ppEnum);
516 HRESULT GetDocumentMgr(
517 [out] ITfDocumentMgr **ppDm);
519 HRESULT CreateRangeBackup(
520 [in] TfEditCookie ec,
521 [in] ITfRange *pRange,
522 [out] ITfRangeBackup **ppBackup);
525const DWORD TF_INVALID_COOKIE = 0xffffffff;
529 uuid(4ea48a35-60ae-446f-8fd6-e6a8d82459f7),
530 pointer_default(unique)
532interface ITfSource : IUnknown
536 [in, iid_is(riid)] IUnknown *punk,
537 [out] DWORD *pdwCookie);
539 HRESULT UnadviseSink(
540 [in] DWORD dwCookie);
546 uuid(1F02B6C5-7842-4EE6-8A0B-9A24183A95CA),
547 pointer_default(unique)
549interface ITfInputProcessorProfiles : IUnknown
552 [in] REFCLSID rclsid);
555 [in] REFCLSID rclsid);
557 HRESULT AddLanguageProfile(
558 [in] REFCLSID rclsid,
560 [in] REFGUID guidProfile,
561 [in, size_is(cchDesc)] const WCHAR *pchDesc,
563 [in, size_is(cchFile)] const WCHAR *pchIconFile,
565 [in] ULONG uIconIndex);
567 HRESULT RemoveLanguageProfile(
568 [in] REFCLSID rclsid,
570 [in] REFGUID guidProfile);
572 HRESULT EnumInputProcessorInfo(
573 [out] IEnumGUID **ppEnum);
575 HRESULT GetDefaultLanguageProfile(
579 [out] GUID *pguidProfile);
581 HRESULT SetDefaultLanguageProfile(
583 [in] REFCLSID rclsid,
584 [in] REFGUID guidProfiles);
586 HRESULT ActivateLanguageProfile(
587 [in] REFCLSID rclsid,
589 [in] REFGUID guidProfiles);
591 HRESULT GetActiveLanguageProfile(
592 [in] REFCLSID rclsid,
593 [out] LANGID *plangid,
594 [out] GUID *pguidProfile);
596 HRESULT GetLanguageProfileDescription(
597 [in] REFCLSID rclsid,
599 [in] REFGUID guidProfile,
600 [out] BSTR *pbstrProfile);
602 HRESULT GetCurrentLanguage(
603 [out] LANGID *plangid);
605 HRESULT ChangeCurrentLanguage(
608 HRESULT GetLanguageList(
609 [out] LANGID **ppLangId,
610 [out] ULONG *pulCount);
612 HRESULT EnumLanguageProfiles(
614 [out] IEnumTfLanguageProfiles **ppEnum);
616 HRESULT EnableLanguageProfile(
617 [in] REFCLSID rclsid,
619 [in] REFGUID guidProfile,
622 HRESULT IsEnabledLanguageProfile(
623 [in] REFCLSID rclsid,
625 [in] REFGUID guidProfile,
626 [out] BOOL *pfEnable);
628 HRESULT EnableLanguageProfileByDefault(
629 [in] REFCLSID rclsid,
631 [in] REFGUID guidProfile,
634 HRESULT SubstituteKeyboardLayout(
635 [in] REFCLSID rclsid,
637 [in] REFGUID guidProfile,
641typedef [uuid(44d2825a-10e5-43b2-877f-6cb2f43b7e7e)]
642struct TF_INPUTPROCESSORPROFILE {
652} TF_INPUTPROCESSORPROFILE;
656 uuid(71c6e74d-0f28-11d8-a82a-00065b84435c),
657 pointer_default(unique)
659interface IEnumTfInputProcessorProfiles : IUnknown
662 [out] IEnumTfInputProcessorProfiles **ppEnum);
666 [out, size_is(ulCount), length_is(*pcFetch)] TF_INPUTPROCESSORPROFILE *pProfile,
667 [out] ULONG *pcFetch);
677 uuid(71c6e74c-0f28-11d8-a82a-00065b84435c),
678 pointer_default(unique)
680interface ITfInputProcessorProfileMgr : IUnknown
682 HRESULT ActivateProfile(
683 [in] DWORD dwProfileType,
686 [in] REFGUID guidProfile,
690 HRESULT DeactivateProfile(
691 [in] DWORD dwProfileType,
694 [in] REFGUID guidProfile,
699 [in] DWORD dwProfileType,
702 [in] REFGUID guidProfile,
704 [out] TF_INPUTPROCESSORPROFILE *pProfile);
707 HRESULT EnumProfiles(
709 [out] IEnumTfInputProcessorProfiles **ppEnum);
711 HRESULT ReleaseInputProcessor(
712 [in] REFCLSID rclsid,
715 HRESULT RegisterProfile(
716 [in] REFCLSID rclsid,
718 [in] REFGUID guidProfile,
719 [in, size_is(cchDesc)] const WCHAR *pchDesc,
721 [in, size_is(cchFile)] const WCHAR *pchIconFile,
723 [in] ULONG uIconIndex,
724 [in] HKL hklsubstitute,
725 [in] DWORD dwPreferredLayout,
726 [in] BOOL bEnabledByDefault,
729 HRESULT UnregisterProfile(
730 [in] REFCLSID rclsid,
732 [in] REFGUID guidProfile,
735 HRESULT GetActiveProfile(
737 [out] TF_INPUTPROCESSORPROFILE *pProfile);
740typedef [uuid(c4cc07f1-80cc-4a7b-bc54-98512782cbe3)]
749typedef [uuid(d9b92e21-084a-401b-9c64-1e6dad91a1ab)]
756typedef [uuid(90d0cb5e-6520-4a0f-b47c-c39bd955f0d6)]
758 TF_DA_COLORTYPE type;
759 [switch_type(TF_DA_COLORTYPE), switch_is(type)]
761 [case(TF_CT_SYSCOLOR)] int nIndex;
762 [case(TF_CT_COLORREF)] COLORREF cr;
766typedef [uuid(33d2fe4b-6c24-4f67-8d75-3bc1819e4126)]
769 TF_ATTR_TARGET_CONVERTED = 1,
770 TF_ATTR_CONVERTED = 2,
771 TF_ATTR_TARGET_NOTCONVERTED = 3,
772 TF_ATTR_INPUT_ERROR = 4,
773 TF_ATTR_FIXEDCONVERTED = 5,
777typedef [uuid(1bf1c305-419b-4182-a4d2-9bfadc3f021f)]
778struct TF_DISPLAYATTRIBUTE {
781 TF_DA_LINESTYLE lsStyle;
784 TF_DA_ATTR_INFO bAttr;
785} TF_DISPLAYATTRIBUTE;
789 uuid(70528852-2f26-4aea-8c96-215150578932),
790 pointer_default(unique)
792interface ITfDisplayAttributeInfo : IUnknown
794 HRESULT GetGUID([out] GUID *pguid);
796 HRESULT GetDescription([out] BSTR *pbstrDesc);
798 HRESULT GetAttributeInfo([out] TF_DISPLAYATTRIBUTE *pda);
800 HRESULT SetAttributeInfo([in] const TF_DISPLAYATTRIBUTE *pda);
807 uuid(7cef04d7-cb75-4e80-a7ab-5f5bc7d332de),
808 pointer_default(unique)
810interface IEnumTfDisplayAttributeInfo : IUnknown
812 HRESULT Clone([out] IEnumTfDisplayAttributeInfo **ppEnum);
816 [out, size_is(ulCount), length_is(*pcFetched)] ITfDisplayAttributeInfo **rgInfo,
817 [out] ULONG *pcFetched);
821 HRESULT Skip([in] ULONG ulCount);
827 uuid(8ded7393-5db1-475c-9e71-a39111b0ff67),
828 pointer_default(unique)
830interface ITfDisplayAttributeMgr : IUnknown
832 HRESULT OnUpdateInfo();
834 HRESULT EnumDisplayAttributeInfo([out] IEnumTfDisplayAttributeInfo **ppEnum);
836 HRESULT GetDisplayAttributeInfo(
838 [out] ITfDisplayAttributeInfo **ppInfo,
839 [out] CLSID *pclsidOwner);
846 uuid(c3acefb5-f69d-4905-938f-fcadcf4be830),
847 pointer_default(unique)
849interface ITfCategoryMgr : IUnknown
851 HRESULT RegisterCategory([in] REFCLSID rclsid,
855 HRESULT UnregisterCategory([in] REFCLSID rclsid,
859 HRESULT EnumCategoriesInItem([in] REFGUID rguid,
860 [out] IEnumGUID **ppEnum);
862 HRESULT EnumItemsInCategory([in] REFGUID rcatid,
863 [out] IEnumGUID **ppEnum);
865 HRESULT FindClosestCategory([in] REFGUID rguid,
867 [in, size_is(ulCount)] const GUID **ppcatidList,
870 HRESULT RegisterGUIDDescription([in] REFCLSID rclsid,
872 [in, size_is(cch)] const WCHAR *pchDesc,
875 HRESULT UnregisterGUIDDescription([in] REFCLSID rclsid,
878 HRESULT GetGUIDDescription([in] REFGUID rguid,
879 [out] BSTR *pbstrDesc);
881 HRESULT RegisterGUIDDWORD([in] REFCLSID rclsid,
885 HRESULT UnregisterGUIDDWORD([in] REFCLSID rclsid,
888 HRESULT GetGUIDDWORD([in] REFGUID rguid,
891 HRESULT RegisterGUID([in] REFGUID rguid,
892 [out] TfGuidAtom *pguidatom);
894 HRESULT GetGUID([in] TfGuidAtom guidatom,
897 HRESULT IsEqualTfGuidAtom([in] TfGuidAtom guidatom,
899 [out] BOOL *pfEqual);
904 uuid(f99d3f40-8e32-11d2-bf46-00105a2799b5),
905 pointer_default(unique)
907interface IEnumTfRanges : IUnknown
909 HRESULT Clone([out] IEnumTfRanges **ppEnum);
913 [out, size_is(ulCount), length_is(*pcFetched)] ITfRange **ppRange,
914 [out] ULONG *pcFetched);
918 HRESULT Skip(ULONG ulCount);
923 uuid(42d4d099-7c1a-4a89-b836-6c6f22160df0),
924 pointer_default(unique)
926interface ITfEditRecord : IUnknown
928 const DWORD TF_GTP_INCL_TEXT = 0x1;
930 HRESULT GetSelectionStatus(
931 [out] BOOL *changed);
933 HRESULT GetTextAndPropertyUpdates(
935 [in, size_is(count)] const GUID **props,
937 [out] IEnumTfRanges **ret);
942 uuid(8127d409-ccd3-4683-967a-b43d5b482bf7),
943 pointer_default(unique)
945interface ITfTextEditSink : IUnknown
948 [in] ITfContext *pic,
949 [in] TfEditCookie ecReadOnly,
950 [in] ITfEditRecord *pEditRecord);
955 uuid(AA80E80C-2021-11D2-93E0-0060B067B86E),
956 pointer_default(unique)
958interface ITfContextOwner : IUnknown
960 HRESULT GetACPFromPoint(
961 [in] const POINT *ptScreen,
969 [out] BOOL *pfClipped);
971 HRESULT GetScreenExt(
975 [out] TF_STATUS *pdcs);
980 HRESULT GetAttribute(
981 [in] REFGUID rguidAttribute,
982 [out] VARIANT *pvarValue);
987 uuid(5F20AA40-B57A-4F34-96AB-3576F377CC79),
988 pointer_default(unique)
990interface ITfContextOwnerCompositionSink : IUnknown
992 HRESULT OnStartComposition(
993 [in] ITfCompositionView *pComposition,
996 HRESULT OnUpdateComposition(
997 [in] ITfCompositionView *pComposition,
998 [in] ITfRange *pRangeNew);
1000 HRESULT OnEndComposition(
1001 [in] ITfCompositionView *pComposition);
1006 uuid(b246cb75-a93e-4652-bf8c-b3fe0cfd7e57),
1007 pointer_default(unique)
1009interface ITfActiveLanguageProfileNotifySink : IUnknown
1011 HRESULT OnActivated(
1012 [in] REFCLSID clsid,
1013 [in] REFGUID guidProfile,
1014 [in] BOOL fActivated);
1019 uuid(3d61bf11-ac5f-42c8-a4cb-931bcc28c744),
1020 pointer_default(unique)
1022interface IEnumTfLanguageProfiles : IUnknown
1025 [out] IEnumTfLanguageProfiles **ppEnum);
1029 [out, size_is(ulCount), length_is(*pcFetch)] TF_LANGUAGEPROFILE *pProfile,
1030 [out] ULONG *pcFetch);
1035 [in] ULONG ulCount);
1041 uuid(aa80e7f7-2021-11d2-93e0-0060b067b86e),
1042 pointer_default(unique)
1044interface ITfTextInputProcessor : IUnknown
1047 [in] ITfThreadMgr *ptim,
1048 [in] TfClientId tid);
1050 HRESULT Deactivate();
1055 uuid(aa80e80e-2021-11d2-93e0-0060b067b86e),
1056 pointer_default(unique)
1058interface ITfThreadMgrEventSink : IUnknown
1060 HRESULT OnInitDocumentMgr(
1061 [in] ITfDocumentMgr *pdim);
1063 HRESULT OnUninitDocumentMgr(
1064 [in] ITfDocumentMgr *pdim);
1067 [in] ITfDocumentMgr *pdimFocus,
1068 [in] ITfDocumentMgr *pdimPrevFocus);
1070 HRESULT OnPushContext(
1071 [in] ITfContext *pic);
1073 HRESULT OnPopContext(
1074 [in] ITfContext *pic);
1080 uuid(aa80e7f0-2021-11d2-93e0-0060b067b86e),
1081 pointer_default(unique)
1083interface ITfKeystrokeMgr : IUnknown
1085 HRESULT AdviseKeyEventSink(
1086 [in] TfClientId tid,
1087 [in] ITfKeyEventSink *pSink,
1088 [in] BOOL fForeground);
1090 HRESULT UnadviseKeyEventSink(
1091 [in] TfClientId tid);
1093 HRESULT GetForeground(
1094 [out] CLSID *pclsid);
1096 HRESULT TestKeyDown(
1099 [out] BOOL *pfEaten);
1104 [out] BOOL *pfEaten);
1109 [out] BOOL *pfEaten);
1114 [out] BOOL *pfEaten);
1116 HRESULT GetPreservedKey(
1117 [in] ITfContext *pic,
1118 [in] const TF_PRESERVEDKEY *pprekey,
1121 HRESULT IsPreservedKey(
1123 [in] const TF_PRESERVEDKEY *pprekey,
1124 [out] BOOL *pfRegistered);
1126 HRESULT PreserveKey(
1127 [in] TfClientId tid,
1129 [in] const TF_PRESERVEDKEY *prekey,
1130 [in, size_is(cchDesc)] const WCHAR *pchDesc,
1131 [in] ULONG cchDesc);
1133 HRESULT UnpreserveKey(
1135 [in] const TF_PRESERVEDKEY *pprekey);
1137 HRESULT SetPreservedKeyDescription(
1139 [in, size_is(cchDesc)] const WCHAR *pchDesc,
1140 [in] ULONG cchDesc);
1142 HRESULT GetPreservedKeyDescription(
1144 [out] BSTR *pbstrDesc);
1146 HRESULT SimulatePreservedKey(
1147 [in] ITfContext *pic,
1149 [out] BOOL *pfEaten);
1155 uuid(aa80e7f5-2021-11d2-93e0-0060b067b86e),
1156 pointer_default(unique)
1158interface ITfKeyEventSink : IUnknown
1161 [in] BOOL fForeground);
1163 HRESULT OnTestKeyDown(
1164 [in] ITfContext *pic,
1167 [out] BOOL *pfEaten);
1169 HRESULT OnTestKeyUp(
1170 [in] ITfContext *pic,
1173 [out] BOOL *pfEaten);
1176 [in] ITfContext *pic,
1179 [out] BOOL *pfEaten);
1182 [in] ITfContext *pic,
1185 [out] BOOL *pfEaten);
1187 HRESULT OnPreservedKey(
1188 [in] ITfContext *pic,
1190 [out] BOOL *pfEaten);
1196 uuid(1cd4c13b-1c36-4191-a70a-7f3e611f367d),
1197 pointer_default(unique)
1199interface ITfKeyTraceEventSink : IUnknown
1201 HRESULT OnKeyTraceDown(
1203 [in] LPARAM lParam);
1205 HRESULT OnKeyTraceUp(
1207 [in] LPARAM lParam);
1213 uuid(ea1ea136-19df-11d7-a6d2-00065b84435c),
1214 pointer_default(unique)
1216interface ITfUIElementSink : IUnknown
1218 HRESULT BeginUIElement(
1220 [in, out] BOOL *show);
1222 HRESULT UpdateUIElement(
1225 HRESULT EndUIElement(
1232 uuid(8f1b8ad8-0b6b-4874-90c5-bd76011e8f7c),
1233 pointer_default(unique)
1235interface ITfMessagePump : IUnknown
1237 HRESULT PeekMessageA(
1240 [in] UINT wMsgFilterMin,
1241 [in] UINT wMsgFilterMax,
1242 [in] UINT wRemoveMsg,
1243 [out] BOOL *pfResult);
1245 HRESULT GetMessageA(
1248 [in] UINT wMsgFilterMin,
1249 [in] UINT wMsgFilterMax,
1250 [out] BOOL *pfResult);
1252 HRESULT PeekMessageW(
1255 [in] UINT wMsgFilterMin,
1256 [in] UINT wMsgFilterMax,
1257 [in] UINT wRemoveMsg,
1258 [out] BOOL *pfResult);
1260 HRESULT GetMessageW(
1263 [in] UINT wMsgFilterMin,
1264 [in] UINT wMsgFilterMax,
1265 [out] BOOL *pfResult);
1271 uuid(d60a7b49-1b9f-4be2-b702-47e9dc05dec3),
1272 pointer_default(unique)
1274interface ITfClientId : IUnknown
1276 HRESULT GetClientId(
1277 [in] REFCLSID rclsid,
1278 [out] TfClientId *ptid);
1283 uuid(43c9fe15-f494-4c17-9de2-b8a4ac350aa8),
1284 pointer_default(unique)
1286interface ITfLanguageProfileNotifySink : IUnknown
1288 HRESULT OnLanguageChange(
1290 [out] BOOL *pfAccept);
1292 HRESULT OnLanguageChanged();
1297 uuid(aa80e803-2021-11d2-93e0-0060b067b86e),
1298 pointer_default(unique)
1300interface ITfEditSession : IUnknown
1302 HRESULT DoEditSession(
1303 [in] TfEditCookie ec);
1308 uuid(aa80e7ff-2021-11d2-93e0-0060b067b86e),
1309 pointer_default(unique)
1311interface ITfRange : IUnknown
1313 const WCHAR TF_CHAR_EMBEDDED = TS_CHAR_EMBEDDED;
1315 typedef [uuid(cf610f06-2882-46f6-abe5-298568b664c4)] enum { TF_GRAVITY_BACKWARD = 0, TF_GRAVITY_FORWARD = 1 } TfGravity;
1317 typedef [uuid(1e512533-bbdc-4530-9a8e-a1dc0af67468)] enum { TF_SD_BACKWARD = 0, TF_SD_FORWARD = 1 } TfShiftDir;
1319 const DWORD TF_HF_OBJECT = 1;
1320 const DWORD TF_TF_MOVESTART = 1;
1321 const DWORD TF_TF_IGNOREEND = 2;
1322 const DWORD TF_ST_CORRECTION = 1;
1323 const DWORD TF_IE_CORRECTION = 1;
1325 typedef [uuid(49930d51-7d93-448c-a48c-fea5dac192b1)] struct TF_HALTCOND
1327 ITfRange *pHaltRange;
1333 [in] TfEditCookie ec,
1335 [out, size_is(cchMax), length_is(*pcch)] WCHAR *pchText,
1340 [in] TfEditCookie ec,
1342 [in, size_is(cch), unique] const WCHAR *pchText,
1345 HRESULT GetFormattedText(
1346 [in] TfEditCookie ec,
1347 [out] IDataObject **ppDataObject);
1349 HRESULT GetEmbedded(
1350 [in] TfEditCookie ec,
1351 [in] REFGUID rguidService,
1353 [out, iid_is(riid)] IUnknown **ppunk);
1355 HRESULT InsertEmbedded(
1356 [in] TfEditCookie ec,
1358 [in] IDataObject *pDataObject);
1361 [in] TfEditCookie ec,
1364 [in, unique] const TF_HALTCOND *pHalt);
1367 [in] TfEditCookie ec,
1370 [in, unique] const TF_HALTCOND *pHalt);
1372 HRESULT ShiftStartToRange(
1373 [in] TfEditCookie ec,
1374 [in] ITfRange *pRange,
1375 [in] TfAnchor aPos);
1377 HRESULT ShiftEndToRange(
1378 [in] TfEditCookie ec,
1379 [in] ITfRange *pRange,
1380 [in] TfAnchor aPos);
1382 HRESULT ShiftStartRegion(
1383 [in] TfEditCookie ec,
1384 [in] TfShiftDir dir,
1385 [out] BOOL *pfNoRegion);
1387 HRESULT ShiftEndRegion(
1388 [in] TfEditCookie ec,
1389 [in] TfShiftDir dir,
1390 [out] BOOL *pfNoRegion);
1393 [in] TfEditCookie ec,
1394 [out] BOOL *pfEmpty);
1397 [in] TfEditCookie ec,
1398 [in] TfAnchor aPos);
1400 HRESULT IsEqualStart(
1401 [in] TfEditCookie ec,
1402 [in] ITfRange *pWith,
1404 [out] BOOL *pfEqual);
1407 [in] TfEditCookie ec,
1408 [in] ITfRange *pWith,
1410 [out] BOOL *pfEqual);
1412 HRESULT CompareStart(
1413 [in] TfEditCookie ec,
1414 [in] ITfRange *pWith,
1416 [out] LONG *plResult);
1419 [in] TfEditCookie ec,
1420 [in] ITfRange *pWith,
1422 [out] LONG *plResult);
1424 HRESULT AdjustForInsert(
1425 [in] TfEditCookie ec,
1426 [in] ULONG cchInsert,
1427 [out] BOOL *pfInsertOk);
1430 [out] TfGravity *pgStart,
1431 [out] TfGravity *pgEnd);
1434 [in] TfEditCookie ec,
1435 [in] TfGravity gStart,
1436 [in] TfGravity gEnd);
1439 [out] ITfRange **ppClone);
1442 [out] ITfContext **ppContext);
1447 uuid(057a6296-029b-4154-b79a-0d461d4ea94c),
1448 pointer_default(unique)
1450interface ITfRangeACP : ITfRange
1452 HRESULT GetExtent([out] LONG *pacpAnchor,
1455 HRESULT SetExtent([in] LONG acpAnchor,
1461 uuid(55ce16ba-3014-41c1-9ceb-fade1446ac6c),
1462 pointer_default(unique)
1464interface ITfInsertAtSelection : IUnknown
1466 const DWORD TF_IAS_NOQUERY = 0x1;
1467 const DWORD TF_IAS_QUERYONLY = 0x2;
1468 const DWORD TF_IAS_NO_DEFAULT_COMPOSITION = 0x80000000;
1470 HRESULT InsertTextAtSelection(
1471 [in] TfEditCookie ec,
1473 [in, size_is(cch)] const WCHAR *pchText,
1475 [out] ITfRange **ppRange);
1477 HRESULT InsertEmbeddedAtSelection(
1478 [in] TfEditCookie ec,
1480 [in] IDataObject *pDataObject,
1481 [out] ITfRange **ppRange);
1486 uuid(6834b120-88cb-11d2-bf45-00105a2799b5),
1487 pointer_default(unique)
1489interface ITfPropertyStore : IUnknown
1491 const DWORD TF_TU_CORRECTION = 0x1;
1493 HRESULT GetType([out] GUID *pguid);
1495 HRESULT GetDataType([out] DWORD *pdwReserved);
1497 HRESULT GetData([out] VARIANT *pvarValue);
1499 HRESULT OnTextUpdated(
1501 [in] ITfRange *pRangeNew,
1502 [out] BOOL *pfAccept);
1505 [in] ITfRange *pRangeNew,
1506 [out] BOOL *pfFree);
1509 [in] ITfRange *pRangeThis,
1510 [in] ITfRange *pRangeNew,
1511 [out] ITfPropertyStore **ppPropStore);
1514 [out] ITfPropertyStore **pPropStore);
1516 HRESULT GetPropertyRangeCreator(
1517 [out] CLSID *pclsid);
1520 [in] IStream *pStream,
1526 uuid(5efd22Ba-7838-46cb-88e2-cadb14124f8f),
1527 pointer_default(unique)
1529interface IEnumITfCompositionView : IUnknown
1531 HRESULT Clone([out] IEnumITfCompositionView **ppEnum);
1535 [out, size_is(ulCount), length_is(*pcFetched)] ITfCompositionView **rgCompositionView,
1536 [out] ULONG *pcFetched);
1540 HRESULT Skip([in] ULONG ulCount);
1545 uuid(20168d64-5a8f-4a5a-b7bd-cfa29f4D0fd9),
1546 pointer_default(unique)
1548interface ITfComposition : IUnknown
1550 HRESULT GetRange([out] ITfRange **ppRange);
1553 [in] TfEditCookie ecWrite,
1554 [in] ITfRange *pNewStart);
1557 [in] TfEditCookie ecWrite,
1558 [in] ITfRange *pNewEnd);
1560 HRESULT EndComposition([in] TfEditCookie ecWrite);
1565 uuid(a781718c-579a-4b15-a280-32b8577acc5e),
1566 pointer_default(unique)
1568interface ITfCompositionSink : IUnknown
1570 HRESULT OnCompositionTerminated(
1571 [in] TfEditCookie ecWrite,
1572 [in] ITfComposition *pComposition);
1577 uuid(01689689-7acb-4e9b-ab7c-7ea46b12b522),
1578 pointer_default(unique)
1580interface ITfCleanupContextSink : IUnknown
1582 HRESULT OnCleanupContext(
1583 [in] TfEditCookie ecWrite,
1584 [in] ITfContext *pic);
1589 uuid(d40C8aae-aC92-4fc7-9a11-0ee0e23aa39b),
1590 pointer_default(unique)
1592interface ITfContextComposition : IUnknown
1594 HRESULT StartComposition(
1595 [in] TfEditCookie ecWrite,
1596 [in] ITfRange *pCompositionRange,
1597 [in] ITfCompositionSink *pSink,
1598 [out] ITfComposition **ppComposition);
1600 HRESULT EnumCompositions([out] IEnumITfCompositionView **ppEnum);
1602 HRESULT FindComposition(
1603 [in] TfEditCookie ecRead,
1604 [in] ITfRange *pTestRange,
1605 [out] IEnumITfCompositionView **ppEnum);
1607 HRESULT TakeOwnership(
1608 [in] TfEditCookie ecWrite,
1609 [in] ITfCompositionView *pComposition,
1610 [in] ITfCompositionSink *pSink,
1611 [out] ITfComposition **ppComposition);
1616 uuid(86462810-593b-4916-9764-19c08e9ce110),
1617 pointer_default(unique)
1619interface ITfContextOwnerCompositionServices : ITfContextComposition
1621 HRESULT TerminateComposition([in] ITfCompositionView *pComposition);
1626 uuid(4ef89150-0807-11d3-8df0-00105a2799b5),
1627 pointer_default(unique)
1629interface ITfPersistentPropertyLoaderACP : IUnknown
1631 HRESULT LoadProperty(
1632 [in] const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
1633 [out] IStream **ppStream);
1638 uuid(b23eb630-3e1c-11d3-a745-0050040ab407),
1639 pointer_default(unique)
1641interface ITfContextOwnerServices : IUnknown
1643 HRESULT OnLayoutChange();
1645 HRESULT OnStatusChange([in] DWORD dwFlags);
1647 HRESULT OnAttributeChange([in] REFGUID rguidAttribute);
1650 [in] ITfProperty *pProp,
1651 [in] ITfRange *pRange,
1652 [out] TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
1653 [in] IStream *pStream);
1655 HRESULT Unserialize(
1656 [in] ITfProperty *pProp,
1657 [in] const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
1658 [in] IStream *pStream,
1659 [in] ITfPersistentPropertyLoaderACP *pLoader);
1661 HRESULT ForceLoadProperty([in] ITfProperty *pProp);
1663 HRESULT CreateRange(
1666 [out] ITfRangeACP **ppRange);
1671 uuid(17d49a3d-f8b8-4b2f-b254-52319dd64c53),
1672 pointer_default(unique)
1674interface ITfReadOnlyProperty : IUnknown
1676 HRESULT GetType([out] GUID *pguid);
1679 [in] TfEditCookie ec,
1680 [out] IEnumTfRanges **ppEnum,
1681 [in] ITfRange *pTargetRange);
1684 [in] TfEditCookie ec,
1685 [in] ITfRange *pRange,
1686 [out] VARIANT *pvarValue);
1688 HRESULT GetContext([out] ITfContext **ppContext);
1693 uuid(e2449660-9542-11d2-bf46-00105a2799b5),
1694 pointer_default(unique)
1696interface ITfProperty : ITfReadOnlyProperty
1699 [in] TfEditCookie ec,
1700 [in] ITfRange *pRange,
1701 [out] ITfRange **ppRange,
1702 [in] TfAnchor aPos);
1704 HRESULT SetValueStore(
1705 [in] TfEditCookie ec,
1706 [in] ITfRange *pRange,
1707 [in] ITfPropertyStore *pPropStore);
1710 [in] TfEditCookie ec,
1711 [in] ITfRange *pRange,
1712 [in] const VARIANT *pvarValue);
1715 [in] TfEditCookie ec,
1716 [in] ITfRange *pRange);
1721 uuid(bb08f7a9-607a-4384-8623-056892b64371),
1722 pointer_default(unique)
1724interface ITfCompartment : IUnknown
1727 [in] TfClientId tid,
1728 [in] const VARIANT *pvarValue);
1731 [out] VARIANT *pvarValue);
1736 uuid(7dcf57ac-18ad-438b-824d-979bffb74b7c),
1737 pointer_default(unique)
1739interface ITfCompartmentMgr : IUnknown
1741 HRESULT GetCompartment(
1743 [out] ITfCompartment **ppcomp);
1745 HRESULT ClearCompartment(
1746 [in] TfClientId tid,
1747 [in] REFGUID rguid);
1749 HRESULT EnumCompartments(
1750 [out] IEnumGUID **ppEnum);
1755 uuid(743abd5f-f26d-48df-8cc5-238492419b64),
1756 pointer_default(unique)
1758interface ITfCompartmentEventSink : IUnknown
1761 [in] REFGUID rguid);
1766 uuid(8f1a7ea6-1654-4502-a86e-b2902344d507),
1767 pointer_default(unique)
1769interface IEnumTfContexts : IUnknown
1772 [out] IEnumTfContexts **ppEnum);
1776 [out, size_is(ulCount), length_is(*pcFetched)] ITfContext **rgContext,
1777 [out] ULONG *pcFetched);
1782 [in] ULONG ulCount);
1787 uuid(aa80e808-2021-11d2-93e0-0060b067b86e),
1788 pointer_default(unique)
1790interface IEnumTfDocumentMgrs : IUnknown
1793 [out] IEnumTfDocumentMgrs **ppEnum);
1797 [out, size_is(ulCount), length_is(*pcFetched)] ITfDocumentMgr **rgDocumentMgr,
1798 [out] ULONG *pcFetched);
1803 [in] ULONG ulCount);
1809 uuid(ea1ea137-19df-11d7-a6d2-00065b84435c),
1810 pointer_default(unique)
1812interface ITfUIElement : IUnknown
1814 HRESULT GetDescription(
1815 [out] BSTR *description);
1830 uuid(887aa91e-acba-4931-84da-3c5208cf543f),
1831 pointer_default(unique)
1833interface IEnumTfUIElements : IUnknown
1836 [out] IEnumTfUIElements **enum_elements);
1840 [out, size_is(count), length_is(fetched)] ITfUIElement **element,
1841 [out] ULONG fetched);
1852 uuid(ea1ea135-19df-11d7-a6d2-00065b84435c),
1853 pointer_default(unique)
1855interface ITfUIElementMgr : IUnknown
1857 HRESULT BeginUIElement(
1858 [in] ITfUIElement *element,
1859 [in, out] BOOL *show,
1862 HRESULT UpdateUIElement(
1865 HRESULT EndUIElement(
1868 HRESULT GetUIElement(
1870 [out] ITfUIElement **element);
1872 HRESULT EnumUIElements(
1873 [out] IEnumTfUIElements **enum_elements);
1878 uuid(73131f9c-56a9-49dd-b0ee-d046633f7528),
1879 pointer_default(unique)
1881interface ITfSourceSingle : IUnknown
1883 HRESULT AdviseSingleSink(
1884 [in] TfClientId tid,
1886 [in, iid_is(riid)] IUnknown *punk);
1888 HRESULT UnadviseSingleSink(
1889 [in] TfClientId tid,
1896 uuid(c0f1db0c-3a20-405c-a303-96b6010a885f),
1897 pointer_default(unique)
1899interface ITfThreadFocusSink : IUnknown
1901 HRESULT OnSetThreadFocus();
1903 HRESULT OnKillThreadFocus();
1908 uuid(71c6e74e-0f28-11d8-a82a-00065b84435c),
1909 pointer_default(unique)
1911interface ITfInputProcessorProfileActivationSink : IUnknown
1913 HRESULT OnActivated(
1914 [in] DWORD dwProfileType,
1916 [in] REFCLSID clsid,
1918 [in] REFGUID guidProfile,
1920 [in] DWORD dwFlags);
1926 uuid(a1adaaa2-3a24-449d-ac96-5183e7f5c217),
1927 pointer_default(unique)
1929interface ITfMouseSink : IUnknown
1931 HRESULT OnMouseEvent(
1933 [in] ULONG uQuadrant,
1934 [in] DWORD dwBtnStatus,
1935 [out] BOOL *pfEaten);
1940 uuid(09d146cd-a544-4132-925b-7afa8ef322d0),
1941 pointer_default(unique)
1943interface ITfMouseTracker : IUnknown
1945 HRESULT AdviseMouseSink(
1946 [in] ITfRange *range,
1947 [in] ITfMouseSink *pSink,
1948 [out] DWORD *pdwCookie);
1950 HRESULT UnadviseMouseSink([in] DWORD dwCookie);
1955 uuid(3bdd78e2-c16e-47fd-b883-ce6facc1a208),
1956 pointer_default(unique)
1958interface ITfMouseTrackerACP : IUnknown
1960 HRESULT AdviseMouseSink(
1961 [in] ITfRangeACP *range,
1962 [in] ITfMouseSink *pSink,
1963 [out] DWORD *pdwCookie);
1965 HRESULT UnadviseMouseSink([in] DWORD dwCookie);
1971 uuid(a615096f-1c57-4813-8a15-55ee6e5a839c),
1972 pointer_default(unique)
1974interface ITfTransitoryExtensionSink : IUnknown
1976 HRESULT OnTransitoryExtensionUpdated(
1977 [in] ITfContext *pic,
1978 [in] TfEditCookie ecReadOnly,
1979 [in] ITfRange *pResultRange,
1980 [in] ITfRange *pCompositionRange,
1981 [out] BOOL *pfDeleteResultRange);
1986 uuid(2af2d06a-dd5b-4927-a0b4-54f19c91fade),
1987 pointer_default(unique)
1989interface ITfTextLayoutSink : IUnknown
1991 typedef [uuid(603553cf-9edd-4cc1-9ecc-069e4a427734)] enum
1998 HRESULT OnLayoutChange(
1999 [in] ITfContext *pic,
2000 [in] TfLayoutCode lcode,
2001 [in] ITfContextView *pView);
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const