1/*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-digit/src/mingw-w64-svn-r5861/mingw-w64-headers/include/msctf.idl - Do not edit ***/
2
3#ifndef __REQUIRED_RPCNDR_H_VERSION__
4#define __REQUIRED_RPCNDR_H_VERSION__ 475
5#endif
6
7#include <rpc.h>
8#include <rpcndr.h>
9
10#ifndef COM_NO_WINDOWS_H
11#include <windows.h>
12#include <ole2.h>
13#endif
14
15#ifndef __msctf_h__
16#define __msctf_h__
17
18/* Forward declarations */
19
20#ifndef __ITfThreadMgr_FWD_DEFINED__
21#define __ITfThreadMgr_FWD_DEFINED__
22typedef interface ITfThreadMgr ITfThreadMgr;
23#endif
24
25#ifndef __ITfCompositionView_FWD_DEFINED__
26#define __ITfCompositionView_FWD_DEFINED__
27typedef interface ITfCompositionView ITfCompositionView;
28#endif
29
30#ifndef __ITfDocumentMgr_FWD_DEFINED__
31#define __ITfDocumentMgr_FWD_DEFINED__
32typedef interface ITfDocumentMgr ITfDocumentMgr;
33#endif
34
35#ifndef __ITfContext_FWD_DEFINED__
36#define __ITfContext_FWD_DEFINED__
37typedef interface ITfContext ITfContext;
38#endif
39
40#ifndef __ITfSource_FWD_DEFINED__
41#define __ITfSource_FWD_DEFINED__
42typedef interface ITfSource ITfSource;
43#endif
44
45#ifndef __ITfInputProcessorProfiles_FWD_DEFINED__
46#define __ITfInputProcessorProfiles_FWD_DEFINED__
47typedef interface ITfInputProcessorProfiles ITfInputProcessorProfiles;
48#endif
49
50#ifndef __IEnumTfInputProcessorProfiles_FWD_DEFINED__
51#define __IEnumTfInputProcessorProfiles_FWD_DEFINED__
52typedef interface IEnumTfInputProcessorProfiles IEnumTfInputProcessorProfiles;
53#endif
54
55#ifndef __ITfInputProcessorProfileMgr_FWD_DEFINED__
56#define __ITfInputProcessorProfileMgr_FWD_DEFINED__
57typedef interface ITfInputProcessorProfileMgr ITfInputProcessorProfileMgr;
58#endif
59
60#ifndef __ITfDisplayAttributeInfo_FWD_DEFINED__
61#define __ITfDisplayAttributeInfo_FWD_DEFINED__
62typedef interface ITfDisplayAttributeInfo ITfDisplayAttributeInfo;
63#endif
64
65#ifndef __IEnumTfDisplayAttributeInfo_FWD_DEFINED__
66#define __IEnumTfDisplayAttributeInfo_FWD_DEFINED__
67typedef interface IEnumTfDisplayAttributeInfo IEnumTfDisplayAttributeInfo;
68#endif
69
70#ifndef __ITfDisplayAttributeMgr_FWD_DEFINED__
71#define __ITfDisplayAttributeMgr_FWD_DEFINED__
72typedef interface ITfDisplayAttributeMgr ITfDisplayAttributeMgr;
73#endif
74
75#ifndef __ITfCategoryMgr_FWD_DEFINED__
76#define __ITfCategoryMgr_FWD_DEFINED__
77typedef interface ITfCategoryMgr ITfCategoryMgr;
78#endif
79
80#ifndef __ITfTextEditSink_FWD_DEFINED__
81#define __ITfTextEditSink_FWD_DEFINED__
82typedef interface ITfTextEditSink ITfTextEditSink;
83#endif
84
85#ifndef __ITfContextOwnerCompositionSink_FWD_DEFINED__
86#define __ITfContextOwnerCompositionSink_FWD_DEFINED__
87typedef interface ITfContextOwnerCompositionSink ITfContextOwnerCompositionSink;
88#endif
89
90#ifndef __IEnumTfLanguageProfiles_FWD_DEFINED__
91#define __IEnumTfLanguageProfiles_FWD_DEFINED__
92typedef interface IEnumTfLanguageProfiles IEnumTfLanguageProfiles;
93#endif
94
95#ifndef __ITfTextInputProcessor_FWD_DEFINED__
96#define __ITfTextInputProcessor_FWD_DEFINED__
97typedef interface ITfTextInputProcessor ITfTextInputProcessor;
98#endif
99
100#ifndef __ITfThreadMgrEventSink_FWD_DEFINED__
101#define __ITfThreadMgrEventSink_FWD_DEFINED__
102typedef interface ITfThreadMgrEventSink ITfThreadMgrEventSink;
103#endif
104
105#ifndef __ITfKeystrokeMgr_FWD_DEFINED__
106#define __ITfKeystrokeMgr_FWD_DEFINED__
107typedef interface ITfKeystrokeMgr ITfKeystrokeMgr;
108#endif
109
110#ifndef __ITfKeyEventSink_FWD_DEFINED__
111#define __ITfKeyEventSink_FWD_DEFINED__
112typedef interface ITfKeyEventSink ITfKeyEventSink;
113#endif
114
115#ifndef __ITfMessagePump_FWD_DEFINED__
116#define __ITfMessagePump_FWD_DEFINED__
117typedef interface ITfMessagePump ITfMessagePump;
118#endif
119
120#ifndef __ITfClientId_FWD_DEFINED__
121#define __ITfClientId_FWD_DEFINED__
122typedef interface ITfClientId ITfClientId;
123#endif
124
125#ifndef __ITfLanguageProfileNotifySink_FWD_DEFINED__
126#define __ITfLanguageProfileNotifySink_FWD_DEFINED__
127typedef interface ITfLanguageProfileNotifySink ITfLanguageProfileNotifySink;
128#endif
129
130#ifndef __ITfEditSession_FWD_DEFINED__
131#define __ITfEditSession_FWD_DEFINED__
132typedef interface ITfEditSession ITfEditSession;
133#endif
134
135#ifndef __ITfRange_FWD_DEFINED__
136#define __ITfRange_FWD_DEFINED__
137typedef interface ITfRange ITfRange;
138#endif
139
140#ifndef __ITfRangeACP_FWD_DEFINED__
141#define __ITfRangeACP_FWD_DEFINED__
142typedef interface ITfRangeACP ITfRangeACP;
143#endif
144
145#ifndef __ITfInsertAtSelection_FWD_DEFINED__
146#define __ITfInsertAtSelection_FWD_DEFINED__
147typedef interface ITfInsertAtSelection ITfInsertAtSelection;
148#endif
149
150#ifndef __ITfPropertyStore_FWD_DEFINED__
151#define __ITfPropertyStore_FWD_DEFINED__
152typedef interface ITfPropertyStore ITfPropertyStore;
153#endif
154
155#ifndef __IEnumTfRanges_FWD_DEFINED__
156#define __IEnumTfRanges_FWD_DEFINED__
157typedef interface IEnumTfRanges IEnumTfRanges;
158#endif
159
160#ifndef __IEnumITfCompositionView_FWD_DEFINED__
161#define __IEnumITfCompositionView_FWD_DEFINED__
162typedef interface IEnumITfCompositionView IEnumITfCompositionView;
163#endif
164
165#ifndef __ITfComposition_FWD_DEFINED__
166#define __ITfComposition_FWD_DEFINED__
167typedef interface ITfComposition ITfComposition;
168#endif
169
170#ifndef __ITfCompositionSink_FWD_DEFINED__
171#define __ITfCompositionSink_FWD_DEFINED__
172typedef interface ITfCompositionSink ITfCompositionSink;
173#endif
174
175#ifndef __ITfContextComposition_FWD_DEFINED__
176#define __ITfContextComposition_FWD_DEFINED__
177typedef interface ITfContextComposition ITfContextComposition;
178#endif
179
180#ifndef __ITfContextOwnerCompositionServices_FWD_DEFINED__
181#define __ITfContextOwnerCompositionServices_FWD_DEFINED__
182typedef interface ITfContextOwnerCompositionServices ITfContextOwnerCompositionServices;
183#endif
184
185#ifndef __ITfPersistentPropertyLoaderACP_FWD_DEFINED__
186#define __ITfPersistentPropertyLoaderACP_FWD_DEFINED__
187typedef interface ITfPersistentPropertyLoaderACP ITfPersistentPropertyLoaderACP;
188#endif
189
190#ifndef __ITfContextOwnerServices_FWD_DEFINED__
191#define __ITfContextOwnerServices_FWD_DEFINED__
192typedef interface ITfContextOwnerServices ITfContextOwnerServices;
193#endif
194
195#ifndef __ITfReadOnlyProperty_FWD_DEFINED__
196#define __ITfReadOnlyProperty_FWD_DEFINED__
197typedef interface ITfReadOnlyProperty ITfReadOnlyProperty;
198#endif
199
200#ifndef __ITfProperty_FWD_DEFINED__
201#define __ITfProperty_FWD_DEFINED__
202typedef interface ITfProperty ITfProperty;
203#endif
204
205#ifndef __ITfCompartment_FWD_DEFINED__
206#define __ITfCompartment_FWD_DEFINED__
207typedef interface ITfCompartment ITfCompartment;
208#endif
209
210#ifndef __ITfCompartmentMgr_FWD_DEFINED__
211#define __ITfCompartmentMgr_FWD_DEFINED__
212typedef interface ITfCompartmentMgr ITfCompartmentMgr;
213#endif
214
215#ifndef __ITfCompartmentEventSink_FWD_DEFINED__
216#define __ITfCompartmentEventSink_FWD_DEFINED__
217typedef interface ITfCompartmentEventSink ITfCompartmentEventSink;
218#endif
219
220#ifndef __IEnumTfContexts_FWD_DEFINED__
221#define __IEnumTfContexts_FWD_DEFINED__
222typedef interface IEnumTfContexts IEnumTfContexts;
223#endif
224
225#ifndef __IEnumTfDocumentMgrs_FWD_DEFINED__
226#define __IEnumTfDocumentMgrs_FWD_DEFINED__
227typedef interface IEnumTfDocumentMgrs IEnumTfDocumentMgrs;
228#endif
229
230#ifndef __ITfSourceSingle_FWD_DEFINED__
231#define __ITfSourceSingle_FWD_DEFINED__
232typedef interface ITfSourceSingle ITfSourceSingle;
233#endif
234
235#ifndef __ITfThreadFocusSink_FWD_DEFINED__
236#define __ITfThreadFocusSink_FWD_DEFINED__
237typedef interface ITfThreadFocusSink ITfThreadFocusSink;
238#endif
239
240/* Headers for imported files */
241
242#include <oaidl.h>
243#include <comcat.h>
244#include <textstor.h>
245#include <ctfutb.h>
246
247#ifdef __cplusplus
248extern "C" {
249#endif
250
251#include <winuser.h>
252#define TF_E_STACKFULL MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0501)
253#define TF_E_DISCONNECTED    MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0504)
254#define TF_E_ALREADY_EXISTS  MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0506)
255#define TF_E_NOLOCK          MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201)
256HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim);
257HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim);
258HRESULT WINAPI TF_CreateInputProcessorProfiles(ITfInputProcessorProfiles **ppipr);
259HRESULT WINAPI TF_CreateLangBarMgr(ITfLangBarMgr **pppbm);
260EXTERN_C const GUID GUID_PROP_TEXTOWNER;
261DEFINE_GUID(GUID_PROP_ATTRIBUTE,0x34b45670,0x7526,0x11d2,0xa1,0x47,0x00,0x10,0x5a,0x27,0x99,0xb5);
262EXTERN_C const GUID GUID_PROP_LANGID;
263EXTERN_C const GUID GUID_PROP_READING;
264EXTERN_C const GUID GUID_PROP_COMPOSING;
265EXTERN_C const CLSID CLSID_TF_ThreadMgr;
266EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles;
267EXTERN_C const CLSID CLSID_TF_LangBarMgr;
268EXTERN_C const CLSID CLSID_TF_CategoryMgr;
269EXTERN_C const CLSID CLSID_TF_DisplayAttributeMgr;
270EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_DISABLED;
271EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_OPENCLOSE;
272EXTERN_C const GUID GUID_COMPARTMENT_HANDWRITING_OPENCLOSE;
273EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_DISABLED;
274EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_OPENCLOSE;
275EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_GLOBALSTATE;
276EXTERN_C const GUID GUID_COMPARTMENT_PERSISTMENUENABLED;
277EXTERN_C const GUID GUID_COMPARTMENT_EMPTYCONTEXT;
278EXTERN_C const GUID GUID_COMPARTMENT_TIPUISTATUS;
279EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD;
280EXTERN_C const GUID GUID_TFCAT_TIP_SPEECH;
281EXTERN_C const GUID GUID_TFCAT_TIP_HANDWRITING;
282EXTERN_C const GUID GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER;
283typedef DWORD TfEditCookie;
284typedef DWORD TfClientId;
285typedef DWORD TfGuidAtom;
286#define TF_MOD_ALT                   0x0001
287#define TF_MOD_CONTROL               0x0002
288#define TF_MOD_SHIFT                 0x0004
289#define TF_MOD_RALT                  0x0008
290#define TF_MOD_RCONTROL              0x0010
291#define TF_MOD_RSHIFT                0x0020
292#define TF_MOD_LALT                  0x0040
293#define TF_MOD_LCONTROL              0x0080
294#define TF_MOD_LSHIFT                0x0100
295#define TF_MOD_ON_KEYUP              0x0200
296#define TF_MOD_IGNORE_ALL_MODIFIER   0x0400
297#define TF_PROFILETYPE_INPUTPROCESSOR  0x0001
298#define TF_PROFILETYPE_KEYBOARDLAYOUT  0x0002
299#ifndef __ITfDocumentMgr_FWD_DEFINED__
300#define __ITfDocumentMgr_FWD_DEFINED__
301typedef interface ITfDocumentMgr ITfDocumentMgr;
302#endif
303
304#ifndef __ITfContext_FWD_DEFINED__
305#define __ITfContext_FWD_DEFINED__
306typedef interface ITfContext ITfContext;
307#endif
308
309#ifndef __IEnumTfDocumentMgrs_FWD_DEFINED__
310#define __IEnumTfDocumentMgrs_FWD_DEFINED__
311typedef interface IEnumTfDocumentMgrs IEnumTfDocumentMgrs;
312#endif
313
314#ifndef __IEnumTfContexts_FWD_DEFINED__
315#define __IEnumTfContexts_FWD_DEFINED__
316typedef interface IEnumTfContexts IEnumTfContexts;
317#endif
318
319#ifndef __ITfFunctionProvider_FWD_DEFINED__
320#define __ITfFunctionProvider_FWD_DEFINED__
321typedef interface ITfFunctionProvider ITfFunctionProvider;
322#endif
323
324#ifndef __IEnumTfFunctionProviders_FWD_DEFINED__
325#define __IEnumTfFunctionProviders_FWD_DEFINED__
326typedef interface IEnumTfFunctionProviders IEnumTfFunctionProviders;
327#endif
328
329#ifndef __ITfCompartmentMgr_FWD_DEFINED__
330#define __ITfCompartmentMgr_FWD_DEFINED__
331typedef interface ITfCompartmentMgr ITfCompartmentMgr;
332#endif
333
334#ifndef __ITfEditSession_FWD_DEFINED__
335#define __ITfEditSession_FWD_DEFINED__
336typedef interface ITfEditSession ITfEditSession;
337#endif
338
339#ifndef __ITfRange_FWD_DEFINED__
340#define __ITfRange_FWD_DEFINED__
341typedef interface ITfRange ITfRange;
342#endif
343
344#ifndef __ITfContextView_FWD_DEFINED__
345#define __ITfContextView_FWD_DEFINED__
346typedef interface ITfContextView ITfContextView;
347#endif
348
349#ifndef __IEnumTfContextViews_FWD_DEFINED__
350#define __IEnumTfContextViews_FWD_DEFINED__
351typedef interface IEnumTfContextViews IEnumTfContextViews;
352#endif
353
354#ifndef __ITfProperty_FWD_DEFINED__
355#define __ITfProperty_FWD_DEFINED__
356typedef interface ITfProperty ITfProperty;
357#endif
358
359#ifndef __ITfReadOnlyProperty_FWD_DEFINED__
360#define __ITfReadOnlyProperty_FWD_DEFINED__
361typedef interface ITfReadOnlyProperty ITfReadOnlyProperty;
362#endif
363
364#ifndef __IEnumTfProperties_FWD_DEFINED__
365#define __IEnumTfProperties_FWD_DEFINED__
366typedef interface IEnumTfProperties IEnumTfProperties;
367#endif
368
369#ifndef __ITfRangeBackup_FWD_DEFINED__
370#define __ITfRangeBackup_FWD_DEFINED__
371typedef interface ITfRangeBackup ITfRangeBackup;
372#endif
373
374#ifndef __IEnumTfLanguageProfiles_FWD_DEFINED__
375#define __IEnumTfLanguageProfiles_FWD_DEFINED__
376typedef interface IEnumTfLanguageProfiles IEnumTfLanguageProfiles;
377#endif
378
379#ifndef __ITfEditRecord_FWD_DEFINED__
380#define __ITfEditRecord_FWD_DEFINED__
381typedef interface ITfEditRecord ITfEditRecord;
382#endif
383
384#ifndef __ITfCompositionView_FWD_DEFINED__
385#define __ITfCompositionView_FWD_DEFINED__
386typedef interface ITfCompositionView ITfCompositionView;
387#endif
388
389#ifndef __ITfKeyEventSink_FWD_DEFINED__
390#define __ITfKeyEventSink_FWD_DEFINED__
391typedef interface ITfKeyEventSink ITfKeyEventSink;
392#endif
393
394#if 0
395typedef UINT_PTR HKL;
396#endif
397typedef struct TF_PERSISTENT_PROPERTY_HEADER_ACP {
398    GUID guidType;
399    LONG ichStart;
400    LONG cch;
401    ULONG cb;
402    DWORD dwPrivate;
403    CLSID clsidTIP;
404} TF_PERSISTENT_PROPERTY_HEADER_ACP;
405typedef struct TF_LANGUAGEPROFILE {
406    CLSID clsid;
407    LANGID langid;
408    GUID catid;
409    WINBOOL fActive;
410    GUID guidProfile;
411} TF_LANGUAGEPROFILE;
412typedef struct TF_PRESERVEDKEY {
413    UINT uVKey;
414    UINT uModifiers;
415} TF_PRESERVEDKEY;
416typedef enum __WIDL_msctf_generated_name_00000000 {
417    TF_ANCHOR_START = 0,
418    TF_ANCHOR_END = 1
419} TfAnchor;
420/*****************************************************************************
421 * ITfThreadMgr interface
422 */
423#ifndef __ITfThreadMgr_INTERFACE_DEFINED__
424#define __ITfThreadMgr_INTERFACE_DEFINED__
425
426DEFINE_GUID(IID_ITfThreadMgr, 0xaa80e801, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
427#if defined(__cplusplus) && !defined(CINTERFACE)
428MIDL_INTERFACE("aa80e801-2021-11d2-93e0-0060b067b86e")
429ITfThreadMgr : public IUnknown
430{
431    virtual HRESULT STDMETHODCALLTYPE Activate(
432        TfClientId *ptid) = 0;
433
434    virtual HRESULT STDMETHODCALLTYPE Deactivate(
435        ) = 0;
436
437    virtual HRESULT STDMETHODCALLTYPE CreateDocumentMgr(
438        ITfDocumentMgr **ppdim) = 0;
439
440    virtual HRESULT STDMETHODCALLTYPE EnumDocumentMgrs(
441        IEnumTfDocumentMgrs **ppEnum) = 0;
442
443    virtual HRESULT STDMETHODCALLTYPE GetFocus(
444        ITfDocumentMgr **ppdimFocus) = 0;
445
446    virtual HRESULT STDMETHODCALLTYPE SetFocus(
447        ITfDocumentMgr *pdimFocus) = 0;
448
449    virtual HRESULT STDMETHODCALLTYPE AssociateFocus(
450        HWND hwnd,
451        ITfDocumentMgr *pdimNew,
452        ITfDocumentMgr **ppdimPrev) = 0;
453
454    virtual HRESULT STDMETHODCALLTYPE IsThreadFocus(
455        WINBOOL *pfThreadFocus) = 0;
456
457    virtual HRESULT STDMETHODCALLTYPE GetFunctionProvider(
458        REFCLSID clsid,
459        ITfFunctionProvider **ppFuncProv) = 0;
460
461    virtual HRESULT STDMETHODCALLTYPE EnumFunctionProviders(
462        IEnumTfFunctionProviders **ppEnum) = 0;
463
464    virtual HRESULT STDMETHODCALLTYPE GetGlobalCompartment(
465        ITfCompartmentMgr **ppCompMgr) = 0;
466
467};
468#ifdef __CRT_UUID_DECL
469__CRT_UUID_DECL(ITfThreadMgr, 0xaa80e801, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
470#endif
471#else
472typedef struct ITfThreadMgrVtbl {
473    BEGIN_INTERFACE
474
475    /*** IUnknown methods ***/
476    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
477        ITfThreadMgr* This,
478        REFIID riid,
479        void **ppvObject);
480
481    ULONG (STDMETHODCALLTYPE *AddRef)(
482        ITfThreadMgr* This);
483
484    ULONG (STDMETHODCALLTYPE *Release)(
485        ITfThreadMgr* This);
486
487    /*** ITfThreadMgr methods ***/
488    HRESULT (STDMETHODCALLTYPE *Activate)(
489        ITfThreadMgr* This,
490        TfClientId *ptid);
491
492    HRESULT (STDMETHODCALLTYPE *Deactivate)(
493        ITfThreadMgr* This);
494
495    HRESULT (STDMETHODCALLTYPE *CreateDocumentMgr)(
496        ITfThreadMgr* This,
497        ITfDocumentMgr **ppdim);
498
499    HRESULT (STDMETHODCALLTYPE *EnumDocumentMgrs)(
500        ITfThreadMgr* This,
501        IEnumTfDocumentMgrs **ppEnum);
502
503    HRESULT (STDMETHODCALLTYPE *GetFocus)(
504        ITfThreadMgr* This,
505        ITfDocumentMgr **ppdimFocus);
506
507    HRESULT (STDMETHODCALLTYPE *SetFocus)(
508        ITfThreadMgr* This,
509        ITfDocumentMgr *pdimFocus);
510
511    HRESULT (STDMETHODCALLTYPE *AssociateFocus)(
512        ITfThreadMgr* This,
513        HWND hwnd,
514        ITfDocumentMgr *pdimNew,
515        ITfDocumentMgr **ppdimPrev);
516
517    HRESULT (STDMETHODCALLTYPE *IsThreadFocus)(
518        ITfThreadMgr* This,
519        WINBOOL *pfThreadFocus);
520
521    HRESULT (STDMETHODCALLTYPE *GetFunctionProvider)(
522        ITfThreadMgr* This,
523        REFCLSID clsid,
524        ITfFunctionProvider **ppFuncProv);
525
526    HRESULT (STDMETHODCALLTYPE *EnumFunctionProviders)(
527        ITfThreadMgr* This,
528        IEnumTfFunctionProviders **ppEnum);
529
530    HRESULT (STDMETHODCALLTYPE *GetGlobalCompartment)(
531        ITfThreadMgr* This,
532        ITfCompartmentMgr **ppCompMgr);
533
534    END_INTERFACE
535} ITfThreadMgrVtbl;
536interface ITfThreadMgr {
537    CONST_VTBL ITfThreadMgrVtbl* lpVtbl;
538};
539
540#ifdef COBJMACROS
541#ifndef WIDL_C_INLINE_WRAPPERS
542/*** IUnknown methods ***/
543#define ITfThreadMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
544#define ITfThreadMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
545#define ITfThreadMgr_Release(This) (This)->lpVtbl->Release(This)
546/*** ITfThreadMgr methods ***/
547#define ITfThreadMgr_Activate(This,ptid) (This)->lpVtbl->Activate(This,ptid)
548#define ITfThreadMgr_Deactivate(This) (This)->lpVtbl->Deactivate(This)
549#define ITfThreadMgr_CreateDocumentMgr(This,ppdim) (This)->lpVtbl->CreateDocumentMgr(This,ppdim)
550#define ITfThreadMgr_EnumDocumentMgrs(This,ppEnum) (This)->lpVtbl->EnumDocumentMgrs(This,ppEnum)
551#define ITfThreadMgr_GetFocus(This,ppdimFocus) (This)->lpVtbl->GetFocus(This,ppdimFocus)
552#define ITfThreadMgr_SetFocus(This,pdimFocus) (This)->lpVtbl->SetFocus(This,pdimFocus)
553#define ITfThreadMgr_AssociateFocus(This,hwnd,pdimNew,ppdimPrev) (This)->lpVtbl->AssociateFocus(This,hwnd,pdimNew,ppdimPrev)
554#define ITfThreadMgr_IsThreadFocus(This,pfThreadFocus) (This)->lpVtbl->IsThreadFocus(This,pfThreadFocus)
555#define ITfThreadMgr_GetFunctionProvider(This,clsid,ppFuncProv) (This)->lpVtbl->GetFunctionProvider(This,clsid,ppFuncProv)
556#define ITfThreadMgr_EnumFunctionProviders(This,ppEnum) (This)->lpVtbl->EnumFunctionProviders(This,ppEnum)
557#define ITfThreadMgr_GetGlobalCompartment(This,ppCompMgr) (This)->lpVtbl->GetGlobalCompartment(This,ppCompMgr)
558#else
559/*** IUnknown methods ***/
560static FORCEINLINE HRESULT ITfThreadMgr_QueryInterface(ITfThreadMgr* This,REFIID riid,void **ppvObject) {
561    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
562}
563static FORCEINLINE ULONG ITfThreadMgr_AddRef(ITfThreadMgr* This) {
564    return This->lpVtbl->AddRef(This);
565}
566static FORCEINLINE ULONG ITfThreadMgr_Release(ITfThreadMgr* This) {
567    return This->lpVtbl->Release(This);
568}
569/*** ITfThreadMgr methods ***/
570static FORCEINLINE HRESULT ITfThreadMgr_Activate(ITfThreadMgr* This,TfClientId *ptid) {
571    return This->lpVtbl->Activate(This,ptid);
572}
573static FORCEINLINE HRESULT ITfThreadMgr_Deactivate(ITfThreadMgr* This) {
574    return This->lpVtbl->Deactivate(This);
575}
576static FORCEINLINE HRESULT ITfThreadMgr_CreateDocumentMgr(ITfThreadMgr* This,ITfDocumentMgr **ppdim) {
577    return This->lpVtbl->CreateDocumentMgr(This,ppdim);
578}
579static FORCEINLINE HRESULT ITfThreadMgr_EnumDocumentMgrs(ITfThreadMgr* This,IEnumTfDocumentMgrs **ppEnum) {
580    return This->lpVtbl->EnumDocumentMgrs(This,ppEnum);
581}
582static FORCEINLINE HRESULT ITfThreadMgr_GetFocus(ITfThreadMgr* This,ITfDocumentMgr **ppdimFocus) {
583    return This->lpVtbl->GetFocus(This,ppdimFocus);
584}
585static FORCEINLINE HRESULT ITfThreadMgr_SetFocus(ITfThreadMgr* This,ITfDocumentMgr *pdimFocus) {
586    return This->lpVtbl->SetFocus(This,pdimFocus);
587}
588static FORCEINLINE HRESULT ITfThreadMgr_AssociateFocus(ITfThreadMgr* This,HWND hwnd,ITfDocumentMgr *pdimNew,ITfDocumentMgr **ppdimPrev) {
589    return This->lpVtbl->AssociateFocus(This,hwnd,pdimNew,ppdimPrev);
590}
591static FORCEINLINE HRESULT ITfThreadMgr_IsThreadFocus(ITfThreadMgr* This,WINBOOL *pfThreadFocus) {
592    return This->lpVtbl->IsThreadFocus(This,pfThreadFocus);
593}
594static FORCEINLINE HRESULT ITfThreadMgr_GetFunctionProvider(ITfThreadMgr* This,REFCLSID clsid,ITfFunctionProvider **ppFuncProv) {
595    return This->lpVtbl->GetFunctionProvider(This,clsid,ppFuncProv);
596}
597static FORCEINLINE HRESULT ITfThreadMgr_EnumFunctionProviders(ITfThreadMgr* This,IEnumTfFunctionProviders **ppEnum) {
598    return This->lpVtbl->EnumFunctionProviders(This,ppEnum);
599}
600static FORCEINLINE HRESULT ITfThreadMgr_GetGlobalCompartment(ITfThreadMgr* This,ITfCompartmentMgr **ppCompMgr) {
601    return This->lpVtbl->GetGlobalCompartment(This,ppCompMgr);
602}
603#endif
604#endif
605
606#endif
607
608HRESULT STDMETHODCALLTYPE ITfThreadMgr_Activate_Proxy(
609    ITfThreadMgr* This,
610    TfClientId *ptid);
611void __RPC_STUB ITfThreadMgr_Activate_Stub(
612    IRpcStubBuffer* This,
613    IRpcChannelBuffer* pRpcChannelBuffer,
614    PRPC_MESSAGE pRpcMessage,
615    DWORD* pdwStubPhase);
616HRESULT STDMETHODCALLTYPE ITfThreadMgr_Deactivate_Proxy(
617    ITfThreadMgr* This);
618void __RPC_STUB ITfThreadMgr_Deactivate_Stub(
619    IRpcStubBuffer* This,
620    IRpcChannelBuffer* pRpcChannelBuffer,
621    PRPC_MESSAGE pRpcMessage,
622    DWORD* pdwStubPhase);
623HRESULT STDMETHODCALLTYPE ITfThreadMgr_CreateDocumentMgr_Proxy(
624    ITfThreadMgr* This,
625    ITfDocumentMgr **ppdim);
626void __RPC_STUB ITfThreadMgr_CreateDocumentMgr_Stub(
627    IRpcStubBuffer* This,
628    IRpcChannelBuffer* pRpcChannelBuffer,
629    PRPC_MESSAGE pRpcMessage,
630    DWORD* pdwStubPhase);
631HRESULT STDMETHODCALLTYPE ITfThreadMgr_EnumDocumentMgrs_Proxy(
632    ITfThreadMgr* This,
633    IEnumTfDocumentMgrs **ppEnum);
634void __RPC_STUB ITfThreadMgr_EnumDocumentMgrs_Stub(
635    IRpcStubBuffer* This,
636    IRpcChannelBuffer* pRpcChannelBuffer,
637    PRPC_MESSAGE pRpcMessage,
638    DWORD* pdwStubPhase);
639HRESULT STDMETHODCALLTYPE ITfThreadMgr_GetFocus_Proxy(
640    ITfThreadMgr* This,
641    ITfDocumentMgr **ppdimFocus);
642void __RPC_STUB ITfThreadMgr_GetFocus_Stub(
643    IRpcStubBuffer* This,
644    IRpcChannelBuffer* pRpcChannelBuffer,
645    PRPC_MESSAGE pRpcMessage,
646    DWORD* pdwStubPhase);
647HRESULT STDMETHODCALLTYPE ITfThreadMgr_SetFocus_Proxy(
648    ITfThreadMgr* This,
649    ITfDocumentMgr *pdimFocus);
650void __RPC_STUB ITfThreadMgr_SetFocus_Stub(
651    IRpcStubBuffer* This,
652    IRpcChannelBuffer* pRpcChannelBuffer,
653    PRPC_MESSAGE pRpcMessage,
654    DWORD* pdwStubPhase);
655HRESULT STDMETHODCALLTYPE ITfThreadMgr_AssociateFocus_Proxy(
656    ITfThreadMgr* This,
657    HWND hwnd,
658    ITfDocumentMgr *pdimNew,
659    ITfDocumentMgr **ppdimPrev);
660void __RPC_STUB ITfThreadMgr_AssociateFocus_Stub(
661    IRpcStubBuffer* This,
662    IRpcChannelBuffer* pRpcChannelBuffer,
663    PRPC_MESSAGE pRpcMessage,
664    DWORD* pdwStubPhase);
665HRESULT STDMETHODCALLTYPE ITfThreadMgr_IsThreadFocus_Proxy(
666    ITfThreadMgr* This,
667    WINBOOL *pfThreadFocus);
668void __RPC_STUB ITfThreadMgr_IsThreadFocus_Stub(
669    IRpcStubBuffer* This,
670    IRpcChannelBuffer* pRpcChannelBuffer,
671    PRPC_MESSAGE pRpcMessage,
672    DWORD* pdwStubPhase);
673HRESULT STDMETHODCALLTYPE ITfThreadMgr_GetFunctionProvider_Proxy(
674    ITfThreadMgr* This,
675    REFCLSID clsid,
676    ITfFunctionProvider **ppFuncProv);
677void __RPC_STUB ITfThreadMgr_GetFunctionProvider_Stub(
678    IRpcStubBuffer* This,
679    IRpcChannelBuffer* pRpcChannelBuffer,
680    PRPC_MESSAGE pRpcMessage,
681    DWORD* pdwStubPhase);
682HRESULT STDMETHODCALLTYPE ITfThreadMgr_EnumFunctionProviders_Proxy(
683    ITfThreadMgr* This,
684    IEnumTfFunctionProviders **ppEnum);
685void __RPC_STUB ITfThreadMgr_EnumFunctionProviders_Stub(
686    IRpcStubBuffer* This,
687    IRpcChannelBuffer* pRpcChannelBuffer,
688    PRPC_MESSAGE pRpcMessage,
689    DWORD* pdwStubPhase);
690HRESULT STDMETHODCALLTYPE ITfThreadMgr_GetGlobalCompartment_Proxy(
691    ITfThreadMgr* This,
692    ITfCompartmentMgr **ppCompMgr);
693void __RPC_STUB ITfThreadMgr_GetGlobalCompartment_Stub(
694    IRpcStubBuffer* This,
695    IRpcChannelBuffer* pRpcChannelBuffer,
696    PRPC_MESSAGE pRpcMessage,
697    DWORD* pdwStubPhase);
698
699#endif  /* __ITfThreadMgr_INTERFACE_DEFINED__ */
700
701/*****************************************************************************
702 * ITfCompositionView interface
703 */
704#ifndef __ITfCompositionView_INTERFACE_DEFINED__
705#define __ITfCompositionView_INTERFACE_DEFINED__
706
707DEFINE_GUID(IID_ITfCompositionView, 0xd7540241, 0xf9a1, 0x4364, 0xbe,0xfc, 0xdb,0xcd,0x2c,0x43,0x95,0xb7);
708#if defined(__cplusplus) && !defined(CINTERFACE)
709MIDL_INTERFACE("d7540241-f9a1-4364-befc-dbcd2c4395b7")
710ITfCompositionView : public IUnknown
711{
712    virtual HRESULT STDMETHODCALLTYPE GetOwnerClsid(
713        CLSID *pclsid) = 0;
714
715    virtual HRESULT STDMETHODCALLTYPE GetRange(
716        ITfRange **ppRange) = 0;
717
718};
719#ifdef __CRT_UUID_DECL
720__CRT_UUID_DECL(ITfCompositionView, 0xd7540241, 0xf9a1, 0x4364, 0xbe,0xfc, 0xdb,0xcd,0x2c,0x43,0x95,0xb7)
721#endif
722#else
723typedef struct ITfCompositionViewVtbl {
724    BEGIN_INTERFACE
725
726    /*** IUnknown methods ***/
727    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
728        ITfCompositionView* This,
729        REFIID riid,
730        void **ppvObject);
731
732    ULONG (STDMETHODCALLTYPE *AddRef)(
733        ITfCompositionView* This);
734
735    ULONG (STDMETHODCALLTYPE *Release)(
736        ITfCompositionView* This);
737
738    /*** ITfCompositionView methods ***/
739    HRESULT (STDMETHODCALLTYPE *GetOwnerClsid)(
740        ITfCompositionView* This,
741        CLSID *pclsid);
742
743    HRESULT (STDMETHODCALLTYPE *GetRange)(
744        ITfCompositionView* This,
745        ITfRange **ppRange);
746
747    END_INTERFACE
748} ITfCompositionViewVtbl;
749interface ITfCompositionView {
750    CONST_VTBL ITfCompositionViewVtbl* lpVtbl;
751};
752
753#ifdef COBJMACROS
754#ifndef WIDL_C_INLINE_WRAPPERS
755/*** IUnknown methods ***/
756#define ITfCompositionView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
757#define ITfCompositionView_AddRef(This) (This)->lpVtbl->AddRef(This)
758#define ITfCompositionView_Release(This) (This)->lpVtbl->Release(This)
759/*** ITfCompositionView methods ***/
760#define ITfCompositionView_GetOwnerClsid(This,pclsid) (This)->lpVtbl->GetOwnerClsid(This,pclsid)
761#define ITfCompositionView_GetRange(This,ppRange) (This)->lpVtbl->GetRange(This,ppRange)
762#else
763/*** IUnknown methods ***/
764static FORCEINLINE HRESULT ITfCompositionView_QueryInterface(ITfCompositionView* This,REFIID riid,void **ppvObject) {
765    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
766}
767static FORCEINLINE ULONG ITfCompositionView_AddRef(ITfCompositionView* This) {
768    return This->lpVtbl->AddRef(This);
769}
770static FORCEINLINE ULONG ITfCompositionView_Release(ITfCompositionView* This) {
771    return This->lpVtbl->Release(This);
772}
773/*** ITfCompositionView methods ***/
774static FORCEINLINE HRESULT ITfCompositionView_GetOwnerClsid(ITfCompositionView* This,CLSID *pclsid) {
775    return This->lpVtbl->GetOwnerClsid(This,pclsid);
776}
777static FORCEINLINE HRESULT ITfCompositionView_GetRange(ITfCompositionView* This,ITfRange **ppRange) {
778    return This->lpVtbl->GetRange(This,ppRange);
779}
780#endif
781#endif
782
783#endif
784
785HRESULT STDMETHODCALLTYPE ITfCompositionView_GetOwnerClsid_Proxy(
786    ITfCompositionView* This,
787    CLSID *pclsid);
788void __RPC_STUB ITfCompositionView_GetOwnerClsid_Stub(
789    IRpcStubBuffer* This,
790    IRpcChannelBuffer* pRpcChannelBuffer,
791    PRPC_MESSAGE pRpcMessage,
792    DWORD* pdwStubPhase);
793HRESULT STDMETHODCALLTYPE ITfCompositionView_GetRange_Proxy(
794    ITfCompositionView* This,
795    ITfRange **ppRange);
796void __RPC_STUB ITfCompositionView_GetRange_Stub(
797    IRpcStubBuffer* This,
798    IRpcChannelBuffer* pRpcChannelBuffer,
799    PRPC_MESSAGE pRpcMessage,
800    DWORD* pdwStubPhase);
801
802#endif  /* __ITfCompositionView_INTERFACE_DEFINED__ */
803
804/*****************************************************************************
805 * ITfDocumentMgr interface
806 */
807#ifndef __ITfDocumentMgr_INTERFACE_DEFINED__
808#define __ITfDocumentMgr_INTERFACE_DEFINED__
809
810#define TF_POPF_ALL (0x1)
811
812DEFINE_GUID(IID_ITfDocumentMgr, 0xaa80e7f4, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
813#if defined(__cplusplus) && !defined(CINTERFACE)
814MIDL_INTERFACE("aa80e7f4-2021-11d2-93e0-0060b067b86e")
815ITfDocumentMgr : public IUnknown
816{
817    virtual HRESULT STDMETHODCALLTYPE CreateContext(
818        TfClientId tidOwner,
819        DWORD dwFlags,
820        IUnknown *punk,
821        ITfContext **ppic,
822        TfEditCookie *pecTextStore) = 0;
823
824    virtual HRESULT STDMETHODCALLTYPE Push(
825        ITfContext *pic) = 0;
826
827    virtual HRESULT STDMETHODCALLTYPE Pop(
828        DWORD dwFlags) = 0;
829
830    virtual HRESULT STDMETHODCALLTYPE GetTop(
831        ITfContext **ppic) = 0;
832
833    virtual HRESULT STDMETHODCALLTYPE GetBase(
834        ITfContext **ppic) = 0;
835
836    virtual HRESULT STDMETHODCALLTYPE EnumContexts(
837        IEnumTfContexts **ppEnum) = 0;
838
839};
840#ifdef __CRT_UUID_DECL
841__CRT_UUID_DECL(ITfDocumentMgr, 0xaa80e7f4, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
842#endif
843#else
844typedef struct ITfDocumentMgrVtbl {
845    BEGIN_INTERFACE
846
847    /*** IUnknown methods ***/
848    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
849        ITfDocumentMgr* This,
850        REFIID riid,
851        void **ppvObject);
852
853    ULONG (STDMETHODCALLTYPE *AddRef)(
854        ITfDocumentMgr* This);
855
856    ULONG (STDMETHODCALLTYPE *Release)(
857        ITfDocumentMgr* This);
858
859    /*** ITfDocumentMgr methods ***/
860    HRESULT (STDMETHODCALLTYPE *CreateContext)(
861        ITfDocumentMgr* This,
862        TfClientId tidOwner,
863        DWORD dwFlags,
864        IUnknown *punk,
865        ITfContext **ppic,
866        TfEditCookie *pecTextStore);
867
868    HRESULT (STDMETHODCALLTYPE *Push)(
869        ITfDocumentMgr* This,
870        ITfContext *pic);
871
872    HRESULT (STDMETHODCALLTYPE *Pop)(
873        ITfDocumentMgr* This,
874        DWORD dwFlags);
875
876    HRESULT (STDMETHODCALLTYPE *GetTop)(
877        ITfDocumentMgr* This,
878        ITfContext **ppic);
879
880    HRESULT (STDMETHODCALLTYPE *GetBase)(
881        ITfDocumentMgr* This,
882        ITfContext **ppic);
883
884    HRESULT (STDMETHODCALLTYPE *EnumContexts)(
885        ITfDocumentMgr* This,
886        IEnumTfContexts **ppEnum);
887
888    END_INTERFACE
889} ITfDocumentMgrVtbl;
890interface ITfDocumentMgr {
891    CONST_VTBL ITfDocumentMgrVtbl* lpVtbl;
892};
893
894#ifdef COBJMACROS
895#ifndef WIDL_C_INLINE_WRAPPERS
896/*** IUnknown methods ***/
897#define ITfDocumentMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
898#define ITfDocumentMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
899#define ITfDocumentMgr_Release(This) (This)->lpVtbl->Release(This)
900/*** ITfDocumentMgr methods ***/
901#define ITfDocumentMgr_CreateContext(This,tidOwner,dwFlags,punk,ppic,pecTextStore) (This)->lpVtbl->CreateContext(This,tidOwner,dwFlags,punk,ppic,pecTextStore)
902#define ITfDocumentMgr_Push(This,pic) (This)->lpVtbl->Push(This,pic)
903#define ITfDocumentMgr_Pop(This,dwFlags) (This)->lpVtbl->Pop(This,dwFlags)
904#define ITfDocumentMgr_GetTop(This,ppic) (This)->lpVtbl->GetTop(This,ppic)
905#define ITfDocumentMgr_GetBase(This,ppic) (This)->lpVtbl->GetBase(This,ppic)
906#define ITfDocumentMgr_EnumContexts(This,ppEnum) (This)->lpVtbl->EnumContexts(This,ppEnum)
907#else
908/*** IUnknown methods ***/
909static FORCEINLINE HRESULT ITfDocumentMgr_QueryInterface(ITfDocumentMgr* This,REFIID riid,void **ppvObject) {
910    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
911}
912static FORCEINLINE ULONG ITfDocumentMgr_AddRef(ITfDocumentMgr* This) {
913    return This->lpVtbl->AddRef(This);
914}
915static FORCEINLINE ULONG ITfDocumentMgr_Release(ITfDocumentMgr* This) {
916    return This->lpVtbl->Release(This);
917}
918/*** ITfDocumentMgr methods ***/
919static FORCEINLINE HRESULT ITfDocumentMgr_CreateContext(ITfDocumentMgr* This,TfClientId tidOwner,DWORD dwFlags,IUnknown *punk,ITfContext **ppic,TfEditCookie *pecTextStore) {
920    return This->lpVtbl->CreateContext(This,tidOwner,dwFlags,punk,ppic,pecTextStore);
921}
922static FORCEINLINE HRESULT ITfDocumentMgr_Push(ITfDocumentMgr* This,ITfContext *pic) {
923    return This->lpVtbl->Push(This,pic);
924}
925static FORCEINLINE HRESULT ITfDocumentMgr_Pop(ITfDocumentMgr* This,DWORD dwFlags) {
926    return This->lpVtbl->Pop(This,dwFlags);
927}
928static FORCEINLINE HRESULT ITfDocumentMgr_GetTop(ITfDocumentMgr* This,ITfContext **ppic) {
929    return This->lpVtbl->GetTop(This,ppic);
930}
931static FORCEINLINE HRESULT ITfDocumentMgr_GetBase(ITfDocumentMgr* This,ITfContext **ppic) {
932    return This->lpVtbl->GetBase(This,ppic);
933}
934static FORCEINLINE HRESULT ITfDocumentMgr_EnumContexts(ITfDocumentMgr* This,IEnumTfContexts **ppEnum) {
935    return This->lpVtbl->EnumContexts(This,ppEnum);
936}
937#endif
938#endif
939
940#endif
941
942HRESULT STDMETHODCALLTYPE ITfDocumentMgr_CreateContext_Proxy(
943    ITfDocumentMgr* This,
944    TfClientId tidOwner,
945    DWORD dwFlags,
946    IUnknown *punk,
947    ITfContext **ppic,
948    TfEditCookie *pecTextStore);
949void __RPC_STUB ITfDocumentMgr_CreateContext_Stub(
950    IRpcStubBuffer* This,
951    IRpcChannelBuffer* pRpcChannelBuffer,
952    PRPC_MESSAGE pRpcMessage,
953    DWORD* pdwStubPhase);
954HRESULT STDMETHODCALLTYPE ITfDocumentMgr_Push_Proxy(
955    ITfDocumentMgr* This,
956    ITfContext *pic);
957void __RPC_STUB ITfDocumentMgr_Push_Stub(
958    IRpcStubBuffer* This,
959    IRpcChannelBuffer* pRpcChannelBuffer,
960    PRPC_MESSAGE pRpcMessage,
961    DWORD* pdwStubPhase);
962HRESULT STDMETHODCALLTYPE ITfDocumentMgr_Pop_Proxy(
963    ITfDocumentMgr* This,
964    DWORD dwFlags);
965void __RPC_STUB ITfDocumentMgr_Pop_Stub(
966    IRpcStubBuffer* This,
967    IRpcChannelBuffer* pRpcChannelBuffer,
968    PRPC_MESSAGE pRpcMessage,
969    DWORD* pdwStubPhase);
970HRESULT STDMETHODCALLTYPE ITfDocumentMgr_GetTop_Proxy(
971    ITfDocumentMgr* This,
972    ITfContext **ppic);
973void __RPC_STUB ITfDocumentMgr_GetTop_Stub(
974    IRpcStubBuffer* This,
975    IRpcChannelBuffer* pRpcChannelBuffer,
976    PRPC_MESSAGE pRpcMessage,
977    DWORD* pdwStubPhase);
978HRESULT STDMETHODCALLTYPE ITfDocumentMgr_GetBase_Proxy(
979    ITfDocumentMgr* This,
980    ITfContext **ppic);
981void __RPC_STUB ITfDocumentMgr_GetBase_Stub(
982    IRpcStubBuffer* This,
983    IRpcChannelBuffer* pRpcChannelBuffer,
984    PRPC_MESSAGE pRpcMessage,
985    DWORD* pdwStubPhase);
986HRESULT STDMETHODCALLTYPE ITfDocumentMgr_EnumContexts_Proxy(
987    ITfDocumentMgr* This,
988    IEnumTfContexts **ppEnum);
989void __RPC_STUB ITfDocumentMgr_EnumContexts_Stub(
990    IRpcStubBuffer* This,
991    IRpcChannelBuffer* pRpcChannelBuffer,
992    PRPC_MESSAGE pRpcMessage,
993    DWORD* pdwStubPhase);
994
995#endif  /* __ITfDocumentMgr_INTERFACE_DEFINED__ */
996
997/*****************************************************************************
998 * ITfContext interface
999 */
1000#ifndef __ITfContext_INTERFACE_DEFINED__
1001#define __ITfContext_INTERFACE_DEFINED__
1002
1003#define TF_ES_ASYNCDONTCARE (0x0)
1004
1005#define TF_ES_SYNC (0x1)
1006
1007#define TF_ES_READ (0x2)
1008
1009#define TF_ES_READWRITE (0x6)
1010
1011#define TF_ES_ASYNC (0x8)
1012
1013typedef enum __WIDL_msctf_generated_name_00000001 {
1014    TF_AE_NONE = 0,
1015    TF_AE_START = 1,
1016    TF_AE_END = 2
1017} TfActiveSelEnd;
1018typedef struct TF_SELECTIONSTYLE {
1019    TfActiveSelEnd ase;
1020    WINBOOL fInterimChar;
1021} TF_SELECTIONSTYLE;
1022typedef struct TF_SELECTION {
1023    ITfRange *range;
1024    TF_SELECTIONSTYLE style;
1025} TF_SELECTION;
1026#define TF_DEFAULT_SELECTION (TS_DEFAULT_SELECTION)
1027
1028typedef TS_STATUS TF_STATUS;
1029#define TF_SD_READONLY (TS_SD_READONLY)
1030
1031#define TF_SD_LOADING (TS_SD_LOADING)
1032
1033#define TF_SS_DISJOINTSEL (TS_SS_DISJOINTSEL)
1034
1035#define TF_SS_REGIONS (TS_SS_REGIONS)
1036
1037#define TF_SS_TRANSITORY (TS_SS_TRANSITORY)
1038
1039DEFINE_GUID(IID_ITfContext, 0xaa80e7fd, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
1040#if defined(__cplusplus) && !defined(CINTERFACE)
1041MIDL_INTERFACE("aa80e7fd-2021-11d2-93e0-0060b067b86e")
1042ITfContext : public IUnknown
1043{
1044    virtual HRESULT STDMETHODCALLTYPE RequestEditSession(
1045        TfClientId tid,
1046        ITfEditSession *pes,
1047        DWORD dwFlags,
1048        HRESULT *phrSession) = 0;
1049
1050    virtual HRESULT STDMETHODCALLTYPE InWriteSession(
1051        TfClientId tid,
1052        WINBOOL *pfWriteSession) = 0;
1053
1054    virtual HRESULT STDMETHODCALLTYPE GetSelection(
1055        TfEditCookie ec,
1056        ULONG ulIndex,
1057        ULONG ulCount,
1058        TF_SELECTION *pSelection,
1059        ULONG *pcFetched) = 0;
1060
1061    virtual HRESULT STDMETHODCALLTYPE SetSelection(
1062        TfEditCookie ec,
1063        ULONG ulCount,
1064        const TF_SELECTION *pSelection) = 0;
1065
1066    virtual HRESULT STDMETHODCALLTYPE GetStart(
1067        TfEditCookie ec,
1068        ITfRange **ppStart) = 0;
1069
1070    virtual HRESULT STDMETHODCALLTYPE GetEnd(
1071        TfEditCookie ec,
1072        ITfRange **ppEnd) = 0;
1073
1074    virtual HRESULT STDMETHODCALLTYPE GetActiveView(
1075        ITfContextView **ppView) = 0;
1076
1077    virtual HRESULT STDMETHODCALLTYPE EnumViews(
1078        IEnumTfContextViews **ppEnum) = 0;
1079
1080    virtual HRESULT STDMETHODCALLTYPE GetStatus(
1081        TF_STATUS *pdcs) = 0;
1082
1083    virtual HRESULT STDMETHODCALLTYPE GetProperty(
1084        REFGUID guidProp,
1085        ITfProperty **ppProp) = 0;
1086
1087    virtual HRESULT STDMETHODCALLTYPE GetAppProperty(
1088        REFGUID guidProp,
1089        ITfReadOnlyProperty **ppProp) = 0;
1090
1091    virtual HRESULT STDMETHODCALLTYPE TrackProperties(
1092        const GUID **prgProp,
1093        ULONG cProp,
1094        const GUID **prgAppProp,
1095        ULONG cAppProp,
1096        ITfReadOnlyProperty **ppProperty) = 0;
1097
1098    virtual HRESULT STDMETHODCALLTYPE EnumProperties(
1099        IEnumTfProperties **ppEnum) = 0;
1100
1101    virtual HRESULT STDMETHODCALLTYPE GetDocumentMgr(
1102        ITfDocumentMgr **ppDm) = 0;
1103
1104    virtual HRESULT STDMETHODCALLTYPE CreateRangeBackup(
1105        TfEditCookie ec,
1106        ITfRange *pRange,
1107        ITfRangeBackup **ppBackup) = 0;
1108
1109};
1110#ifdef __CRT_UUID_DECL
1111__CRT_UUID_DECL(ITfContext, 0xaa80e7fd, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
1112#endif
1113#else
1114typedef struct ITfContextVtbl {
1115    BEGIN_INTERFACE
1116
1117    /*** IUnknown methods ***/
1118    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1119        ITfContext* This,
1120        REFIID riid,
1121        void **ppvObject);
1122
1123    ULONG (STDMETHODCALLTYPE *AddRef)(
1124        ITfContext* This);
1125
1126    ULONG (STDMETHODCALLTYPE *Release)(
1127        ITfContext* This);
1128
1129    /*** ITfContext methods ***/
1130    HRESULT (STDMETHODCALLTYPE *RequestEditSession)(
1131        ITfContext* This,
1132        TfClientId tid,
1133        ITfEditSession *pes,
1134        DWORD dwFlags,
1135        HRESULT *phrSession);
1136
1137    HRESULT (STDMETHODCALLTYPE *InWriteSession)(
1138        ITfContext* This,
1139        TfClientId tid,
1140        WINBOOL *pfWriteSession);
1141
1142    HRESULT (STDMETHODCALLTYPE *GetSelection)(
1143        ITfContext* This,
1144        TfEditCookie ec,
1145        ULONG ulIndex,
1146        ULONG ulCount,
1147        TF_SELECTION *pSelection,
1148        ULONG *pcFetched);
1149
1150    HRESULT (STDMETHODCALLTYPE *SetSelection)(
1151        ITfContext* This,
1152        TfEditCookie ec,
1153        ULONG ulCount,
1154        const TF_SELECTION *pSelection);
1155
1156    HRESULT (STDMETHODCALLTYPE *GetStart)(
1157        ITfContext* This,
1158        TfEditCookie ec,
1159        ITfRange **ppStart);
1160
1161    HRESULT (STDMETHODCALLTYPE *GetEnd)(
1162        ITfContext* This,
1163        TfEditCookie ec,
1164        ITfRange **ppEnd);
1165
1166    HRESULT (STDMETHODCALLTYPE *GetActiveView)(
1167        ITfContext* This,
1168        ITfContextView **ppView);
1169
1170    HRESULT (STDMETHODCALLTYPE *EnumViews)(
1171        ITfContext* This,
1172        IEnumTfContextViews **ppEnum);
1173
1174    HRESULT (STDMETHODCALLTYPE *GetStatus)(
1175        ITfContext* This,
1176        TF_STATUS *pdcs);
1177
1178    HRESULT (STDMETHODCALLTYPE *GetProperty)(
1179        ITfContext* This,
1180        REFGUID guidProp,
1181        ITfProperty **ppProp);
1182
1183    HRESULT (STDMETHODCALLTYPE *GetAppProperty)(
1184        ITfContext* This,
1185        REFGUID guidProp,
1186        ITfReadOnlyProperty **ppProp);
1187
1188    HRESULT (STDMETHODCALLTYPE *TrackProperties)(
1189        ITfContext* This,
1190        const GUID **prgProp,
1191        ULONG cProp,
1192        const GUID **prgAppProp,
1193        ULONG cAppProp,
1194        ITfReadOnlyProperty **ppProperty);
1195
1196    HRESULT (STDMETHODCALLTYPE *EnumProperties)(
1197        ITfContext* This,
1198        IEnumTfProperties **ppEnum);
1199
1200    HRESULT (STDMETHODCALLTYPE *GetDocumentMgr)(
1201        ITfContext* This,
1202        ITfDocumentMgr **ppDm);
1203
1204    HRESULT (STDMETHODCALLTYPE *CreateRangeBackup)(
1205        ITfContext* This,
1206        TfEditCookie ec,
1207        ITfRange *pRange,
1208        ITfRangeBackup **ppBackup);
1209
1210    END_INTERFACE
1211} ITfContextVtbl;
1212interface ITfContext {
1213    CONST_VTBL ITfContextVtbl* lpVtbl;
1214};
1215
1216#ifdef COBJMACROS
1217#ifndef WIDL_C_INLINE_WRAPPERS
1218/*** IUnknown methods ***/
1219#define ITfContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1220#define ITfContext_AddRef(This) (This)->lpVtbl->AddRef(This)
1221#define ITfContext_Release(This) (This)->lpVtbl->Release(This)
1222/*** ITfContext methods ***/
1223#define ITfContext_RequestEditSession(This,tid,pes,dwFlags,phrSession) (This)->lpVtbl->RequestEditSession(This,tid,pes,dwFlags,phrSession)
1224#define ITfContext_InWriteSession(This,tid,pfWriteSession) (This)->lpVtbl->InWriteSession(This,tid,pfWriteSession)
1225#define ITfContext_GetSelection(This,ec,ulIndex,ulCount,pSelection,pcFetched) (This)->lpVtbl->GetSelection(This,ec,ulIndex,ulCount,pSelection,pcFetched)
1226#define ITfContext_SetSelection(This,ec,ulCount,pSelection) (This)->lpVtbl->SetSelection(This,ec,ulCount,pSelection)
1227#define ITfContext_GetStart(This,ec,ppStart) (This)->lpVtbl->GetStart(This,ec,ppStart)
1228#define ITfContext_GetEnd(This,ec,ppEnd) (This)->lpVtbl->GetEnd(This,ec,ppEnd)
1229#define ITfContext_GetActiveView(This,ppView) (This)->lpVtbl->GetActiveView(This,ppView)
1230#define ITfContext_EnumViews(This,ppEnum) (This)->lpVtbl->EnumViews(This,ppEnum)
1231#define ITfContext_GetStatus(This,pdcs) (This)->lpVtbl->GetStatus(This,pdcs)
1232#define ITfContext_GetProperty(This,guidProp,ppProp) (This)->lpVtbl->GetProperty(This,guidProp,ppProp)
1233#define ITfContext_GetAppProperty(This,guidProp,ppProp) (This)->lpVtbl->GetAppProperty(This,guidProp,ppProp)
1234#define ITfContext_TrackProperties(This,prgProp,cProp,prgAppProp,cAppProp,ppProperty) (This)->lpVtbl->TrackProperties(This,prgProp,cProp,prgAppProp,cAppProp,ppProperty)
1235#define ITfContext_EnumProperties(This,ppEnum) (This)->lpVtbl->EnumProperties(This,ppEnum)
1236#define ITfContext_GetDocumentMgr(This,ppDm) (This)->lpVtbl->GetDocumentMgr(This,ppDm)
1237#define ITfContext_CreateRangeBackup(This,ec,pRange,ppBackup) (This)->lpVtbl->CreateRangeBackup(This,ec,pRange,ppBackup)
1238#else
1239/*** IUnknown methods ***/
1240static FORCEINLINE HRESULT ITfContext_QueryInterface(ITfContext* This,REFIID riid,void **ppvObject) {
1241    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1242}
1243static FORCEINLINE ULONG ITfContext_AddRef(ITfContext* This) {
1244    return This->lpVtbl->AddRef(This);
1245}
1246static FORCEINLINE ULONG ITfContext_Release(ITfContext* This) {
1247    return This->lpVtbl->Release(This);
1248}
1249/*** ITfContext methods ***/
1250static FORCEINLINE HRESULT ITfContext_RequestEditSession(ITfContext* This,TfClientId tid,ITfEditSession *pes,DWORD dwFlags,HRESULT *phrSession) {
1251    return This->lpVtbl->RequestEditSession(This,tid,pes,dwFlags,phrSession);
1252}
1253static FORCEINLINE HRESULT ITfContext_InWriteSession(ITfContext* This,TfClientId tid,WINBOOL *pfWriteSession) {
1254    return This->lpVtbl->InWriteSession(This,tid,pfWriteSession);
1255}
1256static FORCEINLINE HRESULT ITfContext_GetSelection(ITfContext* This,TfEditCookie ec,ULONG ulIndex,ULONG ulCount,TF_SELECTION *pSelection,ULONG *pcFetched) {
1257    return This->lpVtbl->GetSelection(This,ec,ulIndex,ulCount,pSelection,pcFetched);
1258}
1259static FORCEINLINE HRESULT ITfContext_SetSelection(ITfContext* This,TfEditCookie ec,ULONG ulCount,const TF_SELECTION *pSelection) {
1260    return This->lpVtbl->SetSelection(This,ec,ulCount,pSelection);
1261}
1262static FORCEINLINE HRESULT ITfContext_GetStart(ITfContext* This,TfEditCookie ec,ITfRange **ppStart) {
1263    return This->lpVtbl->GetStart(This,ec,ppStart);
1264}
1265static FORCEINLINE HRESULT ITfContext_GetEnd(ITfContext* This,TfEditCookie ec,ITfRange **ppEnd) {
1266    return This->lpVtbl->GetEnd(This,ec,ppEnd);
1267}
1268static FORCEINLINE HRESULT ITfContext_GetActiveView(ITfContext* This,ITfContextView **ppView) {
1269    return This->lpVtbl->GetActiveView(This,ppView);
1270}
1271static FORCEINLINE HRESULT ITfContext_EnumViews(ITfContext* This,IEnumTfContextViews **ppEnum) {
1272    return This->lpVtbl->EnumViews(This,ppEnum);
1273}
1274static FORCEINLINE HRESULT ITfContext_GetStatus(ITfContext* This,TF_STATUS *pdcs) {
1275    return This->lpVtbl->GetStatus(This,pdcs);
1276}
1277static FORCEINLINE HRESULT ITfContext_GetProperty(ITfContext* This,REFGUID guidProp,ITfProperty **ppProp) {
1278    return This->lpVtbl->GetProperty(This,guidProp,ppProp);
1279}
1280static FORCEINLINE HRESULT ITfContext_GetAppProperty(ITfContext* This,REFGUID guidProp,ITfReadOnlyProperty **ppProp) {
1281    return This->lpVtbl->GetAppProperty(This,guidProp,ppProp);
1282}
1283static FORCEINLINE HRESULT ITfContext_TrackProperties(ITfContext* This,const GUID **prgProp,ULONG cProp,const GUID **prgAppProp,ULONG cAppProp,ITfReadOnlyProperty **ppProperty) {
1284    return This->lpVtbl->TrackProperties(This,prgProp,cProp,prgAppProp,cAppProp,ppProperty);
1285}
1286static FORCEINLINE HRESULT ITfContext_EnumProperties(ITfContext* This,IEnumTfProperties **ppEnum) {
1287    return This->lpVtbl->EnumProperties(This,ppEnum);
1288}
1289static FORCEINLINE HRESULT ITfContext_GetDocumentMgr(ITfContext* This,ITfDocumentMgr **ppDm) {
1290    return This->lpVtbl->GetDocumentMgr(This,ppDm);
1291}
1292static FORCEINLINE HRESULT ITfContext_CreateRangeBackup(ITfContext* This,TfEditCookie ec,ITfRange *pRange,ITfRangeBackup **ppBackup) {
1293    return This->lpVtbl->CreateRangeBackup(This,ec,pRange,ppBackup);
1294}
1295#endif
1296#endif
1297
1298#endif
1299
1300HRESULT STDMETHODCALLTYPE ITfContext_RequestEditSession_Proxy(
1301    ITfContext* This,
1302    TfClientId tid,
1303    ITfEditSession *pes,
1304    DWORD dwFlags,
1305    HRESULT *phrSession);
1306void __RPC_STUB ITfContext_RequestEditSession_Stub(
1307    IRpcStubBuffer* This,
1308    IRpcChannelBuffer* pRpcChannelBuffer,
1309    PRPC_MESSAGE pRpcMessage,
1310    DWORD* pdwStubPhase);
1311HRESULT STDMETHODCALLTYPE ITfContext_InWriteSession_Proxy(
1312    ITfContext* This,
1313    TfClientId tid,
1314    WINBOOL *pfWriteSession);
1315void __RPC_STUB ITfContext_InWriteSession_Stub(
1316    IRpcStubBuffer* This,
1317    IRpcChannelBuffer* pRpcChannelBuffer,
1318    PRPC_MESSAGE pRpcMessage,
1319    DWORD* pdwStubPhase);
1320HRESULT STDMETHODCALLTYPE ITfContext_GetSelection_Proxy(
1321    ITfContext* This,
1322    TfEditCookie ec,
1323    ULONG ulIndex,
1324    ULONG ulCount,
1325    TF_SELECTION *pSelection,
1326    ULONG *pcFetched);
1327void __RPC_STUB ITfContext_GetSelection_Stub(
1328    IRpcStubBuffer* This,
1329    IRpcChannelBuffer* pRpcChannelBuffer,
1330    PRPC_MESSAGE pRpcMessage,
1331    DWORD* pdwStubPhase);
1332HRESULT STDMETHODCALLTYPE ITfContext_SetSelection_Proxy(
1333    ITfContext* This,
1334    TfEditCookie ec,
1335    ULONG ulCount,
1336    const TF_SELECTION *pSelection);
1337void __RPC_STUB ITfContext_SetSelection_Stub(
1338    IRpcStubBuffer* This,
1339    IRpcChannelBuffer* pRpcChannelBuffer,
1340    PRPC_MESSAGE pRpcMessage,
1341    DWORD* pdwStubPhase);
1342HRESULT STDMETHODCALLTYPE ITfContext_GetStart_Proxy(
1343    ITfContext* This,
1344    TfEditCookie ec,
1345    ITfRange **ppStart);
1346void __RPC_STUB ITfContext_GetStart_Stub(
1347    IRpcStubBuffer* This,
1348    IRpcChannelBuffer* pRpcChannelBuffer,
1349    PRPC_MESSAGE pRpcMessage,
1350    DWORD* pdwStubPhase);
1351HRESULT STDMETHODCALLTYPE ITfContext_GetEnd_Proxy(
1352    ITfContext* This,
1353    TfEditCookie ec,
1354    ITfRange **ppEnd);
1355void __RPC_STUB ITfContext_GetEnd_Stub(
1356    IRpcStubBuffer* This,
1357    IRpcChannelBuffer* pRpcChannelBuffer,
1358    PRPC_MESSAGE pRpcMessage,
1359    DWORD* pdwStubPhase);
1360HRESULT STDMETHODCALLTYPE ITfContext_GetActiveView_Proxy(
1361    ITfContext* This,
1362    ITfContextView **ppView);
1363void __RPC_STUB ITfContext_GetActiveView_Stub(
1364    IRpcStubBuffer* This,
1365    IRpcChannelBuffer* pRpcChannelBuffer,
1366    PRPC_MESSAGE pRpcMessage,
1367    DWORD* pdwStubPhase);
1368HRESULT STDMETHODCALLTYPE ITfContext_EnumViews_Proxy(
1369    ITfContext* This,
1370    IEnumTfContextViews **ppEnum);
1371void __RPC_STUB ITfContext_EnumViews_Stub(
1372    IRpcStubBuffer* This,
1373    IRpcChannelBuffer* pRpcChannelBuffer,
1374    PRPC_MESSAGE pRpcMessage,
1375    DWORD* pdwStubPhase);
1376HRESULT STDMETHODCALLTYPE ITfContext_GetStatus_Proxy(
1377    ITfContext* This,
1378    TF_STATUS *pdcs);
1379void __RPC_STUB ITfContext_GetStatus_Stub(
1380    IRpcStubBuffer* This,
1381    IRpcChannelBuffer* pRpcChannelBuffer,
1382    PRPC_MESSAGE pRpcMessage,
1383    DWORD* pdwStubPhase);
1384HRESULT STDMETHODCALLTYPE ITfContext_GetProperty_Proxy(
1385    ITfContext* This,
1386    REFGUID guidProp,
1387    ITfProperty **ppProp);
1388void __RPC_STUB ITfContext_GetProperty_Stub(
1389    IRpcStubBuffer* This,
1390    IRpcChannelBuffer* pRpcChannelBuffer,
1391    PRPC_MESSAGE pRpcMessage,
1392    DWORD* pdwStubPhase);
1393HRESULT STDMETHODCALLTYPE ITfContext_GetAppProperty_Proxy(
1394    ITfContext* This,
1395    REFGUID guidProp,
1396    ITfReadOnlyProperty **ppProp);
1397void __RPC_STUB ITfContext_GetAppProperty_Stub(
1398    IRpcStubBuffer* This,
1399    IRpcChannelBuffer* pRpcChannelBuffer,
1400    PRPC_MESSAGE pRpcMessage,
1401    DWORD* pdwStubPhase);
1402HRESULT STDMETHODCALLTYPE ITfContext_TrackProperties_Proxy(
1403    ITfContext* This,
1404    const GUID **prgProp,
1405    ULONG cProp,
1406    const GUID **prgAppProp,
1407    ULONG cAppProp,
1408    ITfReadOnlyProperty **ppProperty);
1409void __RPC_STUB ITfContext_TrackProperties_Stub(
1410    IRpcStubBuffer* This,
1411    IRpcChannelBuffer* pRpcChannelBuffer,
1412    PRPC_MESSAGE pRpcMessage,
1413    DWORD* pdwStubPhase);
1414HRESULT STDMETHODCALLTYPE ITfContext_EnumProperties_Proxy(
1415    ITfContext* This,
1416    IEnumTfProperties **ppEnum);
1417void __RPC_STUB ITfContext_EnumProperties_Stub(
1418    IRpcStubBuffer* This,
1419    IRpcChannelBuffer* pRpcChannelBuffer,
1420    PRPC_MESSAGE pRpcMessage,
1421    DWORD* pdwStubPhase);
1422HRESULT STDMETHODCALLTYPE ITfContext_GetDocumentMgr_Proxy(
1423    ITfContext* This,
1424    ITfDocumentMgr **ppDm);
1425void __RPC_STUB ITfContext_GetDocumentMgr_Stub(
1426    IRpcStubBuffer* This,
1427    IRpcChannelBuffer* pRpcChannelBuffer,
1428    PRPC_MESSAGE pRpcMessage,
1429    DWORD* pdwStubPhase);
1430HRESULT STDMETHODCALLTYPE ITfContext_CreateRangeBackup_Proxy(
1431    ITfContext* This,
1432    TfEditCookie ec,
1433    ITfRange *pRange,
1434    ITfRangeBackup **ppBackup);
1435void __RPC_STUB ITfContext_CreateRangeBackup_Stub(
1436    IRpcStubBuffer* This,
1437    IRpcChannelBuffer* pRpcChannelBuffer,
1438    PRPC_MESSAGE pRpcMessage,
1439    DWORD* pdwStubPhase);
1440
1441#endif  /* __ITfContext_INTERFACE_DEFINED__ */
1442
1443/*****************************************************************************
1444 * ITfSource interface
1445 */
1446#ifndef __ITfSource_INTERFACE_DEFINED__
1447#define __ITfSource_INTERFACE_DEFINED__
1448
1449DEFINE_GUID(IID_ITfSource, 0x4ea48a35, 0x60ae, 0x446f, 0x8f,0xd6, 0xe6,0xa8,0xd8,0x24,0x59,0xf7);
1450#if defined(__cplusplus) && !defined(CINTERFACE)
1451MIDL_INTERFACE("4ea48a35-60ae-446f-8fd6-e6a8d82459f7")
1452ITfSource : public IUnknown
1453{
1454    virtual HRESULT STDMETHODCALLTYPE AdviseSink(
1455        REFIID riid,
1456        IUnknown *punk,
1457        DWORD *pdwCookie) = 0;
1458
1459    virtual HRESULT STDMETHODCALLTYPE UnadviseSink(
1460        DWORD dwCookie) = 0;
1461
1462};
1463#ifdef __CRT_UUID_DECL
1464__CRT_UUID_DECL(ITfSource, 0x4ea48a35, 0x60ae, 0x446f, 0x8f,0xd6, 0xe6,0xa8,0xd8,0x24,0x59,0xf7)
1465#endif
1466#else
1467typedef struct ITfSourceVtbl {
1468    BEGIN_INTERFACE
1469
1470    /*** IUnknown methods ***/
1471    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1472        ITfSource* This,
1473        REFIID riid,
1474        void **ppvObject);
1475
1476    ULONG (STDMETHODCALLTYPE *AddRef)(
1477        ITfSource* This);
1478
1479    ULONG (STDMETHODCALLTYPE *Release)(
1480        ITfSource* This);
1481
1482    /*** ITfSource methods ***/
1483    HRESULT (STDMETHODCALLTYPE *AdviseSink)(
1484        ITfSource* This,
1485        REFIID riid,
1486        IUnknown *punk,
1487        DWORD *pdwCookie);
1488
1489    HRESULT (STDMETHODCALLTYPE *UnadviseSink)(
1490        ITfSource* This,
1491        DWORD dwCookie);
1492
1493    END_INTERFACE
1494} ITfSourceVtbl;
1495interface ITfSource {
1496    CONST_VTBL ITfSourceVtbl* lpVtbl;
1497};
1498
1499#ifdef COBJMACROS
1500#ifndef WIDL_C_INLINE_WRAPPERS
1501/*** IUnknown methods ***/
1502#define ITfSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1503#define ITfSource_AddRef(This) (This)->lpVtbl->AddRef(This)
1504#define ITfSource_Release(This) (This)->lpVtbl->Release(This)
1505/*** ITfSource methods ***/
1506#define ITfSource_AdviseSink(This,riid,punk,pdwCookie) (This)->lpVtbl->AdviseSink(This,riid,punk,pdwCookie)
1507#define ITfSource_UnadviseSink(This,dwCookie) (This)->lpVtbl->UnadviseSink(This,dwCookie)
1508#else
1509/*** IUnknown methods ***/
1510static FORCEINLINE HRESULT ITfSource_QueryInterface(ITfSource* This,REFIID riid,void **ppvObject) {
1511    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1512}
1513static FORCEINLINE ULONG ITfSource_AddRef(ITfSource* This) {
1514    return This->lpVtbl->AddRef(This);
1515}
1516static FORCEINLINE ULONG ITfSource_Release(ITfSource* This) {
1517    return This->lpVtbl->Release(This);
1518}
1519/*** ITfSource methods ***/
1520static FORCEINLINE HRESULT ITfSource_AdviseSink(ITfSource* This,REFIID riid,IUnknown *punk,DWORD *pdwCookie) {
1521    return This->lpVtbl->AdviseSink(This,riid,punk,pdwCookie);
1522}
1523static FORCEINLINE HRESULT ITfSource_UnadviseSink(ITfSource* This,DWORD dwCookie) {
1524    return This->lpVtbl->UnadviseSink(This,dwCookie);
1525}
1526#endif
1527#endif
1528
1529#endif
1530
1531HRESULT STDMETHODCALLTYPE ITfSource_AdviseSink_Proxy(
1532    ITfSource* This,
1533    REFIID riid,
1534    IUnknown *punk,
1535    DWORD *pdwCookie);
1536void __RPC_STUB ITfSource_AdviseSink_Stub(
1537    IRpcStubBuffer* This,
1538    IRpcChannelBuffer* pRpcChannelBuffer,
1539    PRPC_MESSAGE pRpcMessage,
1540    DWORD* pdwStubPhase);
1541HRESULT STDMETHODCALLTYPE ITfSource_UnadviseSink_Proxy(
1542    ITfSource* This,
1543    DWORD dwCookie);
1544void __RPC_STUB ITfSource_UnadviseSink_Stub(
1545    IRpcStubBuffer* This,
1546    IRpcChannelBuffer* pRpcChannelBuffer,
1547    PRPC_MESSAGE pRpcMessage,
1548    DWORD* pdwStubPhase);
1549
1550#endif  /* __ITfSource_INTERFACE_DEFINED__ */
1551
1552/*****************************************************************************
1553 * ITfInputProcessorProfiles interface
1554 */
1555#ifndef __ITfInputProcessorProfiles_INTERFACE_DEFINED__
1556#define __ITfInputProcessorProfiles_INTERFACE_DEFINED__
1557
1558DEFINE_GUID(IID_ITfInputProcessorProfiles, 0x1f02b6c5, 0x7842, 0x4ee6, 0x8a,0x0b, 0x9a,0x24,0x18,0x3a,0x95,0xca);
1559#if defined(__cplusplus) && !defined(CINTERFACE)
1560MIDL_INTERFACE("1f02b6c5-7842-4ee6-8a0b-9a24183a95ca")
1561ITfInputProcessorProfiles : public IUnknown
1562{
1563    virtual HRESULT STDMETHODCALLTYPE Register(
1564        REFCLSID rclsid) = 0;
1565
1566    virtual HRESULT STDMETHODCALLTYPE Unregister(
1567        REFCLSID rclsid) = 0;
1568
1569    virtual HRESULT STDMETHODCALLTYPE AddLanguageProfile(
1570        REFCLSID rclsid,
1571        LANGID langid,
1572        REFGUID guidProfile,
1573        const WCHAR *pchDesc,
1574        ULONG cchDesc,
1575        const WCHAR *pchIconFile,
1576        ULONG cchFile,
1577        ULONG uIconIndex) = 0;
1578
1579    virtual HRESULT STDMETHODCALLTYPE RemoveLanguageProfile(
1580        REFCLSID rclsid,
1581        LANGID langid,
1582        REFGUID guidProfile) = 0;
1583
1584    virtual HRESULT STDMETHODCALLTYPE EnumInputProcessorInfo(
1585        IEnumGUID **ppEnum) = 0;
1586
1587    virtual HRESULT STDMETHODCALLTYPE GetDefaultLanguageProfile(
1588        LANGID langid,
1589        REFGUID catid,
1590        CLSID *pclsid,
1591        GUID *pguidProfile) = 0;
1592
1593    virtual HRESULT STDMETHODCALLTYPE SetDefaultLanguageProfile(
1594        LANGID langid,
1595        REFCLSID rclsid,
1596        REFGUID guidProfiles) = 0;
1597
1598    virtual HRESULT STDMETHODCALLTYPE ActivateLanguageProfile(
1599        REFCLSID rclsid,
1600        LANGID langid,
1601        REFGUID guidProfiles) = 0;
1602
1603    virtual HRESULT STDMETHODCALLTYPE GetActiveLanguageProfile(
1604        REFCLSID rclsid,
1605        LANGID *plangid,
1606        GUID *pguidProfile) = 0;
1607
1608    virtual HRESULT STDMETHODCALLTYPE GetLanguageProfileDescription(
1609        REFCLSID rclsid,
1610        LANGID langid,
1611        REFGUID guidProfile,
1612        BSTR *pbstrProfile) = 0;
1613
1614    virtual HRESULT STDMETHODCALLTYPE GetCurrentLanguage(
1615        LANGID *plangid) = 0;
1616
1617    virtual HRESULT STDMETHODCALLTYPE ChangeCurrentLanguage(
1618        LANGID langid) = 0;
1619
1620    virtual HRESULT STDMETHODCALLTYPE GetLanguageList(
1621        LANGID **ppLangId,
1622        ULONG *pulCount) = 0;
1623
1624    virtual HRESULT STDMETHODCALLTYPE EnumLanguageProfiles(
1625        LANGID langid,
1626        IEnumTfLanguageProfiles **ppEnum) = 0;
1627
1628    virtual HRESULT STDMETHODCALLTYPE EnableLanguageProfile(
1629        REFCLSID rclsid,
1630        LANGID langid,
1631        REFGUID guidProfile,
1632        WINBOOL fEnable) = 0;
1633
1634    virtual HRESULT STDMETHODCALLTYPE IsEnabledLanguageProfile(
1635        REFCLSID rclsid,
1636        LANGID langid,
1637        REFGUID guidProfile,
1638        WINBOOL *pfEnable) = 0;
1639
1640    virtual HRESULT STDMETHODCALLTYPE EnableLanguageProfileByDefault(
1641        REFCLSID rclsid,
1642        LANGID langid,
1643        REFGUID guidProfile,
1644        WINBOOL fEnable) = 0;
1645
1646    virtual HRESULT STDMETHODCALLTYPE SubstituteKeyboardLayout(
1647        REFCLSID rclsid,
1648        LANGID langid,
1649        REFGUID guidProfile,
1650        HKL hKL) = 0;
1651
1652};
1653#ifdef __CRT_UUID_DECL
1654__CRT_UUID_DECL(ITfInputProcessorProfiles, 0x1f02b6c5, 0x7842, 0x4ee6, 0x8a,0x0b, 0x9a,0x24,0x18,0x3a,0x95,0xca)
1655#endif
1656#else
1657typedef struct ITfInputProcessorProfilesVtbl {
1658    BEGIN_INTERFACE
1659
1660    /*** IUnknown methods ***/
1661    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1662        ITfInputProcessorProfiles* This,
1663        REFIID riid,
1664        void **ppvObject);
1665
1666    ULONG (STDMETHODCALLTYPE *AddRef)(
1667        ITfInputProcessorProfiles* This);
1668
1669    ULONG (STDMETHODCALLTYPE *Release)(
1670        ITfInputProcessorProfiles* This);
1671
1672    /*** ITfInputProcessorProfiles methods ***/
1673    HRESULT (STDMETHODCALLTYPE *Register)(
1674        ITfInputProcessorProfiles* This,
1675        REFCLSID rclsid);
1676
1677    HRESULT (STDMETHODCALLTYPE *Unregister)(
1678        ITfInputProcessorProfiles* This,
1679        REFCLSID rclsid);
1680
1681    HRESULT (STDMETHODCALLTYPE *AddLanguageProfile)(
1682        ITfInputProcessorProfiles* This,
1683        REFCLSID rclsid,
1684        LANGID langid,
1685        REFGUID guidProfile,
1686        const WCHAR *pchDesc,
1687        ULONG cchDesc,
1688        const WCHAR *pchIconFile,
1689        ULONG cchFile,
1690        ULONG uIconIndex);
1691
1692    HRESULT (STDMETHODCALLTYPE *RemoveLanguageProfile)(
1693        ITfInputProcessorProfiles* This,
1694        REFCLSID rclsid,
1695        LANGID langid,
1696        REFGUID guidProfile);
1697
1698    HRESULT (STDMETHODCALLTYPE *EnumInputProcessorInfo)(
1699        ITfInputProcessorProfiles* This,
1700        IEnumGUID **ppEnum);
1701
1702    HRESULT (STDMETHODCALLTYPE *GetDefaultLanguageProfile)(
1703        ITfInputProcessorProfiles* This,
1704        LANGID langid,
1705        REFGUID catid,
1706        CLSID *pclsid,
1707        GUID *pguidProfile);
1708
1709    HRESULT (STDMETHODCALLTYPE *SetDefaultLanguageProfile)(
1710        ITfInputProcessorProfiles* This,
1711        LANGID langid,
1712        REFCLSID rclsid,
1713        REFGUID guidProfiles);
1714
1715    HRESULT (STDMETHODCALLTYPE *ActivateLanguageProfile)(
1716        ITfInputProcessorProfiles* This,
1717        REFCLSID rclsid,
1718        LANGID langid,
1719        REFGUID guidProfiles);
1720
1721    HRESULT (STDMETHODCALLTYPE *GetActiveLanguageProfile)(
1722        ITfInputProcessorProfiles* This,
1723        REFCLSID rclsid,
1724        LANGID *plangid,
1725        GUID *pguidProfile);
1726
1727    HRESULT (STDMETHODCALLTYPE *GetLanguageProfileDescription)(
1728        ITfInputProcessorProfiles* This,
1729        REFCLSID rclsid,
1730        LANGID langid,
1731        REFGUID guidProfile,
1732        BSTR *pbstrProfile);
1733
1734    HRESULT (STDMETHODCALLTYPE *GetCurrentLanguage)(
1735        ITfInputProcessorProfiles* This,
1736        LANGID *plangid);
1737
1738    HRESULT (STDMETHODCALLTYPE *ChangeCurrentLanguage)(
1739        ITfInputProcessorProfiles* This,
1740        LANGID langid);
1741
1742    HRESULT (STDMETHODCALLTYPE *GetLanguageList)(
1743        ITfInputProcessorProfiles* This,
1744        LANGID **ppLangId,
1745        ULONG *pulCount);
1746
1747    HRESULT (STDMETHODCALLTYPE *EnumLanguageProfiles)(
1748        ITfInputProcessorProfiles* This,
1749        LANGID langid,
1750        IEnumTfLanguageProfiles **ppEnum);
1751
1752    HRESULT (STDMETHODCALLTYPE *EnableLanguageProfile)(
1753        ITfInputProcessorProfiles* This,
1754        REFCLSID rclsid,
1755        LANGID langid,
1756        REFGUID guidProfile,
1757        WINBOOL fEnable);
1758
1759    HRESULT (STDMETHODCALLTYPE *IsEnabledLanguageProfile)(
1760        ITfInputProcessorProfiles* This,
1761        REFCLSID rclsid,
1762        LANGID langid,
1763        REFGUID guidProfile,
1764        WINBOOL *pfEnable);
1765
1766    HRESULT (STDMETHODCALLTYPE *EnableLanguageProfileByDefault)(
1767        ITfInputProcessorProfiles* This,
1768        REFCLSID rclsid,
1769        LANGID langid,
1770        REFGUID guidProfile,
1771        WINBOOL fEnable);
1772
1773    HRESULT (STDMETHODCALLTYPE *SubstituteKeyboardLayout)(
1774        ITfInputProcessorProfiles* This,
1775        REFCLSID rclsid,
1776        LANGID langid,
1777        REFGUID guidProfile,
1778        HKL hKL);
1779
1780    END_INTERFACE
1781} ITfInputProcessorProfilesVtbl;
1782interface ITfInputProcessorProfiles {
1783    CONST_VTBL ITfInputProcessorProfilesVtbl* lpVtbl;
1784};
1785
1786#ifdef COBJMACROS
1787#ifndef WIDL_C_INLINE_WRAPPERS
1788/*** IUnknown methods ***/
1789#define ITfInputProcessorProfiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1790#define ITfInputProcessorProfiles_AddRef(This) (This)->lpVtbl->AddRef(This)
1791#define ITfInputProcessorProfiles_Release(This) (This)->lpVtbl->Release(This)
1792/*** ITfInputProcessorProfiles methods ***/
1793#define ITfInputProcessorProfiles_Register(This,rclsid) (This)->lpVtbl->Register(This,rclsid)
1794#define ITfInputProcessorProfiles_Unregister(This,rclsid) (This)->lpVtbl->Unregister(This,rclsid)
1795#define ITfInputProcessorProfiles_AddLanguageProfile(This,rclsid,langid,guidProfile,pchDesc,cchDesc,pchIconFile,cchFile,uIconIndex) (This)->lpVtbl->AddLanguageProfile(This,rclsid,langid,guidProfile,pchDesc,cchDesc,pchIconFile,cchFile,uIconIndex)
1796#define ITfInputProcessorProfiles_RemoveLanguageProfile(This,rclsid,langid,guidProfile) (This)->lpVtbl->RemoveLanguageProfile(This,rclsid,langid,guidProfile)
1797#define ITfInputProcessorProfiles_EnumInputProcessorInfo(This,ppEnum) (This)->lpVtbl->EnumInputProcessorInfo(This,ppEnum)
1798#define ITfInputProcessorProfiles_GetDefaultLanguageProfile(This,langid,catid,pclsid,pguidProfile) (This)->lpVtbl->GetDefaultLanguageProfile(This,langid,catid,pclsid,pguidProfile)
1799#define ITfInputProcessorProfiles_SetDefaultLanguageProfile(This,langid,rclsid,guidProfiles) (This)->lpVtbl->SetDefaultLanguageProfile(This,langid,rclsid,guidProfiles)
1800#define ITfInputProcessorProfiles_ActivateLanguageProfile(This,rclsid,langid,guidProfiles) (This)->lpVtbl->ActivateLanguageProfile(This,rclsid,langid,guidProfiles)
1801#define ITfInputProcessorProfiles_GetActiveLanguageProfile(This,rclsid,plangid,pguidProfile) (This)->lpVtbl->GetActiveLanguageProfile(This,rclsid,plangid,pguidProfile)
1802#define ITfInputProcessorProfiles_GetLanguageProfileDescription(This,rclsid,langid,guidProfile,pbstrProfile) (This)->lpVtbl->GetLanguageProfileDescription(This,rclsid,langid,guidProfile,pbstrProfile)
1803#define ITfInputProcessorProfiles_GetCurrentLanguage(This,plangid) (This)->lpVtbl->GetCurrentLanguage(This,plangid)
1804#define ITfInputProcessorProfiles_ChangeCurrentLanguage(This,langid) (This)->lpVtbl->ChangeCurrentLanguage(This,langid)
1805#define ITfInputProcessorProfiles_GetLanguageList(This,ppLangId,pulCount) (This)->lpVtbl->GetLanguageList(This,ppLangId,pulCount)
1806#define ITfInputProcessorProfiles_EnumLanguageProfiles(This,langid,ppEnum) (This)->lpVtbl->EnumLanguageProfiles(This,langid,ppEnum)
1807#define ITfInputProcessorProfiles_EnableLanguageProfile(This,rclsid,langid,guidProfile,fEnable) (This)->lpVtbl->EnableLanguageProfile(This,rclsid,langid,guidProfile,fEnable)
1808#define ITfInputProcessorProfiles_IsEnabledLanguageProfile(This,rclsid,langid,guidProfile,pfEnable) (This)->lpVtbl->IsEnabledLanguageProfile(This,rclsid,langid,guidProfile,pfEnable)
1809#define ITfInputProcessorProfiles_EnableLanguageProfileByDefault(This,rclsid,langid,guidProfile,fEnable) (This)->lpVtbl->EnableLanguageProfileByDefault(This,rclsid,langid,guidProfile,fEnable)
1810#define ITfInputProcessorProfiles_SubstituteKeyboardLayout(This,rclsid,langid,guidProfile,hKL) (This)->lpVtbl->SubstituteKeyboardLayout(This,rclsid,langid,guidProfile,hKL)
1811#else
1812/*** IUnknown methods ***/
1813static FORCEINLINE HRESULT ITfInputProcessorProfiles_QueryInterface(ITfInputProcessorProfiles* This,REFIID riid,void **ppvObject) {
1814    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1815}
1816static FORCEINLINE ULONG ITfInputProcessorProfiles_AddRef(ITfInputProcessorProfiles* This) {
1817    return This->lpVtbl->AddRef(This);
1818}
1819static FORCEINLINE ULONG ITfInputProcessorProfiles_Release(ITfInputProcessorProfiles* This) {
1820    return This->lpVtbl->Release(This);
1821}
1822/*** ITfInputProcessorProfiles methods ***/
1823static FORCEINLINE HRESULT ITfInputProcessorProfiles_Register(ITfInputProcessorProfiles* This,REFCLSID rclsid) {
1824    return This->lpVtbl->Register(This,rclsid);
1825}
1826static FORCEINLINE HRESULT ITfInputProcessorProfiles_Unregister(ITfInputProcessorProfiles* This,REFCLSID rclsid) {
1827    return This->lpVtbl->Unregister(This,rclsid);
1828}
1829static FORCEINLINE HRESULT ITfInputProcessorProfiles_AddLanguageProfile(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,const WCHAR *pchDesc,ULONG cchDesc,const WCHAR *pchIconFile,ULONG cchFile,ULONG uIconIndex) {
1830    return This->lpVtbl->AddLanguageProfile(This,rclsid,langid,guidProfile,pchDesc,cchDesc,pchIconFile,cchFile,uIconIndex);
1831}
1832static FORCEINLINE HRESULT ITfInputProcessorProfiles_RemoveLanguageProfile(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile) {
1833    return This->lpVtbl->RemoveLanguageProfile(This,rclsid,langid,guidProfile);
1834}
1835static FORCEINLINE HRESULT ITfInputProcessorProfiles_EnumInputProcessorInfo(ITfInputProcessorProfiles* This,IEnumGUID **ppEnum) {
1836    return This->lpVtbl->EnumInputProcessorInfo(This,ppEnum);
1837}
1838static FORCEINLINE HRESULT ITfInputProcessorProfiles_GetDefaultLanguageProfile(ITfInputProcessorProfiles* This,LANGID langid,REFGUID catid,CLSID *pclsid,GUID *pguidProfile) {
1839    return This->lpVtbl->GetDefaultLanguageProfile(This,langid,catid,pclsid,pguidProfile);
1840}
1841static FORCEINLINE HRESULT ITfInputProcessorProfiles_SetDefaultLanguageProfile(ITfInputProcessorProfiles* This,LANGID langid,REFCLSID rclsid,REFGUID guidProfiles) {
1842    return This->lpVtbl->SetDefaultLanguageProfile(This,langid,rclsid,guidProfiles);
1843}
1844static FORCEINLINE HRESULT ITfInputProcessorProfiles_ActivateLanguageProfile(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfiles) {
1845    return This->lpVtbl->ActivateLanguageProfile(This,rclsid,langid,guidProfiles);
1846}
1847static FORCEINLINE HRESULT ITfInputProcessorProfiles_GetActiveLanguageProfile(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID *plangid,GUID *pguidProfile) {
1848    return This->lpVtbl->GetActiveLanguageProfile(This,rclsid,plangid,pguidProfile);
1849}
1850static FORCEINLINE HRESULT ITfInputProcessorProfiles_GetLanguageProfileDescription(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,BSTR *pbstrProfile) {
1851    return This->lpVtbl->GetLanguageProfileDescription(This,rclsid,langid,guidProfile,pbstrProfile);
1852}
1853static FORCEINLINE HRESULT ITfInputProcessorProfiles_GetCurrentLanguage(ITfInputProcessorProfiles* This,LANGID *plangid) {
1854    return This->lpVtbl->GetCurrentLanguage(This,plangid);
1855}
1856static FORCEINLINE HRESULT ITfInputProcessorProfiles_ChangeCurrentLanguage(ITfInputProcessorProfiles* This,LANGID langid) {
1857    return This->lpVtbl->ChangeCurrentLanguage(This,langid);
1858}
1859static FORCEINLINE HRESULT ITfInputProcessorProfiles_GetLanguageList(ITfInputProcessorProfiles* This,LANGID **ppLangId,ULONG *pulCount) {
1860    return This->lpVtbl->GetLanguageList(This,ppLangId,pulCount);
1861}
1862static FORCEINLINE HRESULT ITfInputProcessorProfiles_EnumLanguageProfiles(ITfInputProcessorProfiles* This,LANGID langid,IEnumTfLanguageProfiles **ppEnum) {
1863    return This->lpVtbl->EnumLanguageProfiles(This,langid,ppEnum);
1864}
1865static FORCEINLINE HRESULT ITfInputProcessorProfiles_EnableLanguageProfile(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,WINBOOL fEnable) {
1866    return This->lpVtbl->EnableLanguageProfile(This,rclsid,langid,guidProfile,fEnable);
1867}
1868static FORCEINLINE HRESULT ITfInputProcessorProfiles_IsEnabledLanguageProfile(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,WINBOOL *pfEnable) {
1869    return This->lpVtbl->IsEnabledLanguageProfile(This,rclsid,langid,guidProfile,pfEnable);
1870}
1871static FORCEINLINE HRESULT ITfInputProcessorProfiles_EnableLanguageProfileByDefault(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,WINBOOL fEnable) {
1872    return This->lpVtbl->EnableLanguageProfileByDefault(This,rclsid,langid,guidProfile,fEnable);
1873}
1874static FORCEINLINE HRESULT ITfInputProcessorProfiles_SubstituteKeyboardLayout(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,HKL hKL) {
1875    return This->lpVtbl->SubstituteKeyboardLayout(This,rclsid,langid,guidProfile,hKL);
1876}
1877#endif
1878#endif
1879
1880#endif
1881
1882HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_Register_Proxy(
1883    ITfInputProcessorProfiles* This,
1884    REFCLSID rclsid);
1885void __RPC_STUB ITfInputProcessorProfiles_Register_Stub(
1886    IRpcStubBuffer* This,
1887    IRpcChannelBuffer* pRpcChannelBuffer,
1888    PRPC_MESSAGE pRpcMessage,
1889    DWORD* pdwStubPhase);
1890HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_Unregister_Proxy(
1891    ITfInputProcessorProfiles* This,
1892    REFCLSID rclsid);
1893void __RPC_STUB ITfInputProcessorProfiles_Unregister_Stub(
1894    IRpcStubBuffer* This,
1895    IRpcChannelBuffer* pRpcChannelBuffer,
1896    PRPC_MESSAGE pRpcMessage,
1897    DWORD* pdwStubPhase);
1898HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_AddLanguageProfile_Proxy(
1899    ITfInputProcessorProfiles* This,
1900    REFCLSID rclsid,
1901    LANGID langid,
1902    REFGUID guidProfile,
1903    const WCHAR *pchDesc,
1904    ULONG cchDesc,
1905    const WCHAR *pchIconFile,
1906    ULONG cchFile,
1907    ULONG uIconIndex);
1908void __RPC_STUB ITfInputProcessorProfiles_AddLanguageProfile_Stub(
1909    IRpcStubBuffer* This,
1910    IRpcChannelBuffer* pRpcChannelBuffer,
1911    PRPC_MESSAGE pRpcMessage,
1912    DWORD* pdwStubPhase);
1913HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_RemoveLanguageProfile_Proxy(
1914    ITfInputProcessorProfiles* This,
1915    REFCLSID rclsid,
1916    LANGID langid,
1917    REFGUID guidProfile);
1918void __RPC_STUB ITfInputProcessorProfiles_RemoveLanguageProfile_Stub(
1919    IRpcStubBuffer* This,
1920    IRpcChannelBuffer* pRpcChannelBuffer,
1921    PRPC_MESSAGE pRpcMessage,
1922    DWORD* pdwStubPhase);
1923HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_EnumInputProcessorInfo_Proxy(
1924    ITfInputProcessorProfiles* This,
1925    IEnumGUID **ppEnum);
1926void __RPC_STUB ITfInputProcessorProfiles_EnumInputProcessorInfo_Stub(
1927    IRpcStubBuffer* This,
1928    IRpcChannelBuffer* pRpcChannelBuffer,
1929    PRPC_MESSAGE pRpcMessage,
1930    DWORD* pdwStubPhase);
1931HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_GetDefaultLanguageProfile_Proxy(
1932    ITfInputProcessorProfiles* This,
1933    LANGID langid,
1934    REFGUID catid,
1935    CLSID *pclsid,
1936    GUID *pguidProfile);
1937void __RPC_STUB ITfInputProcessorProfiles_GetDefaultLanguageProfile_Stub(
1938    IRpcStubBuffer* This,
1939    IRpcChannelBuffer* pRpcChannelBuffer,
1940    PRPC_MESSAGE pRpcMessage,
1941    DWORD* pdwStubPhase);
1942HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_SetDefaultLanguageProfile_Proxy(
1943    ITfInputProcessorProfiles* This,
1944    LANGID langid,
1945    REFCLSID rclsid,
1946    REFGUID guidProfiles);
1947void __RPC_STUB ITfInputProcessorProfiles_SetDefaultLanguageProfile_Stub(
1948    IRpcStubBuffer* This,
1949    IRpcChannelBuffer* pRpcChannelBuffer,
1950    PRPC_MESSAGE pRpcMessage,
1951    DWORD* pdwStubPhase);
1952HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_ActivateLanguageProfile_Proxy(
1953    ITfInputProcessorProfiles* This,
1954    REFCLSID rclsid,
1955    LANGID langid,
1956    REFGUID guidProfiles);
1957void __RPC_STUB ITfInputProcessorProfiles_ActivateLanguageProfile_Stub(
1958    IRpcStubBuffer* This,
1959    IRpcChannelBuffer* pRpcChannelBuffer,
1960    PRPC_MESSAGE pRpcMessage,
1961    DWORD* pdwStubPhase);
1962HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_GetActiveLanguageProfile_Proxy(
1963    ITfInputProcessorProfiles* This,
1964    REFCLSID rclsid,
1965    LANGID *plangid,
1966    GUID *pguidProfile);
1967void __RPC_STUB ITfInputProcessorProfiles_GetActiveLanguageProfile_Stub(
1968    IRpcStubBuffer* This,
1969    IRpcChannelBuffer* pRpcChannelBuffer,
1970    PRPC_MESSAGE pRpcMessage,
1971    DWORD* pdwStubPhase);
1972HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_GetLanguageProfileDescription_Proxy(
1973    ITfInputProcessorProfiles* This,
1974    REFCLSID rclsid,
1975    LANGID langid,
1976    REFGUID guidProfile,
1977    BSTR *pbstrProfile);
1978void __RPC_STUB ITfInputProcessorProfiles_GetLanguageProfileDescription_Stub(
1979    IRpcStubBuffer* This,
1980    IRpcChannelBuffer* pRpcChannelBuffer,
1981    PRPC_MESSAGE pRpcMessage,
1982    DWORD* pdwStubPhase);
1983HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_GetCurrentLanguage_Proxy(
1984    ITfInputProcessorProfiles* This,
1985    LANGID *plangid);
1986void __RPC_STUB ITfInputProcessorProfiles_GetCurrentLanguage_Stub(
1987    IRpcStubBuffer* This,
1988    IRpcChannelBuffer* pRpcChannelBuffer,
1989    PRPC_MESSAGE pRpcMessage,
1990    DWORD* pdwStubPhase);
1991HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_ChangeCurrentLanguage_Proxy(
1992    ITfInputProcessorProfiles* This,
1993    LANGID langid);
1994void __RPC_STUB ITfInputProcessorProfiles_ChangeCurrentLanguage_Stub(
1995    IRpcStubBuffer* This,
1996    IRpcChannelBuffer* pRpcChannelBuffer,
1997    PRPC_MESSAGE pRpcMessage,
1998    DWORD* pdwStubPhase);
1999HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_GetLanguageList_Proxy(
2000    ITfInputProcessorProfiles* This,
2001    LANGID **ppLangId,
2002    ULONG *pulCount);
2003void __RPC_STUB ITfInputProcessorProfiles_GetLanguageList_Stub(
2004    IRpcStubBuffer* This,
2005    IRpcChannelBuffer* pRpcChannelBuffer,
2006    PRPC_MESSAGE pRpcMessage,
2007    DWORD* pdwStubPhase);
2008HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_EnumLanguageProfiles_Proxy(
2009    ITfInputProcessorProfiles* This,
2010    LANGID langid,
2011    IEnumTfLanguageProfiles **ppEnum);
2012void __RPC_STUB ITfInputProcessorProfiles_EnumLanguageProfiles_Stub(
2013    IRpcStubBuffer* This,
2014    IRpcChannelBuffer* pRpcChannelBuffer,
2015    PRPC_MESSAGE pRpcMessage,
2016    DWORD* pdwStubPhase);
2017HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_EnableLanguageProfile_Proxy(
2018    ITfInputProcessorProfiles* This,
2019    REFCLSID rclsid,
2020    LANGID langid,
2021    REFGUID guidProfile,
2022    WINBOOL fEnable);
2023void __RPC_STUB ITfInputProcessorProfiles_EnableLanguageProfile_Stub(
2024    IRpcStubBuffer* This,
2025    IRpcChannelBuffer* pRpcChannelBuffer,
2026    PRPC_MESSAGE pRpcMessage,
2027    DWORD* pdwStubPhase);
2028HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_IsEnabledLanguageProfile_Proxy(
2029    ITfInputProcessorProfiles* This,
2030    REFCLSID rclsid,
2031    LANGID langid,
2032    REFGUID guidProfile,
2033    WINBOOL *pfEnable);
2034void __RPC_STUB ITfInputProcessorProfiles_IsEnabledLanguageProfile_Stub(
2035    IRpcStubBuffer* This,
2036    IRpcChannelBuffer* pRpcChannelBuffer,
2037    PRPC_MESSAGE pRpcMessage,
2038    DWORD* pdwStubPhase);
2039HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_EnableLanguageProfileByDefault_Proxy(
2040    ITfInputProcessorProfiles* This,
2041    REFCLSID rclsid,
2042    LANGID langid,
2043    REFGUID guidProfile,
2044    WINBOOL fEnable);
2045void __RPC_STUB ITfInputProcessorProfiles_EnableLanguageProfileByDefault_Stub(
2046    IRpcStubBuffer* This,
2047    IRpcChannelBuffer* pRpcChannelBuffer,
2048    PRPC_MESSAGE pRpcMessage,
2049    DWORD* pdwStubPhase);
2050HRESULT STDMETHODCALLTYPE ITfInputProcessorProfiles_SubstituteKeyboardLayout_Proxy(
2051    ITfInputProcessorProfiles* This,
2052    REFCLSID rclsid,
2053    LANGID langid,
2054    REFGUID guidProfile,
2055    HKL hKL);
2056void __RPC_STUB ITfInputProcessorProfiles_SubstituteKeyboardLayout_Stub(
2057    IRpcStubBuffer* This,
2058    IRpcChannelBuffer* pRpcChannelBuffer,
2059    PRPC_MESSAGE pRpcMessage,
2060    DWORD* pdwStubPhase);
2061
2062#endif  /* __ITfInputProcessorProfiles_INTERFACE_DEFINED__ */
2063
2064typedef struct TF_INPUTPROCESSORPROFILE {
2065    DWORD dwProfileType;
2066    LANGID langid;
2067    CLSID clsid;
2068    GUID guidProfile;
2069    GUID catid;
2070    HKL hklSubstitute;
2071    DWORD dwCaps;
2072    HKL hkl;
2073    DWORD dwFlags;
2074} TF_INPUTPROCESSORPROFILE;
2075/*****************************************************************************
2076 * IEnumTfInputProcessorProfiles interface
2077 */
2078#ifndef __IEnumTfInputProcessorProfiles_INTERFACE_DEFINED__
2079#define __IEnumTfInputProcessorProfiles_INTERFACE_DEFINED__
2080
2081DEFINE_GUID(IID_IEnumTfInputProcessorProfiles, 0x71c6e74d, 0x0f28, 0x11d8, 0xa8,0x2a, 0x00,0x06,0x5b,0x84,0x43,0x5c);
2082#if defined(__cplusplus) && !defined(CINTERFACE)
2083MIDL_INTERFACE("71c6e74d-0f28-11d8-a82a-00065b84435c")
2084IEnumTfInputProcessorProfiles : public IUnknown
2085{
2086    virtual HRESULT STDMETHODCALLTYPE Clone(
2087        IEnumTfInputProcessorProfiles **ppEnum) = 0;
2088
2089    virtual HRESULT STDMETHODCALLTYPE Next(
2090        ULONG ulCount,
2091        TF_INPUTPROCESSORPROFILE *pProfile,
2092        ULONG *pcFetch) = 0;
2093
2094    virtual HRESULT STDMETHODCALLTYPE Reset(
2095        ) = 0;
2096
2097    virtual HRESULT STDMETHODCALLTYPE Skip(
2098        ULONG ulCount) = 0;
2099
2100};
2101#ifdef __CRT_UUID_DECL
2102__CRT_UUID_DECL(IEnumTfInputProcessorProfiles, 0x71c6e74d, 0x0f28, 0x11d8, 0xa8,0x2a, 0x00,0x06,0x5b,0x84,0x43,0x5c)
2103#endif
2104#else
2105typedef struct IEnumTfInputProcessorProfilesVtbl {
2106    BEGIN_INTERFACE
2107
2108    /*** IUnknown methods ***/
2109    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2110        IEnumTfInputProcessorProfiles* This,
2111        REFIID riid,
2112        void **ppvObject);
2113
2114    ULONG (STDMETHODCALLTYPE *AddRef)(
2115        IEnumTfInputProcessorProfiles* This);
2116
2117    ULONG (STDMETHODCALLTYPE *Release)(
2118        IEnumTfInputProcessorProfiles* This);
2119
2120    /*** IEnumTfInputProcessorProfiles methods ***/
2121    HRESULT (STDMETHODCALLTYPE *Clone)(
2122        IEnumTfInputProcessorProfiles* This,
2123        IEnumTfInputProcessorProfiles **ppEnum);
2124
2125    HRESULT (STDMETHODCALLTYPE *Next)(
2126        IEnumTfInputProcessorProfiles* This,
2127        ULONG ulCount,
2128        TF_INPUTPROCESSORPROFILE *pProfile,
2129        ULONG *pcFetch);
2130
2131    HRESULT (STDMETHODCALLTYPE *Reset)(
2132        IEnumTfInputProcessorProfiles* This);
2133
2134    HRESULT (STDMETHODCALLTYPE *Skip)(
2135        IEnumTfInputProcessorProfiles* This,
2136        ULONG ulCount);
2137
2138    END_INTERFACE
2139} IEnumTfInputProcessorProfilesVtbl;
2140interface IEnumTfInputProcessorProfiles {
2141    CONST_VTBL IEnumTfInputProcessorProfilesVtbl* lpVtbl;
2142};
2143
2144#ifdef COBJMACROS
2145#ifndef WIDL_C_INLINE_WRAPPERS
2146/*** IUnknown methods ***/
2147#define IEnumTfInputProcessorProfiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2148#define IEnumTfInputProcessorProfiles_AddRef(This) (This)->lpVtbl->AddRef(This)
2149#define IEnumTfInputProcessorProfiles_Release(This) (This)->lpVtbl->Release(This)
2150/*** IEnumTfInputProcessorProfiles methods ***/
2151#define IEnumTfInputProcessorProfiles_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
2152#define IEnumTfInputProcessorProfiles_Next(This,ulCount,pProfile,pcFetch) (This)->lpVtbl->Next(This,ulCount,pProfile,pcFetch)
2153#define IEnumTfInputProcessorProfiles_Reset(This) (This)->lpVtbl->Reset(This)
2154#define IEnumTfInputProcessorProfiles_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
2155#else
2156/*** IUnknown methods ***/
2157static FORCEINLINE HRESULT IEnumTfInputProcessorProfiles_QueryInterface(IEnumTfInputProcessorProfiles* This,REFIID riid,void **ppvObject) {
2158    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2159}
2160static FORCEINLINE ULONG IEnumTfInputProcessorProfiles_AddRef(IEnumTfInputProcessorProfiles* This) {
2161    return This->lpVtbl->AddRef(This);
2162}
2163static FORCEINLINE ULONG IEnumTfInputProcessorProfiles_Release(IEnumTfInputProcessorProfiles* This) {
2164    return This->lpVtbl->Release(This);
2165}
2166/*** IEnumTfInputProcessorProfiles methods ***/
2167static FORCEINLINE HRESULT IEnumTfInputProcessorProfiles_Clone(IEnumTfInputProcessorProfiles* This,IEnumTfInputProcessorProfiles **ppEnum) {
2168    return This->lpVtbl->Clone(This,ppEnum);
2169}
2170static FORCEINLINE HRESULT IEnumTfInputProcessorProfiles_Next(IEnumTfInputProcessorProfiles* This,ULONG ulCount,TF_INPUTPROCESSORPROFILE *pProfile,ULONG *pcFetch) {
2171    return This->lpVtbl->Next(This,ulCount,pProfile,pcFetch);
2172}
2173static FORCEINLINE HRESULT IEnumTfInputProcessorProfiles_Reset(IEnumTfInputProcessorProfiles* This) {
2174    return This->lpVtbl->Reset(This);
2175}
2176static FORCEINLINE HRESULT IEnumTfInputProcessorProfiles_Skip(IEnumTfInputProcessorProfiles* This,ULONG ulCount) {
2177    return This->lpVtbl->Skip(This,ulCount);
2178}
2179#endif
2180#endif
2181
2182#endif
2183
2184HRESULT STDMETHODCALLTYPE IEnumTfInputProcessorProfiles_Clone_Proxy(
2185    IEnumTfInputProcessorProfiles* This,
2186    IEnumTfInputProcessorProfiles **ppEnum);
2187void __RPC_STUB IEnumTfInputProcessorProfiles_Clone_Stub(
2188    IRpcStubBuffer* This,
2189    IRpcChannelBuffer* pRpcChannelBuffer,
2190    PRPC_MESSAGE pRpcMessage,
2191    DWORD* pdwStubPhase);
2192HRESULT STDMETHODCALLTYPE IEnumTfInputProcessorProfiles_Next_Proxy(
2193    IEnumTfInputProcessorProfiles* This,
2194    ULONG ulCount,
2195    TF_INPUTPROCESSORPROFILE *pProfile,
2196    ULONG *pcFetch);
2197void __RPC_STUB IEnumTfInputProcessorProfiles_Next_Stub(
2198    IRpcStubBuffer* This,
2199    IRpcChannelBuffer* pRpcChannelBuffer,
2200    PRPC_MESSAGE pRpcMessage,
2201    DWORD* pdwStubPhase);
2202HRESULT STDMETHODCALLTYPE IEnumTfInputProcessorProfiles_Reset_Proxy(
2203    IEnumTfInputProcessorProfiles* This);
2204void __RPC_STUB IEnumTfInputProcessorProfiles_Reset_Stub(
2205    IRpcStubBuffer* This,
2206    IRpcChannelBuffer* pRpcChannelBuffer,
2207    PRPC_MESSAGE pRpcMessage,
2208    DWORD* pdwStubPhase);
2209HRESULT STDMETHODCALLTYPE IEnumTfInputProcessorProfiles_Skip_Proxy(
2210    IEnumTfInputProcessorProfiles* This,
2211    ULONG ulCount);
2212void __RPC_STUB IEnumTfInputProcessorProfiles_Skip_Stub(
2213    IRpcStubBuffer* This,
2214    IRpcChannelBuffer* pRpcChannelBuffer,
2215    PRPC_MESSAGE pRpcMessage,
2216    DWORD* pdwStubPhase);
2217
2218#endif  /* __IEnumTfInputProcessorProfiles_INTERFACE_DEFINED__ */
2219
2220/*****************************************************************************
2221 * ITfInputProcessorProfileMgr interface
2222 */
2223#ifndef __ITfInputProcessorProfileMgr_INTERFACE_DEFINED__
2224#define __ITfInputProcessorProfileMgr_INTERFACE_DEFINED__
2225
2226DEFINE_GUID(IID_ITfInputProcessorProfileMgr, 0x71c6e74c, 0x0f28, 0x11d8, 0xa8,0x2a, 0x00,0x06,0x5b,0x84,0x43,0x5c);
2227#if defined(__cplusplus) && !defined(CINTERFACE)
2228MIDL_INTERFACE("71c6e74c-0f28-11d8-a82a-00065b84435c")
2229ITfInputProcessorProfileMgr : public IUnknown
2230{
2231    virtual HRESULT STDMETHODCALLTYPE ActivateProfile(
2232        DWORD dwProfileType,
2233        LANGID langid,
2234        REFCLSID clsid,
2235        REFGUID guidProfile,
2236        HKL hkl,
2237        DWORD dwFlags) = 0;
2238
2239    virtual HRESULT STDMETHODCALLTYPE DeactivateProfile(
2240        DWORD dwProfileType,
2241        LANGID langid,
2242        REFCLSID clsid,
2243        REFGUID guidProfile,
2244        HKL hkl,
2245        DWORD dwFlags) = 0;
2246
2247    virtual HRESULT STDMETHODCALLTYPE GetProfile(
2248        DWORD dwProfileType,
2249        LANGID langid,
2250        REFCLSID clsid,
2251        REFGUID guidProfile,
2252        HKL hkl,
2253        TF_INPUTPROCESSORPROFILE *pProfile) = 0;
2254
2255    virtual HRESULT STDMETHODCALLTYPE EnumProfiles(
2256        LANGID langid,
2257        IEnumTfInputProcessorProfiles **ppEnum) = 0;
2258
2259    virtual HRESULT STDMETHODCALLTYPE ReleaseInputProcessor(
2260        REFCLSID rclsid,
2261        DWORD dwFlags) = 0;
2262
2263    virtual HRESULT STDMETHODCALLTYPE RegisterProfile(
2264        REFCLSID rclsid,
2265        LANGID langid,
2266        REFGUID guidProfile,
2267        const WCHAR *pchDesc,
2268        ULONG cchDesc,
2269        const WCHAR *pchIconFile,
2270        ULONG cchFile,
2271        ULONG uIconIndex,
2272        HKL hklsubstitute,
2273        DWORD dwPreferredLayout,
2274        WINBOOL bEnabledByDefault,
2275        DWORD dwFlags) = 0;
2276
2277    virtual HRESULT STDMETHODCALLTYPE UnregisterProfile(
2278        REFCLSID rclsid,
2279        LANGID langid,
2280        REFGUID guidProfile,
2281        DWORD dwFlags) = 0;
2282
2283    virtual HRESULT STDMETHODCALLTYPE GetActiveProfile(
2284        REFGUID catid,
2285        TF_INPUTPROCESSORPROFILE *pProfile) = 0;
2286
2287};
2288#ifdef __CRT_UUID_DECL
2289__CRT_UUID_DECL(ITfInputProcessorProfileMgr, 0x71c6e74c, 0x0f28, 0x11d8, 0xa8,0x2a, 0x00,0x06,0x5b,0x84,0x43,0x5c)
2290#endif
2291#else
2292typedef struct ITfInputProcessorProfileMgrVtbl {
2293    BEGIN_INTERFACE
2294
2295    /*** IUnknown methods ***/
2296    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2297        ITfInputProcessorProfileMgr* This,
2298        REFIID riid,
2299        void **ppvObject);
2300
2301    ULONG (STDMETHODCALLTYPE *AddRef)(
2302        ITfInputProcessorProfileMgr* This);
2303
2304    ULONG (STDMETHODCALLTYPE *Release)(
2305        ITfInputProcessorProfileMgr* This);
2306
2307    /*** ITfInputProcessorProfileMgr methods ***/
2308    HRESULT (STDMETHODCALLTYPE *ActivateProfile)(
2309        ITfInputProcessorProfileMgr* This,
2310        DWORD dwProfileType,
2311        LANGID langid,
2312        REFCLSID clsid,
2313        REFGUID guidProfile,
2314        HKL hkl,
2315        DWORD dwFlags);
2316
2317    HRESULT (STDMETHODCALLTYPE *DeactivateProfile)(
2318        ITfInputProcessorProfileMgr* This,
2319        DWORD dwProfileType,
2320        LANGID langid,
2321        REFCLSID clsid,
2322        REFGUID guidProfile,
2323        HKL hkl,
2324        DWORD dwFlags);
2325
2326    HRESULT (STDMETHODCALLTYPE *GetProfile)(
2327        ITfInputProcessorProfileMgr* This,
2328        DWORD dwProfileType,
2329        LANGID langid,
2330        REFCLSID clsid,
2331        REFGUID guidProfile,
2332        HKL hkl,
2333        TF_INPUTPROCESSORPROFILE *pProfile);
2334
2335    HRESULT (STDMETHODCALLTYPE *EnumProfiles)(
2336        ITfInputProcessorProfileMgr* This,
2337        LANGID langid,
2338        IEnumTfInputProcessorProfiles **ppEnum);
2339
2340    HRESULT (STDMETHODCALLTYPE *ReleaseInputProcessor)(
2341        ITfInputProcessorProfileMgr* This,
2342        REFCLSID rclsid,
2343        DWORD dwFlags);
2344
2345    HRESULT (STDMETHODCALLTYPE *RegisterProfile)(
2346        ITfInputProcessorProfileMgr* This,
2347        REFCLSID rclsid,
2348        LANGID langid,
2349        REFGUID guidProfile,
2350        const WCHAR *pchDesc,
2351        ULONG cchDesc,
2352        const WCHAR *pchIconFile,
2353        ULONG cchFile,
2354        ULONG uIconIndex,
2355        HKL hklsubstitute,
2356        DWORD dwPreferredLayout,
2357        WINBOOL bEnabledByDefault,
2358        DWORD dwFlags);
2359
2360    HRESULT (STDMETHODCALLTYPE *UnregisterProfile)(
2361        ITfInputProcessorProfileMgr* This,
2362        REFCLSID rclsid,
2363        LANGID langid,
2364        REFGUID guidProfile,
2365        DWORD dwFlags);
2366
2367    HRESULT (STDMETHODCALLTYPE *GetActiveProfile)(
2368        ITfInputProcessorProfileMgr* This,
2369        REFGUID catid,
2370        TF_INPUTPROCESSORPROFILE *pProfile);
2371
2372    END_INTERFACE
2373} ITfInputProcessorProfileMgrVtbl;
2374interface ITfInputProcessorProfileMgr {
2375    CONST_VTBL ITfInputProcessorProfileMgrVtbl* lpVtbl;
2376};
2377
2378#ifdef COBJMACROS
2379#ifndef WIDL_C_INLINE_WRAPPERS
2380/*** IUnknown methods ***/
2381#define ITfInputProcessorProfileMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2382#define ITfInputProcessorProfileMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
2383#define ITfInputProcessorProfileMgr_Release(This) (This)->lpVtbl->Release(This)
2384/*** ITfInputProcessorProfileMgr methods ***/
2385#define ITfInputProcessorProfileMgr_ActivateProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,dwFlags) (This)->lpVtbl->ActivateProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,dwFlags)
2386#define ITfInputProcessorProfileMgr_DeactivateProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,dwFlags) (This)->lpVtbl->DeactivateProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,dwFlags)
2387#define ITfInputProcessorProfileMgr_GetProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,pProfile) (This)->lpVtbl->GetProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,pProfile)
2388#define ITfInputProcessorProfileMgr_EnumProfiles(This,langid,ppEnum) (This)->lpVtbl->EnumProfiles(This,langid,ppEnum)
2389#define ITfInputProcessorProfileMgr_ReleaseInputProcessor(This,rclsid,dwFlags) (This)->lpVtbl->ReleaseInputProcessor(This,rclsid,dwFlags)
2390#define ITfInputProcessorProfileMgr_RegisterProfile(This,rclsid,langid,guidProfile,pchDesc,cchDesc,pchIconFile,cchFile,uIconIndex,hklsubstitute,dwPreferredLayout,bEnabledByDefault,dwFlags) (This)->lpVtbl->RegisterProfile(This,rclsid,langid,guidProfile,pchDesc,cchDesc,pchIconFile,cchFile,uIconIndex,hklsubstitute,dwPreferredLayout,bEnabledByDefault,dwFlags)
2391#define ITfInputProcessorProfileMgr_UnregisterProfile(This,rclsid,langid,guidProfile,dwFlags) (This)->lpVtbl->UnregisterProfile(This,rclsid,langid,guidProfile,dwFlags)
2392#define ITfInputProcessorProfileMgr_GetActiveProfile(This,catid,pProfile) (This)->lpVtbl->GetActiveProfile(This,catid,pProfile)
2393#else
2394/*** IUnknown methods ***/
2395static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_QueryInterface(ITfInputProcessorProfileMgr* This,REFIID riid,void **ppvObject) {
2396    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2397}
2398static FORCEINLINE ULONG ITfInputProcessorProfileMgr_AddRef(ITfInputProcessorProfileMgr* This) {
2399    return This->lpVtbl->AddRef(This);
2400}
2401static FORCEINLINE ULONG ITfInputProcessorProfileMgr_Release(ITfInputProcessorProfileMgr* This) {
2402    return This->lpVtbl->Release(This);
2403}
2404/*** ITfInputProcessorProfileMgr methods ***/
2405static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_ActivateProfile(ITfInputProcessorProfileMgr* This,DWORD dwProfileType,LANGID langid,REFCLSID clsid,REFGUID guidProfile,HKL hkl,DWORD dwFlags) {
2406    return This->lpVtbl->ActivateProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,dwFlags);
2407}
2408static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_DeactivateProfile(ITfInputProcessorProfileMgr* This,DWORD dwProfileType,LANGID langid,REFCLSID clsid,REFGUID guidProfile,HKL hkl,DWORD dwFlags) {
2409    return This->lpVtbl->DeactivateProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,dwFlags);
2410}
2411static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_GetProfile(ITfInputProcessorProfileMgr* This,DWORD dwProfileType,LANGID langid,REFCLSID clsid,REFGUID guidProfile,HKL hkl,TF_INPUTPROCESSORPROFILE *pProfile) {
2412    return This->lpVtbl->GetProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,pProfile);
2413}
2414static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_EnumProfiles(ITfInputProcessorProfileMgr* This,LANGID langid,IEnumTfInputProcessorProfiles **ppEnum) {
2415    return This->lpVtbl->EnumProfiles(This,langid,ppEnum);
2416}
2417static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_ReleaseInputProcessor(ITfInputProcessorProfileMgr* This,REFCLSID rclsid,DWORD dwFlags) {
2418    return This->lpVtbl->ReleaseInputProcessor(This,rclsid,dwFlags);
2419}
2420static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_RegisterProfile(ITfInputProcessorProfileMgr* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,const WCHAR *pchDesc,ULONG cchDesc,const WCHAR *pchIconFile,ULONG cchFile,ULONG uIconIndex,HKL hklsubstitute,DWORD dwPreferredLayout,WINBOOL bEnabledByDefault,DWORD dwFlags) {
2421    return This->lpVtbl->RegisterProfile(This,rclsid,langid,guidProfile,pchDesc,cchDesc,pchIconFile,cchFile,uIconIndex,hklsubstitute,dwPreferredLayout,bEnabledByDefault,dwFlags);
2422}
2423static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_UnregisterProfile(ITfInputProcessorProfileMgr* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,DWORD dwFlags) {
2424    return This->lpVtbl->UnregisterProfile(This,rclsid,langid,guidProfile,dwFlags);
2425}
2426static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_GetActiveProfile(ITfInputProcessorProfileMgr* This,REFGUID catid,TF_INPUTPROCESSORPROFILE *pProfile) {
2427    return This->lpVtbl->GetActiveProfile(This,catid,pProfile);
2428}
2429#endif
2430#endif
2431
2432#endif
2433
2434HRESULT STDMETHODCALLTYPE ITfInputProcessorProfileMgr_ActivateProfile_Proxy(
2435    ITfInputProcessorProfileMgr* This,
2436    DWORD dwProfileType,
2437    LANGID langid,
2438    REFCLSID clsid,
2439    REFGUID guidProfile,
2440    HKL hkl,
2441    DWORD dwFlags);
2442void __RPC_STUB ITfInputProcessorProfileMgr_ActivateProfile_Stub(
2443    IRpcStubBuffer* This,
2444    IRpcChannelBuffer* pRpcChannelBuffer,
2445    PRPC_MESSAGE pRpcMessage,
2446    DWORD* pdwStubPhase);
2447HRESULT STDMETHODCALLTYPE ITfInputProcessorProfileMgr_DeactivateProfile_Proxy(
2448    ITfInputProcessorProfileMgr* This,
2449    DWORD dwProfileType,
2450    LANGID langid,
2451    REFCLSID clsid,
2452    REFGUID guidProfile,
2453    HKL hkl,
2454    DWORD dwFlags);
2455void __RPC_STUB ITfInputProcessorProfileMgr_DeactivateProfile_Stub(
2456    IRpcStubBuffer* This,
2457    IRpcChannelBuffer* pRpcChannelBuffer,
2458    PRPC_MESSAGE pRpcMessage,
2459    DWORD* pdwStubPhase);
2460HRESULT STDMETHODCALLTYPE ITfInputProcessorProfileMgr_GetProfile_Proxy(
2461    ITfInputProcessorProfileMgr* This,
2462    DWORD dwProfileType,
2463    LANGID langid,
2464    REFCLSID clsid,
2465    REFGUID guidProfile,
2466    HKL hkl,
2467    TF_INPUTPROCESSORPROFILE *pProfile);
2468void __RPC_STUB ITfInputProcessorProfileMgr_GetProfile_Stub(
2469    IRpcStubBuffer* This,
2470    IRpcChannelBuffer* pRpcChannelBuffer,
2471    PRPC_MESSAGE pRpcMessage,
2472    DWORD* pdwStubPhase);
2473HRESULT STDMETHODCALLTYPE ITfInputProcessorProfileMgr_EnumProfiles_Proxy(
2474    ITfInputProcessorProfileMgr* This,
2475    LANGID langid,
2476    IEnumTfInputProcessorProfiles **ppEnum);
2477void __RPC_STUB ITfInputProcessorProfileMgr_EnumProfiles_Stub(
2478    IRpcStubBuffer* This,
2479    IRpcChannelBuffer* pRpcChannelBuffer,
2480    PRPC_MESSAGE pRpcMessage,
2481    DWORD* pdwStubPhase);
2482HRESULT STDMETHODCALLTYPE ITfInputProcessorProfileMgr_ReleaseInputProcessor_Proxy(
2483    ITfInputProcessorProfileMgr* This,
2484    REFCLSID rclsid,
2485    DWORD dwFlags);
2486void __RPC_STUB ITfInputProcessorProfileMgr_ReleaseInputProcessor_Stub(
2487    IRpcStubBuffer* This,
2488    IRpcChannelBuffer* pRpcChannelBuffer,
2489    PRPC_MESSAGE pRpcMessage,
2490    DWORD* pdwStubPhase);
2491HRESULT STDMETHODCALLTYPE ITfInputProcessorProfileMgr_RegisterProfile_Proxy(
2492    ITfInputProcessorProfileMgr* This,
2493    REFCLSID rclsid,
2494    LANGID langid,
2495    REFGUID guidProfile,
2496    const WCHAR *pchDesc,
2497    ULONG cchDesc,
2498    const WCHAR *pchIconFile,
2499    ULONG cchFile,
2500    ULONG uIconIndex,
2501    HKL hklsubstitute,
2502    DWORD dwPreferredLayout,
2503    WINBOOL bEnabledByDefault,
2504    DWORD dwFlags);
2505void __RPC_STUB ITfInputProcessorProfileMgr_RegisterProfile_Stub(
2506    IRpcStubBuffer* This,
2507    IRpcChannelBuffer* pRpcChannelBuffer,
2508    PRPC_MESSAGE pRpcMessage,
2509    DWORD* pdwStubPhase);
2510HRESULT STDMETHODCALLTYPE ITfInputProcessorProfileMgr_UnregisterProfile_Proxy(
2511    ITfInputProcessorProfileMgr* This,
2512    REFCLSID rclsid,
2513    LANGID langid,
2514    REFGUID guidProfile,
2515    DWORD dwFlags);
2516void __RPC_STUB ITfInputProcessorProfileMgr_UnregisterProfile_Stub(
2517    IRpcStubBuffer* This,
2518    IRpcChannelBuffer* pRpcChannelBuffer,
2519    PRPC_MESSAGE pRpcMessage,
2520    DWORD* pdwStubPhase);
2521HRESULT STDMETHODCALLTYPE ITfInputProcessorProfileMgr_GetActiveProfile_Proxy(
2522    ITfInputProcessorProfileMgr* This,
2523    REFGUID catid,
2524    TF_INPUTPROCESSORPROFILE *pProfile);
2525void __RPC_STUB ITfInputProcessorProfileMgr_GetActiveProfile_Stub(
2526    IRpcStubBuffer* This,
2527    IRpcChannelBuffer* pRpcChannelBuffer,
2528    PRPC_MESSAGE pRpcMessage,
2529    DWORD* pdwStubPhase);
2530
2531#endif  /* __ITfInputProcessorProfileMgr_INTERFACE_DEFINED__ */
2532
2533typedef enum __WIDL_msctf_generated_name_00000002 {
2534    TF_LS_NONE = 0,
2535    TF_LS_SOLID = 1,
2536    TF_LS_DOT = 2,
2537    TF_LS_DASH = 3,
2538    TF_LS_SQUIGGLE = 4
2539} TF_DA_LINESTYLE;
2540typedef enum __WIDL_msctf_generated_name_00000003 {
2541    TF_CT_NONE = 0,
2542    TF_CT_SYSCOLOR = 1,
2543    TF_CT_COLORREF = 2
2544} TF_DA_COLORTYPE;
2545typedef struct TF_DA_COLOR {
2546    TF_DA_COLORTYPE type;
2547    __C89_NAMELESS union {
2548        int nIndex;
2549        COLORREF cr;
2550    } __C89_NAMELESSUNIONNAME;
2551} TF_DA_COLOR;
2552typedef enum __WIDL_msctf_generated_name_00000004 {
2553    TF_ATTR_INPUT = 0,
2554    TF_ATTR_TARGET_CONVERTED = 1,
2555    TF_ATTR_CONVERTED = 2,
2556    TF_ATTR_TARGET_NOTCONVERTED = 3,
2557    TF_ATTR_INPUT_ERROR = 4,
2558    TF_ATTR_FIXEDCONVERTED = 5,
2559    TF_ATTR_OTHER = -1
2560} TF_DA_ATTR_INFO;
2561typedef struct TF_DISPLAYATTRIBUTE {
2562    TF_DA_COLOR crText;
2563    TF_DA_COLOR crBk;
2564    TF_DA_LINESTYLE lsStyle;
2565    WINBOOL fBoldLine;
2566    TF_DA_COLOR crLine;
2567    TF_DA_ATTR_INFO bAttr;
2568} TF_DISPLAYATTRIBUTE;
2569/*****************************************************************************
2570 * ITfDisplayAttributeInfo interface
2571 */
2572#ifndef __ITfDisplayAttributeInfo_INTERFACE_DEFINED__
2573#define __ITfDisplayAttributeInfo_INTERFACE_DEFINED__
2574
2575DEFINE_GUID(IID_ITfDisplayAttributeInfo, 0x70528852, 0x2f26, 0x4aea, 0x8c,0x96, 0x21,0x51,0x50,0x57,0x89,0x32);
2576#if defined(__cplusplus) && !defined(CINTERFACE)
2577MIDL_INTERFACE("70528852-2f26-4aea-8c96-215150578932")
2578ITfDisplayAttributeInfo : public IUnknown
2579{
2580    virtual HRESULT STDMETHODCALLTYPE GetGUID(
2581        GUID *pguid) = 0;
2582
2583    virtual HRESULT STDMETHODCALLTYPE GetDescription(
2584        BSTR *pbstrDesc) = 0;
2585
2586    virtual HRESULT STDMETHODCALLTYPE GetAttributeInfo(
2587        TF_DISPLAYATTRIBUTE *pda) = 0;
2588
2589    virtual HRESULT STDMETHODCALLTYPE SetAttributeInfo(
2590        const TF_DISPLAYATTRIBUTE *pda) = 0;
2591
2592    virtual HRESULT STDMETHODCALLTYPE Reset(
2593        ) = 0;
2594
2595};
2596#ifdef __CRT_UUID_DECL
2597__CRT_UUID_DECL(ITfDisplayAttributeInfo, 0x70528852, 0x2f26, 0x4aea, 0x8c,0x96, 0x21,0x51,0x50,0x57,0x89,0x32)
2598#endif
2599#else
2600typedef struct ITfDisplayAttributeInfoVtbl {
2601    BEGIN_INTERFACE
2602
2603    /*** IUnknown methods ***/
2604    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2605        ITfDisplayAttributeInfo* This,
2606        REFIID riid,
2607        void **ppvObject);
2608
2609    ULONG (STDMETHODCALLTYPE *AddRef)(
2610        ITfDisplayAttributeInfo* This);
2611
2612    ULONG (STDMETHODCALLTYPE *Release)(
2613        ITfDisplayAttributeInfo* This);
2614
2615    /*** ITfDisplayAttributeInfo methods ***/
2616    HRESULT (STDMETHODCALLTYPE *GetGUID)(
2617        ITfDisplayAttributeInfo* This,
2618        GUID *pguid);
2619
2620    HRESULT (STDMETHODCALLTYPE *GetDescription)(
2621        ITfDisplayAttributeInfo* This,
2622        BSTR *pbstrDesc);
2623
2624    HRESULT (STDMETHODCALLTYPE *GetAttributeInfo)(
2625        ITfDisplayAttributeInfo* This,
2626        TF_DISPLAYATTRIBUTE *pda);
2627
2628    HRESULT (STDMETHODCALLTYPE *SetAttributeInfo)(
2629        ITfDisplayAttributeInfo* This,
2630        const TF_DISPLAYATTRIBUTE *pda);
2631
2632    HRESULT (STDMETHODCALLTYPE *Reset)(
2633        ITfDisplayAttributeInfo* This);
2634
2635    END_INTERFACE
2636} ITfDisplayAttributeInfoVtbl;
2637interface ITfDisplayAttributeInfo {
2638    CONST_VTBL ITfDisplayAttributeInfoVtbl* lpVtbl;
2639};
2640
2641#ifdef COBJMACROS
2642#ifndef WIDL_C_INLINE_WRAPPERS
2643/*** IUnknown methods ***/
2644#define ITfDisplayAttributeInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2645#define ITfDisplayAttributeInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2646#define ITfDisplayAttributeInfo_Release(This) (This)->lpVtbl->Release(This)
2647/*** ITfDisplayAttributeInfo methods ***/
2648#define ITfDisplayAttributeInfo_GetGUID(This,pguid) (This)->lpVtbl->GetGUID(This,pguid)
2649#define ITfDisplayAttributeInfo_GetDescription(This,pbstrDesc) (This)->lpVtbl->GetDescription(This,pbstrDesc)
2650#define ITfDisplayAttributeInfo_GetAttributeInfo(This,pda) (This)->lpVtbl->GetAttributeInfo(This,pda)
2651#define ITfDisplayAttributeInfo_SetAttributeInfo(This,pda) (This)->lpVtbl->SetAttributeInfo(This,pda)
2652#define ITfDisplayAttributeInfo_Reset(This) (This)->lpVtbl->Reset(This)
2653#else
2654/*** IUnknown methods ***/
2655static FORCEINLINE HRESULT ITfDisplayAttributeInfo_QueryInterface(ITfDisplayAttributeInfo* This,REFIID riid,void **ppvObject) {
2656    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2657}
2658static FORCEINLINE ULONG ITfDisplayAttributeInfo_AddRef(ITfDisplayAttributeInfo* This) {
2659    return This->lpVtbl->AddRef(This);
2660}
2661static FORCEINLINE ULONG ITfDisplayAttributeInfo_Release(ITfDisplayAttributeInfo* This) {
2662    return This->lpVtbl->Release(This);
2663}
2664/*** ITfDisplayAttributeInfo methods ***/
2665static FORCEINLINE HRESULT ITfDisplayAttributeInfo_GetGUID(ITfDisplayAttributeInfo* This,GUID *pguid) {
2666    return This->lpVtbl->GetGUID(This,pguid);
2667}
2668static FORCEINLINE HRESULT ITfDisplayAttributeInfo_GetDescription(ITfDisplayAttributeInfo* This,BSTR *pbstrDesc) {
2669    return This->lpVtbl->GetDescription(This,pbstrDesc);
2670}
2671static FORCEINLINE HRESULT ITfDisplayAttributeInfo_GetAttributeInfo(ITfDisplayAttributeInfo* This,TF_DISPLAYATTRIBUTE *pda) {
2672    return This->lpVtbl->GetAttributeInfo(This,pda);
2673}
2674static FORCEINLINE HRESULT ITfDisplayAttributeInfo_SetAttributeInfo(ITfDisplayAttributeInfo* This,const TF_DISPLAYATTRIBUTE *pda) {
2675    return This->lpVtbl->SetAttributeInfo(This,pda);
2676}
2677static FORCEINLINE HRESULT ITfDisplayAttributeInfo_Reset(ITfDisplayAttributeInfo* This) {
2678    return This->lpVtbl->Reset(This);
2679}
2680#endif
2681#endif
2682
2683#endif
2684
2685HRESULT STDMETHODCALLTYPE ITfDisplayAttributeInfo_GetGUID_Proxy(
2686    ITfDisplayAttributeInfo* This,
2687    GUID *pguid);
2688void __RPC_STUB ITfDisplayAttributeInfo_GetGUID_Stub(
2689    IRpcStubBuffer* This,
2690    IRpcChannelBuffer* pRpcChannelBuffer,
2691    PRPC_MESSAGE pRpcMessage,
2692    DWORD* pdwStubPhase);
2693HRESULT STDMETHODCALLTYPE ITfDisplayAttributeInfo_GetDescription_Proxy(
2694    ITfDisplayAttributeInfo* This,
2695    BSTR *pbstrDesc);
2696void __RPC_STUB ITfDisplayAttributeInfo_GetDescription_Stub(
2697    IRpcStubBuffer* This,
2698    IRpcChannelBuffer* pRpcChannelBuffer,
2699    PRPC_MESSAGE pRpcMessage,
2700    DWORD* pdwStubPhase);
2701HRESULT STDMETHODCALLTYPE ITfDisplayAttributeInfo_GetAttributeInfo_Proxy(
2702    ITfDisplayAttributeInfo* This,
2703    TF_DISPLAYATTRIBUTE *pda);
2704void __RPC_STUB ITfDisplayAttributeInfo_GetAttributeInfo_Stub(
2705    IRpcStubBuffer* This,
2706    IRpcChannelBuffer* pRpcChannelBuffer,
2707    PRPC_MESSAGE pRpcMessage,
2708    DWORD* pdwStubPhase);
2709HRESULT STDMETHODCALLTYPE ITfDisplayAttributeInfo_SetAttributeInfo_Proxy(
2710    ITfDisplayAttributeInfo* This,
2711    const TF_DISPLAYATTRIBUTE *pda);
2712void __RPC_STUB ITfDisplayAttributeInfo_SetAttributeInfo_Stub(
2713    IRpcStubBuffer* This,
2714    IRpcChannelBuffer* pRpcChannelBuffer,
2715    PRPC_MESSAGE pRpcMessage,
2716    DWORD* pdwStubPhase);
2717HRESULT STDMETHODCALLTYPE ITfDisplayAttributeInfo_Reset_Proxy(
2718    ITfDisplayAttributeInfo* This);
2719void __RPC_STUB ITfDisplayAttributeInfo_Reset_Stub(
2720    IRpcStubBuffer* This,
2721    IRpcChannelBuffer* pRpcChannelBuffer,
2722    PRPC_MESSAGE pRpcMessage,
2723    DWORD* pdwStubPhase);
2724
2725#endif  /* __ITfDisplayAttributeInfo_INTERFACE_DEFINED__ */
2726
2727/*****************************************************************************
2728 * IEnumTfDisplayAttributeInfo interface
2729 */
2730#ifndef __IEnumTfDisplayAttributeInfo_INTERFACE_DEFINED__
2731#define __IEnumTfDisplayAttributeInfo_INTERFACE_DEFINED__
2732
2733DEFINE_GUID(IID_IEnumTfDisplayAttributeInfo, 0x7cef04d7, 0xcb75, 0x4e80, 0xa7,0xab, 0x5f,0x5b,0xc7,0xd3,0x32,0xde);
2734#if defined(__cplusplus) && !defined(CINTERFACE)
2735MIDL_INTERFACE("7cef04d7-cb75-4e80-a7ab-5f5bc7d332de")
2736IEnumTfDisplayAttributeInfo : public IUnknown
2737{
2738    virtual HRESULT STDMETHODCALLTYPE Clone(
2739        IEnumTfDisplayAttributeInfo **ppEnum) = 0;
2740
2741    virtual HRESULT STDMETHODCALLTYPE Next(
2742        ULONG ulCount,
2743        ITfDisplayAttributeInfo **rgInfo,
2744        ULONG *pcFetched) = 0;
2745
2746    virtual HRESULT STDMETHODCALLTYPE Reset(
2747        ) = 0;
2748
2749    virtual HRESULT STDMETHODCALLTYPE Skip(
2750        ULONG ulCount) = 0;
2751
2752};
2753#ifdef __CRT_UUID_DECL
2754__CRT_UUID_DECL(IEnumTfDisplayAttributeInfo, 0x7cef04d7, 0xcb75, 0x4e80, 0xa7,0xab, 0x5f,0x5b,0xc7,0xd3,0x32,0xde)
2755#endif
2756#else
2757typedef struct IEnumTfDisplayAttributeInfoVtbl {
2758    BEGIN_INTERFACE
2759
2760    /*** IUnknown methods ***/
2761    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2762        IEnumTfDisplayAttributeInfo* This,
2763        REFIID riid,
2764        void **ppvObject);
2765
2766    ULONG (STDMETHODCALLTYPE *AddRef)(
2767        IEnumTfDisplayAttributeInfo* This);
2768
2769    ULONG (STDMETHODCALLTYPE *Release)(
2770        IEnumTfDisplayAttributeInfo* This);
2771
2772    /*** IEnumTfDisplayAttributeInfo methods ***/
2773    HRESULT (STDMETHODCALLTYPE *Clone)(
2774        IEnumTfDisplayAttributeInfo* This,
2775        IEnumTfDisplayAttributeInfo **ppEnum);
2776
2777    HRESULT (STDMETHODCALLTYPE *Next)(
2778        IEnumTfDisplayAttributeInfo* This,
2779        ULONG ulCount,
2780        ITfDisplayAttributeInfo **rgInfo,
2781        ULONG *pcFetched);
2782
2783    HRESULT (STDMETHODCALLTYPE *Reset)(
2784        IEnumTfDisplayAttributeInfo* This);
2785
2786    HRESULT (STDMETHODCALLTYPE *Skip)(
2787        IEnumTfDisplayAttributeInfo* This,
2788        ULONG ulCount);
2789
2790    END_INTERFACE
2791} IEnumTfDisplayAttributeInfoVtbl;
2792interface IEnumTfDisplayAttributeInfo {
2793    CONST_VTBL IEnumTfDisplayAttributeInfoVtbl* lpVtbl;
2794};
2795
2796#ifdef COBJMACROS
2797#ifndef WIDL_C_INLINE_WRAPPERS
2798/*** IUnknown methods ***/
2799#define IEnumTfDisplayAttributeInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2800#define IEnumTfDisplayAttributeInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2801#define IEnumTfDisplayAttributeInfo_Release(This) (This)->lpVtbl->Release(This)
2802/*** IEnumTfDisplayAttributeInfo methods ***/
2803#define IEnumTfDisplayAttributeInfo_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
2804#define IEnumTfDisplayAttributeInfo_Next(This,ulCount,rgInfo,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgInfo,pcFetched)
2805#define IEnumTfDisplayAttributeInfo_Reset(This) (This)->lpVtbl->Reset(This)
2806#define IEnumTfDisplayAttributeInfo_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
2807#else
2808/*** IUnknown methods ***/
2809static FORCEINLINE HRESULT IEnumTfDisplayAttributeInfo_QueryInterface(IEnumTfDisplayAttributeInfo* This,REFIID riid,void **ppvObject) {
2810    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2811}
2812static FORCEINLINE ULONG IEnumTfDisplayAttributeInfo_AddRef(IEnumTfDisplayAttributeInfo* This) {
2813    return This->lpVtbl->AddRef(This);
2814}
2815static FORCEINLINE ULONG IEnumTfDisplayAttributeInfo_Release(IEnumTfDisplayAttributeInfo* This) {
2816    return This->lpVtbl->Release(This);
2817}
2818/*** IEnumTfDisplayAttributeInfo methods ***/
2819static FORCEINLINE HRESULT IEnumTfDisplayAttributeInfo_Clone(IEnumTfDisplayAttributeInfo* This,IEnumTfDisplayAttributeInfo **ppEnum) {
2820    return This->lpVtbl->Clone(This,ppEnum);
2821}
2822static FORCEINLINE HRESULT IEnumTfDisplayAttributeInfo_Next(IEnumTfDisplayAttributeInfo* This,ULONG ulCount,ITfDisplayAttributeInfo **rgInfo,ULONG *pcFetched) {
2823    return This->lpVtbl->Next(This,ulCount,rgInfo,pcFetched);
2824}
2825static FORCEINLINE HRESULT IEnumTfDisplayAttributeInfo_Reset(IEnumTfDisplayAttributeInfo* This) {
2826    return This->lpVtbl->Reset(This);
2827}
2828static FORCEINLINE HRESULT IEnumTfDisplayAttributeInfo_Skip(IEnumTfDisplayAttributeInfo* This,ULONG ulCount) {
2829    return This->lpVtbl->Skip(This,ulCount);
2830}
2831#endif
2832#endif
2833
2834#endif
2835
2836HRESULT STDMETHODCALLTYPE IEnumTfDisplayAttributeInfo_Clone_Proxy(
2837    IEnumTfDisplayAttributeInfo* This,
2838    IEnumTfDisplayAttributeInfo **ppEnum);
2839void __RPC_STUB IEnumTfDisplayAttributeInfo_Clone_Stub(
2840    IRpcStubBuffer* This,
2841    IRpcChannelBuffer* pRpcChannelBuffer,
2842    PRPC_MESSAGE pRpcMessage,
2843    DWORD* pdwStubPhase);
2844HRESULT STDMETHODCALLTYPE IEnumTfDisplayAttributeInfo_Next_Proxy(
2845    IEnumTfDisplayAttributeInfo* This,
2846    ULONG ulCount,
2847    ITfDisplayAttributeInfo **rgInfo,
2848    ULONG *pcFetched);
2849void __RPC_STUB IEnumTfDisplayAttributeInfo_Next_Stub(
2850    IRpcStubBuffer* This,
2851    IRpcChannelBuffer* pRpcChannelBuffer,
2852    PRPC_MESSAGE pRpcMessage,
2853    DWORD* pdwStubPhase);
2854HRESULT STDMETHODCALLTYPE IEnumTfDisplayAttributeInfo_Reset_Proxy(
2855    IEnumTfDisplayAttributeInfo* This);
2856void __RPC_STUB IEnumTfDisplayAttributeInfo_Reset_Stub(
2857    IRpcStubBuffer* This,
2858    IRpcChannelBuffer* pRpcChannelBuffer,
2859    PRPC_MESSAGE pRpcMessage,
2860    DWORD* pdwStubPhase);
2861HRESULT STDMETHODCALLTYPE IEnumTfDisplayAttributeInfo_Skip_Proxy(
2862    IEnumTfDisplayAttributeInfo* This,
2863    ULONG ulCount);
2864void __RPC_STUB IEnumTfDisplayAttributeInfo_Skip_Stub(
2865    IRpcStubBuffer* This,
2866    IRpcChannelBuffer* pRpcChannelBuffer,
2867    PRPC_MESSAGE pRpcMessage,
2868    DWORD* pdwStubPhase);
2869
2870#endif  /* __IEnumTfDisplayAttributeInfo_INTERFACE_DEFINED__ */
2871
2872/*****************************************************************************
2873 * ITfDisplayAttributeMgr interface
2874 */
2875#ifndef __ITfDisplayAttributeMgr_INTERFACE_DEFINED__
2876#define __ITfDisplayAttributeMgr_INTERFACE_DEFINED__
2877
2878DEFINE_GUID(IID_ITfDisplayAttributeMgr, 0x8ded7393, 0x5db1, 0x475c, 0x9e,0x71, 0xa3,0x91,0x11,0xb0,0xff,0x67);
2879#if defined(__cplusplus) && !defined(CINTERFACE)
2880MIDL_INTERFACE("8ded7393-5db1-475c-9e71-a39111b0ff67")
2881ITfDisplayAttributeMgr : public IUnknown
2882{
2883    virtual HRESULT STDMETHODCALLTYPE OnUpdateInfo(
2884        ) = 0;
2885
2886    virtual HRESULT STDMETHODCALLTYPE EnumDisplayAttributeInfo(
2887        IEnumTfDisplayAttributeInfo **ppEnum) = 0;
2888
2889    virtual HRESULT STDMETHODCALLTYPE GetDisplayAttributeInfo(
2890        REFGUID guid,
2891        ITfDisplayAttributeInfo **ppInfo,
2892        CLSID *pclsidOwner) = 0;
2893
2894};
2895#ifdef __CRT_UUID_DECL
2896__CRT_UUID_DECL(ITfDisplayAttributeMgr, 0x8ded7393, 0x5db1, 0x475c, 0x9e,0x71, 0xa3,0x91,0x11,0xb0,0xff,0x67)
2897#endif
2898#else
2899typedef struct ITfDisplayAttributeMgrVtbl {
2900    BEGIN_INTERFACE
2901
2902    /*** IUnknown methods ***/
2903    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2904        ITfDisplayAttributeMgr* This,
2905        REFIID riid,
2906        void **ppvObject);
2907
2908    ULONG (STDMETHODCALLTYPE *AddRef)(
2909        ITfDisplayAttributeMgr* This);
2910
2911    ULONG (STDMETHODCALLTYPE *Release)(
2912        ITfDisplayAttributeMgr* This);
2913
2914    /*** ITfDisplayAttributeMgr methods ***/
2915    HRESULT (STDMETHODCALLTYPE *OnUpdateInfo)(
2916        ITfDisplayAttributeMgr* This);
2917
2918    HRESULT (STDMETHODCALLTYPE *EnumDisplayAttributeInfo)(
2919        ITfDisplayAttributeMgr* This,
2920        IEnumTfDisplayAttributeInfo **ppEnum);
2921
2922    HRESULT (STDMETHODCALLTYPE *GetDisplayAttributeInfo)(
2923        ITfDisplayAttributeMgr* This,
2924        REFGUID guid,
2925        ITfDisplayAttributeInfo **ppInfo,
2926        CLSID *pclsidOwner);
2927
2928    END_INTERFACE
2929} ITfDisplayAttributeMgrVtbl;
2930interface ITfDisplayAttributeMgr {
2931    CONST_VTBL ITfDisplayAttributeMgrVtbl* lpVtbl;
2932};
2933
2934#ifdef COBJMACROS
2935#ifndef WIDL_C_INLINE_WRAPPERS
2936/*** IUnknown methods ***/
2937#define ITfDisplayAttributeMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2938#define ITfDisplayAttributeMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
2939#define ITfDisplayAttributeMgr_Release(This) (This)->lpVtbl->Release(This)
2940/*** ITfDisplayAttributeMgr methods ***/
2941#define ITfDisplayAttributeMgr_OnUpdateInfo(This) (This)->lpVtbl->OnUpdateInfo(This)
2942#define ITfDisplayAttributeMgr_EnumDisplayAttributeInfo(This,ppEnum) (This)->lpVtbl->EnumDisplayAttributeInfo(This,ppEnum)
2943#define ITfDisplayAttributeMgr_GetDisplayAttributeInfo(This,guid,ppInfo,pclsidOwner) (This)->lpVtbl->GetDisplayAttributeInfo(This,guid,ppInfo,pclsidOwner)
2944#else
2945/*** IUnknown methods ***/
2946static FORCEINLINE HRESULT ITfDisplayAttributeMgr_QueryInterface(ITfDisplayAttributeMgr* This,REFIID riid,void **ppvObject) {
2947    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2948}
2949static FORCEINLINE ULONG ITfDisplayAttributeMgr_AddRef(ITfDisplayAttributeMgr* This) {
2950    return This->lpVtbl->AddRef(This);
2951}
2952static FORCEINLINE ULONG ITfDisplayAttributeMgr_Release(ITfDisplayAttributeMgr* This) {
2953    return This->lpVtbl->Release(This);
2954}
2955/*** ITfDisplayAttributeMgr methods ***/
2956static FORCEINLINE HRESULT ITfDisplayAttributeMgr_OnUpdateInfo(ITfDisplayAttributeMgr* This) {
2957    return This->lpVtbl->OnUpdateInfo(This);
2958}
2959static FORCEINLINE HRESULT ITfDisplayAttributeMgr_EnumDisplayAttributeInfo(ITfDisplayAttributeMgr* This,IEnumTfDisplayAttributeInfo **ppEnum) {
2960    return This->lpVtbl->EnumDisplayAttributeInfo(This,ppEnum);
2961}
2962static FORCEINLINE HRESULT ITfDisplayAttributeMgr_GetDisplayAttributeInfo(ITfDisplayAttributeMgr* This,REFGUID guid,ITfDisplayAttributeInfo **ppInfo,CLSID *pclsidOwner) {
2963    return This->lpVtbl->GetDisplayAttributeInfo(This,guid,ppInfo,pclsidOwner);
2964}
2965#endif
2966#endif
2967
2968#endif
2969
2970HRESULT STDMETHODCALLTYPE ITfDisplayAttributeMgr_OnUpdateInfo_Proxy(
2971    ITfDisplayAttributeMgr* This);
2972void __RPC_STUB ITfDisplayAttributeMgr_OnUpdateInfo_Stub(
2973    IRpcStubBuffer* This,
2974    IRpcChannelBuffer* pRpcChannelBuffer,
2975    PRPC_MESSAGE pRpcMessage,
2976    DWORD* pdwStubPhase);
2977HRESULT STDMETHODCALLTYPE ITfDisplayAttributeMgr_EnumDisplayAttributeInfo_Proxy(
2978    ITfDisplayAttributeMgr* This,
2979    IEnumTfDisplayAttributeInfo **ppEnum);
2980void __RPC_STUB ITfDisplayAttributeMgr_EnumDisplayAttributeInfo_Stub(
2981    IRpcStubBuffer* This,
2982    IRpcChannelBuffer* pRpcChannelBuffer,
2983    PRPC_MESSAGE pRpcMessage,
2984    DWORD* pdwStubPhase);
2985HRESULT STDMETHODCALLTYPE ITfDisplayAttributeMgr_GetDisplayAttributeInfo_Proxy(
2986    ITfDisplayAttributeMgr* This,
2987    REFGUID guid,
2988    ITfDisplayAttributeInfo **ppInfo,
2989    CLSID *pclsidOwner);
2990void __RPC_STUB ITfDisplayAttributeMgr_GetDisplayAttributeInfo_Stub(
2991    IRpcStubBuffer* This,
2992    IRpcChannelBuffer* pRpcChannelBuffer,
2993    PRPC_MESSAGE pRpcMessage,
2994    DWORD* pdwStubPhase);
2995
2996#endif  /* __ITfDisplayAttributeMgr_INTERFACE_DEFINED__ */
2997
2998/*****************************************************************************
2999 * ITfCategoryMgr interface
3000 */
3001#ifndef __ITfCategoryMgr_INTERFACE_DEFINED__
3002#define __ITfCategoryMgr_INTERFACE_DEFINED__
3003
3004DEFINE_GUID(IID_ITfCategoryMgr, 0xc3acefb5, 0xf69d, 0x4905, 0x93,0x8f, 0xfc,0xad,0xcf,0x4b,0xe8,0x30);
3005#if defined(__cplusplus) && !defined(CINTERFACE)
3006MIDL_INTERFACE("c3acefb5-f69d-4905-938f-fcadcf4be830")
3007ITfCategoryMgr : public IUnknown
3008{
3009    virtual HRESULT STDMETHODCALLTYPE RegisterCategory(
3010        REFCLSID rclsid,
3011        REFGUID rcatid,
3012        REFGUID rguid) = 0;
3013
3014    virtual HRESULT STDMETHODCALLTYPE UnregisterCategory(
3015        REFCLSID rclsid,
3016        REFGUID rcatid,
3017        REFGUID rguid) = 0;
3018
3019    virtual HRESULT STDMETHODCALLTYPE EnumCategoriesInItem(
3020        REFGUID rguid,
3021        IEnumGUID **ppEnum) = 0;
3022
3023    virtual HRESULT STDMETHODCALLTYPE EnumItemsInCategory(
3024        REFGUID rcatid,
3025        IEnumGUID **ppEnum) = 0;
3026
3027    virtual HRESULT STDMETHODCALLTYPE FindClosestCategory(
3028        REFGUID rguid,
3029        GUID *pcatid,
3030        const GUID **ppcatidList,
3031        ULONG ulCount) = 0;
3032
3033    virtual HRESULT STDMETHODCALLTYPE RegisterGUIDDescription(
3034        REFCLSID rclsid,
3035        REFGUID rguid,
3036        const WCHAR *pchDesc,
3037        ULONG cch) = 0;
3038
3039    virtual HRESULT STDMETHODCALLTYPE UnregisterGUIDDescription(
3040        REFCLSID rclsid,
3041        REFGUID rguid) = 0;
3042
3043    virtual HRESULT STDMETHODCALLTYPE GetGUIDDescription(
3044        REFGUID rguid,
3045        BSTR *pbstrDesc) = 0;
3046
3047    virtual HRESULT STDMETHODCALLTYPE RegisterGUIDDWORD(
3048        REFCLSID rclsid,
3049        REFGUID rguid,
3050        DWORD dw) = 0;
3051
3052    virtual HRESULT STDMETHODCALLTYPE UnregisterGUIDDWORD(
3053        REFCLSID rclsid,
3054        REFGUID rguid) = 0;
3055
3056    virtual HRESULT STDMETHODCALLTYPE GetGUIDDWORD(
3057        REFGUID rguid,
3058        DWORD *pdw) = 0;
3059
3060    virtual HRESULT STDMETHODCALLTYPE RegisterGUID(
3061        REFGUID rguid,
3062        TfGuidAtom *pguidatom) = 0;
3063
3064    virtual HRESULT STDMETHODCALLTYPE GetGUID(
3065        TfGuidAtom guidatom,
3066        GUID *pguid) = 0;
3067
3068    virtual HRESULT STDMETHODCALLTYPE IsEqualTfGuidAtom(
3069        TfGuidAtom guidatom,
3070        REFGUID rguid,
3071        WINBOOL *pfEqual) = 0;
3072
3073};
3074#ifdef __CRT_UUID_DECL
3075__CRT_UUID_DECL(ITfCategoryMgr, 0xc3acefb5, 0xf69d, 0x4905, 0x93,0x8f, 0xfc,0xad,0xcf,0x4b,0xe8,0x30)
3076#endif
3077#else
3078typedef struct ITfCategoryMgrVtbl {
3079    BEGIN_INTERFACE
3080
3081    /*** IUnknown methods ***/
3082    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3083        ITfCategoryMgr* This,
3084        REFIID riid,
3085        void **ppvObject);
3086
3087    ULONG (STDMETHODCALLTYPE *AddRef)(
3088        ITfCategoryMgr* This);
3089
3090    ULONG (STDMETHODCALLTYPE *Release)(
3091        ITfCategoryMgr* This);
3092
3093    /*** ITfCategoryMgr methods ***/
3094    HRESULT (STDMETHODCALLTYPE *RegisterCategory)(
3095        ITfCategoryMgr* This,
3096        REFCLSID rclsid,
3097        REFGUID rcatid,
3098        REFGUID rguid);
3099
3100    HRESULT (STDMETHODCALLTYPE *UnregisterCategory)(
3101        ITfCategoryMgr* This,
3102        REFCLSID rclsid,
3103        REFGUID rcatid,
3104        REFGUID rguid);
3105
3106    HRESULT (STDMETHODCALLTYPE *EnumCategoriesInItem)(
3107        ITfCategoryMgr* This,
3108        REFGUID rguid,
3109        IEnumGUID **ppEnum);
3110
3111    HRESULT (STDMETHODCALLTYPE *EnumItemsInCategory)(
3112        ITfCategoryMgr* This,
3113        REFGUID rcatid,
3114        IEnumGUID **ppEnum);
3115
3116    HRESULT (STDMETHODCALLTYPE *FindClosestCategory)(
3117        ITfCategoryMgr* This,
3118        REFGUID rguid,
3119        GUID *pcatid,
3120        const GUID **ppcatidList,
3121        ULONG ulCount);
3122
3123    HRESULT (STDMETHODCALLTYPE *RegisterGUIDDescription)(
3124        ITfCategoryMgr* This,
3125        REFCLSID rclsid,
3126        REFGUID rguid,
3127        const WCHAR *pchDesc,
3128        ULONG cch);
3129
3130    HRESULT (STDMETHODCALLTYPE *UnregisterGUIDDescription)(
3131        ITfCategoryMgr* This,
3132        REFCLSID rclsid,
3133        REFGUID rguid);
3134
3135    HRESULT (STDMETHODCALLTYPE *GetGUIDDescription)(
3136        ITfCategoryMgr* This,
3137        REFGUID rguid,
3138        BSTR *pbstrDesc);
3139
3140    HRESULT (STDMETHODCALLTYPE *RegisterGUIDDWORD)(
3141        ITfCategoryMgr* This,
3142        REFCLSID rclsid,
3143        REFGUID rguid,
3144        DWORD dw);
3145
3146    HRESULT (STDMETHODCALLTYPE *UnregisterGUIDDWORD)(
3147        ITfCategoryMgr* This,
3148        REFCLSID rclsid,
3149        REFGUID rguid);
3150
3151    HRESULT (STDMETHODCALLTYPE *GetGUIDDWORD)(
3152        ITfCategoryMgr* This,
3153        REFGUID rguid,
3154        DWORD *pdw);
3155
3156    HRESULT (STDMETHODCALLTYPE *RegisterGUID)(
3157        ITfCategoryMgr* This,
3158        REFGUID rguid,
3159        TfGuidAtom *pguidatom);
3160
3161    HRESULT (STDMETHODCALLTYPE *GetGUID)(
3162        ITfCategoryMgr* This,
3163        TfGuidAtom guidatom,
3164        GUID *pguid);
3165
3166    HRESULT (STDMETHODCALLTYPE *IsEqualTfGuidAtom)(
3167        ITfCategoryMgr* This,
3168        TfGuidAtom guidatom,
3169        REFGUID rguid,
3170        WINBOOL *pfEqual);
3171
3172    END_INTERFACE
3173} ITfCategoryMgrVtbl;
3174interface ITfCategoryMgr {
3175    CONST_VTBL ITfCategoryMgrVtbl* lpVtbl;
3176};
3177
3178#ifdef COBJMACROS
3179#ifndef WIDL_C_INLINE_WRAPPERS
3180/*** IUnknown methods ***/
3181#define ITfCategoryMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3182#define ITfCategoryMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
3183#define ITfCategoryMgr_Release(This) (This)->lpVtbl->Release(This)
3184/*** ITfCategoryMgr methods ***/
3185#define ITfCategoryMgr_RegisterCategory(This,rclsid,rcatid,rguid) (This)->lpVtbl->RegisterCategory(This,rclsid,rcatid,rguid)
3186#define ITfCategoryMgr_UnregisterCategory(This,rclsid,rcatid,rguid) (This)->lpVtbl->UnregisterCategory(This,rclsid,rcatid,rguid)
3187#define ITfCategoryMgr_EnumCategoriesInItem(This,rguid,ppEnum) (This)->lpVtbl->EnumCategoriesInItem(This,rguid,ppEnum)
3188#define ITfCategoryMgr_EnumItemsInCategory(This,rcatid,ppEnum) (This)->lpVtbl->EnumItemsInCategory(This,rcatid,ppEnum)
3189#define ITfCategoryMgr_FindClosestCategory(This,rguid,pcatid,ppcatidList,ulCount) (This)->lpVtbl->FindClosestCategory(This,rguid,pcatid,ppcatidList,ulCount)
3190#define ITfCategoryMgr_RegisterGUIDDescription(This,rclsid,rguid,pchDesc,cch) (This)->lpVtbl->RegisterGUIDDescription(This,rclsid,rguid,pchDesc,cch)
3191#define ITfCategoryMgr_UnregisterGUIDDescription(This,rclsid,rguid) (This)->lpVtbl->UnregisterGUIDDescription(This,rclsid,rguid)
3192#define ITfCategoryMgr_GetGUIDDescription(This,rguid,pbstrDesc) (This)->lpVtbl->GetGUIDDescription(This,rguid,pbstrDesc)
3193#define ITfCategoryMgr_RegisterGUIDDWORD(This,rclsid,rguid,dw) (This)->lpVtbl->RegisterGUIDDWORD(This,rclsid,rguid,dw)
3194#define ITfCategoryMgr_UnregisterGUIDDWORD(This,rclsid,rguid) (This)->lpVtbl->UnregisterGUIDDWORD(This,rclsid,rguid)
3195#define ITfCategoryMgr_GetGUIDDWORD(This,rguid,pdw) (This)->lpVtbl->GetGUIDDWORD(This,rguid,pdw)
3196#define ITfCategoryMgr_RegisterGUID(This,rguid,pguidatom) (This)->lpVtbl->RegisterGUID(This,rguid,pguidatom)
3197#define ITfCategoryMgr_GetGUID(This,guidatom,pguid) (This)->lpVtbl->GetGUID(This,guidatom,pguid)
3198#define ITfCategoryMgr_IsEqualTfGuidAtom(This,guidatom,rguid,pfEqual) (This)->lpVtbl->IsEqualTfGuidAtom(This,guidatom,rguid,pfEqual)
3199#else
3200/*** IUnknown methods ***/
3201static FORCEINLINE HRESULT ITfCategoryMgr_QueryInterface(ITfCategoryMgr* This,REFIID riid,void **ppvObject) {
3202    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3203}
3204static FORCEINLINE ULONG ITfCategoryMgr_AddRef(ITfCategoryMgr* This) {
3205    return This->lpVtbl->AddRef(This);
3206}
3207static FORCEINLINE ULONG ITfCategoryMgr_Release(ITfCategoryMgr* This) {
3208    return This->lpVtbl->Release(This);
3209}
3210/*** ITfCategoryMgr methods ***/
3211static FORCEINLINE HRESULT ITfCategoryMgr_RegisterCategory(ITfCategoryMgr* This,REFCLSID rclsid,REFGUID rcatid,REFGUID rguid) {
3212    return This->lpVtbl->RegisterCategory(This,rclsid,rcatid,rguid);
3213}
3214static FORCEINLINE HRESULT ITfCategoryMgr_UnregisterCategory(ITfCategoryMgr* This,REFCLSID rclsid,REFGUID rcatid,REFGUID rguid) {
3215    return This->lpVtbl->UnregisterCategory(This,rclsid,rcatid,rguid);
3216}
3217static FORCEINLINE HRESULT ITfCategoryMgr_EnumCategoriesInItem(ITfCategoryMgr* This,REFGUID rguid,IEnumGUID **ppEnum) {
3218    return This->lpVtbl->EnumCategoriesInItem(This,rguid,ppEnum);
3219}
3220static FORCEINLINE HRESULT ITfCategoryMgr_EnumItemsInCategory(ITfCategoryMgr* This,REFGUID rcatid,IEnumGUID **ppEnum) {
3221    return This->lpVtbl->EnumItemsInCategory(This,rcatid,ppEnum);
3222}
3223static FORCEINLINE HRESULT ITfCategoryMgr_FindClosestCategory(ITfCategoryMgr* This,REFGUID rguid,GUID *pcatid,const GUID **ppcatidList,ULONG ulCount) {
3224    return This->lpVtbl->FindClosestCategory(This,rguid,pcatid,ppcatidList,ulCount);
3225}
3226static FORCEINLINE HRESULT ITfCategoryMgr_RegisterGUIDDescription(ITfCategoryMgr* This,REFCLSID rclsid,REFGUID rguid,const WCHAR *pchDesc,ULONG cch) {
3227    return This->lpVtbl->RegisterGUIDDescription(This,rclsid,rguid,pchDesc,cch);
3228}
3229static FORCEINLINE HRESULT ITfCategoryMgr_UnregisterGUIDDescription(ITfCategoryMgr* This,REFCLSID rclsid,REFGUID rguid) {
3230    return This->lpVtbl->UnregisterGUIDDescription(This,rclsid,rguid);
3231}
3232static FORCEINLINE HRESULT ITfCategoryMgr_GetGUIDDescription(ITfCategoryMgr* This,REFGUID rguid,BSTR *pbstrDesc) {
3233    return This->lpVtbl->GetGUIDDescription(This,rguid,pbstrDesc);
3234}
3235static FORCEINLINE HRESULT ITfCategoryMgr_RegisterGUIDDWORD(ITfCategoryMgr* This,REFCLSID rclsid,REFGUID rguid,DWORD dw) {
3236    return This->lpVtbl->RegisterGUIDDWORD(This,rclsid,rguid,dw);
3237}
3238static FORCEINLINE HRESULT ITfCategoryMgr_UnregisterGUIDDWORD(ITfCategoryMgr* This,REFCLSID rclsid,REFGUID rguid) {
3239    return This->lpVtbl->UnregisterGUIDDWORD(This,rclsid,rguid);
3240}
3241static FORCEINLINE HRESULT ITfCategoryMgr_GetGUIDDWORD(ITfCategoryMgr* This,REFGUID rguid,DWORD *pdw) {
3242    return This->lpVtbl->GetGUIDDWORD(This,rguid,pdw);
3243}
3244static FORCEINLINE HRESULT ITfCategoryMgr_RegisterGUID(ITfCategoryMgr* This,REFGUID rguid,TfGuidAtom *pguidatom) {
3245    return This->lpVtbl->RegisterGUID(This,rguid,pguidatom);
3246}
3247static FORCEINLINE HRESULT ITfCategoryMgr_GetGUID(ITfCategoryMgr* This,TfGuidAtom guidatom,GUID *pguid) {
3248    return This->lpVtbl->GetGUID(This,guidatom,pguid);
3249}
3250static FORCEINLINE HRESULT ITfCategoryMgr_IsEqualTfGuidAtom(ITfCategoryMgr* This,TfGuidAtom guidatom,REFGUID rguid,WINBOOL *pfEqual) {
3251    return This->lpVtbl->IsEqualTfGuidAtom(This,guidatom,rguid,pfEqual);
3252}
3253#endif
3254#endif
3255
3256#endif
3257
3258HRESULT STDMETHODCALLTYPE ITfCategoryMgr_RegisterCategory_Proxy(
3259    ITfCategoryMgr* This,
3260    REFCLSID rclsid,
3261    REFGUID rcatid,
3262    REFGUID rguid);
3263void __RPC_STUB ITfCategoryMgr_RegisterCategory_Stub(
3264    IRpcStubBuffer* This,
3265    IRpcChannelBuffer* pRpcChannelBuffer,
3266    PRPC_MESSAGE pRpcMessage,
3267    DWORD* pdwStubPhase);
3268HRESULT STDMETHODCALLTYPE ITfCategoryMgr_UnregisterCategory_Proxy(
3269    ITfCategoryMgr* This,
3270    REFCLSID rclsid,
3271    REFGUID rcatid,
3272    REFGUID rguid);
3273void __RPC_STUB ITfCategoryMgr_UnregisterCategory_Stub(
3274    IRpcStubBuffer* This,
3275    IRpcChannelBuffer* pRpcChannelBuffer,
3276    PRPC_MESSAGE pRpcMessage,
3277    DWORD* pdwStubPhase);
3278HRESULT STDMETHODCALLTYPE ITfCategoryMgr_EnumCategoriesInItem_Proxy(
3279    ITfCategoryMgr* This,
3280    REFGUID rguid,
3281    IEnumGUID **ppEnum);
3282void __RPC_STUB ITfCategoryMgr_EnumCategoriesInItem_Stub(
3283    IRpcStubBuffer* This,
3284    IRpcChannelBuffer* pRpcChannelBuffer,
3285    PRPC_MESSAGE pRpcMessage,
3286    DWORD* pdwStubPhase);
3287HRESULT STDMETHODCALLTYPE ITfCategoryMgr_EnumItemsInCategory_Proxy(
3288    ITfCategoryMgr* This,
3289    REFGUID rcatid,
3290    IEnumGUID **ppEnum);
3291void __RPC_STUB ITfCategoryMgr_EnumItemsInCategory_Stub(
3292    IRpcStubBuffer* This,
3293    IRpcChannelBuffer* pRpcChannelBuffer,
3294    PRPC_MESSAGE pRpcMessage,
3295    DWORD* pdwStubPhase);
3296HRESULT STDMETHODCALLTYPE ITfCategoryMgr_FindClosestCategory_Proxy(
3297    ITfCategoryMgr* This,
3298    REFGUID rguid,
3299    GUID *pcatid,
3300    const GUID **ppcatidList,
3301    ULONG ulCount);
3302void __RPC_STUB ITfCategoryMgr_FindClosestCategory_Stub(
3303    IRpcStubBuffer* This,
3304    IRpcChannelBuffer* pRpcChannelBuffer,
3305    PRPC_MESSAGE pRpcMessage,
3306    DWORD* pdwStubPhase);
3307HRESULT STDMETHODCALLTYPE ITfCategoryMgr_RegisterGUIDDescription_Proxy(
3308    ITfCategoryMgr* This,
3309    REFCLSID rclsid,
3310    REFGUID rguid,
3311    const WCHAR *pchDesc,
3312    ULONG cch);
3313void __RPC_STUB ITfCategoryMgr_RegisterGUIDDescription_Stub(
3314    IRpcStubBuffer* This,
3315    IRpcChannelBuffer* pRpcChannelBuffer,
3316    PRPC_MESSAGE pRpcMessage,
3317    DWORD* pdwStubPhase);
3318HRESULT STDMETHODCALLTYPE ITfCategoryMgr_UnregisterGUIDDescription_Proxy(
3319    ITfCategoryMgr* This,
3320    REFCLSID rclsid,
3321    REFGUID rguid);
3322void __RPC_STUB ITfCategoryMgr_UnregisterGUIDDescription_Stub(
3323    IRpcStubBuffer* This,
3324    IRpcChannelBuffer* pRpcChannelBuffer,
3325    PRPC_MESSAGE pRpcMessage,
3326    DWORD* pdwStubPhase);
3327HRESULT STDMETHODCALLTYPE ITfCategoryMgr_GetGUIDDescription_Proxy(
3328    ITfCategoryMgr* This,
3329    REFGUID rguid,
3330    BSTR *pbstrDesc);
3331void __RPC_STUB ITfCategoryMgr_GetGUIDDescription_Stub(
3332    IRpcStubBuffer* This,
3333    IRpcChannelBuffer* pRpcChannelBuffer,
3334    PRPC_MESSAGE pRpcMessage,
3335    DWORD* pdwStubPhase);
3336HRESULT STDMETHODCALLTYPE ITfCategoryMgr_RegisterGUIDDWORD_Proxy(
3337    ITfCategoryMgr* This,
3338    REFCLSID rclsid,
3339    REFGUID rguid,
3340    DWORD dw);
3341void __RPC_STUB ITfCategoryMgr_RegisterGUIDDWORD_Stub(
3342    IRpcStubBuffer* This,
3343    IRpcChannelBuffer* pRpcChannelBuffer,
3344    PRPC_MESSAGE pRpcMessage,
3345    DWORD* pdwStubPhase);
3346HRESULT STDMETHODCALLTYPE ITfCategoryMgr_UnregisterGUIDDWORD_Proxy(
3347    ITfCategoryMgr* This,
3348    REFCLSID rclsid,
3349    REFGUID rguid);
3350void __RPC_STUB ITfCategoryMgr_UnregisterGUIDDWORD_Stub(
3351    IRpcStubBuffer* This,
3352    IRpcChannelBuffer* pRpcChannelBuffer,
3353    PRPC_MESSAGE pRpcMessage,
3354    DWORD* pdwStubPhase);
3355HRESULT STDMETHODCALLTYPE ITfCategoryMgr_GetGUIDDWORD_Proxy(
3356    ITfCategoryMgr* This,
3357    REFGUID rguid,
3358    DWORD *pdw);
3359void __RPC_STUB ITfCategoryMgr_GetGUIDDWORD_Stub(
3360    IRpcStubBuffer* This,
3361    IRpcChannelBuffer* pRpcChannelBuffer,
3362    PRPC_MESSAGE pRpcMessage,
3363    DWORD* pdwStubPhase);
3364HRESULT STDMETHODCALLTYPE ITfCategoryMgr_RegisterGUID_Proxy(
3365    ITfCategoryMgr* This,
3366    REFGUID rguid,
3367    TfGuidAtom *pguidatom);
3368void __RPC_STUB ITfCategoryMgr_RegisterGUID_Stub(
3369    IRpcStubBuffer* This,
3370    IRpcChannelBuffer* pRpcChannelBuffer,
3371    PRPC_MESSAGE pRpcMessage,
3372    DWORD* pdwStubPhase);
3373HRESULT STDMETHODCALLTYPE ITfCategoryMgr_GetGUID_Proxy(
3374    ITfCategoryMgr* This,
3375    TfGuidAtom guidatom,
3376    GUID *pguid);
3377void __RPC_STUB ITfCategoryMgr_GetGUID_Stub(
3378    IRpcStubBuffer* This,
3379    IRpcChannelBuffer* pRpcChannelBuffer,
3380    PRPC_MESSAGE pRpcMessage,
3381    DWORD* pdwStubPhase);
3382HRESULT STDMETHODCALLTYPE ITfCategoryMgr_IsEqualTfGuidAtom_Proxy(
3383    ITfCategoryMgr* This,
3384    TfGuidAtom guidatom,
3385    REFGUID rguid,
3386    WINBOOL *pfEqual);
3387void __RPC_STUB ITfCategoryMgr_IsEqualTfGuidAtom_Stub(
3388    IRpcStubBuffer* This,
3389    IRpcChannelBuffer* pRpcChannelBuffer,
3390    PRPC_MESSAGE pRpcMessage,
3391    DWORD* pdwStubPhase);
3392
3393#endif  /* __ITfCategoryMgr_INTERFACE_DEFINED__ */
3394
3395/*****************************************************************************
3396 * ITfTextEditSink interface
3397 */
3398#ifndef __ITfTextEditSink_INTERFACE_DEFINED__
3399#define __ITfTextEditSink_INTERFACE_DEFINED__
3400
3401DEFINE_GUID(IID_ITfTextEditSink, 0x8127d409, 0xccd3, 0x4683, 0x96,0x7a, 0xb4,0x3d,0x5b,0x48,0x2b,0xf7);
3402#if defined(__cplusplus) && !defined(CINTERFACE)
3403MIDL_INTERFACE("8127d409-ccd3-4683-967a-b43d5b482bf7")
3404ITfTextEditSink : public IUnknown
3405{
3406    virtual HRESULT STDMETHODCALLTYPE OnEndEdit(
3407        ITfContext *pic,
3408        TfEditCookie ecReadOnly,
3409        ITfEditRecord *pEditRecord) = 0;
3410
3411};
3412#ifdef __CRT_UUID_DECL
3413__CRT_UUID_DECL(ITfTextEditSink, 0x8127d409, 0xccd3, 0x4683, 0x96,0x7a, 0xb4,0x3d,0x5b,0x48,0x2b,0xf7)
3414#endif
3415#else
3416typedef struct ITfTextEditSinkVtbl {
3417    BEGIN_INTERFACE
3418
3419    /*** IUnknown methods ***/
3420    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3421        ITfTextEditSink* This,
3422        REFIID riid,
3423        void **ppvObject);
3424
3425    ULONG (STDMETHODCALLTYPE *AddRef)(
3426        ITfTextEditSink* This);
3427
3428    ULONG (STDMETHODCALLTYPE *Release)(
3429        ITfTextEditSink* This);
3430
3431    /*** ITfTextEditSink methods ***/
3432    HRESULT (STDMETHODCALLTYPE *OnEndEdit)(
3433        ITfTextEditSink* This,
3434        ITfContext *pic,
3435        TfEditCookie ecReadOnly,
3436        ITfEditRecord *pEditRecord);
3437
3438    END_INTERFACE
3439} ITfTextEditSinkVtbl;
3440interface ITfTextEditSink {
3441    CONST_VTBL ITfTextEditSinkVtbl* lpVtbl;
3442};
3443
3444#ifdef COBJMACROS
3445#ifndef WIDL_C_INLINE_WRAPPERS
3446/*** IUnknown methods ***/
3447#define ITfTextEditSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3448#define ITfTextEditSink_AddRef(This) (This)->lpVtbl->AddRef(This)
3449#define ITfTextEditSink_Release(This) (This)->lpVtbl->Release(This)
3450/*** ITfTextEditSink methods ***/
3451#define ITfTextEditSink_OnEndEdit(This,pic,ecReadOnly,pEditRecord) (This)->lpVtbl->OnEndEdit(This,pic,ecReadOnly,pEditRecord)
3452#else
3453/*** IUnknown methods ***/
3454static FORCEINLINE HRESULT ITfTextEditSink_QueryInterface(ITfTextEditSink* This,REFIID riid,void **ppvObject) {
3455    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3456}
3457static FORCEINLINE ULONG ITfTextEditSink_AddRef(ITfTextEditSink* This) {
3458    return This->lpVtbl->AddRef(This);
3459}
3460static FORCEINLINE ULONG ITfTextEditSink_Release(ITfTextEditSink* This) {
3461    return This->lpVtbl->Release(This);
3462}
3463/*** ITfTextEditSink methods ***/
3464static FORCEINLINE HRESULT ITfTextEditSink_OnEndEdit(ITfTextEditSink* This,ITfContext *pic,TfEditCookie ecReadOnly,ITfEditRecord *pEditRecord) {
3465    return This->lpVtbl->OnEndEdit(This,pic,ecReadOnly,pEditRecord);
3466}
3467#endif
3468#endif
3469
3470#endif
3471
3472HRESULT STDMETHODCALLTYPE ITfTextEditSink_OnEndEdit_Proxy(
3473    ITfTextEditSink* This,
3474    ITfContext *pic,
3475    TfEditCookie ecReadOnly,
3476    ITfEditRecord *pEditRecord);
3477void __RPC_STUB ITfTextEditSink_OnEndEdit_Stub(
3478    IRpcStubBuffer* This,
3479    IRpcChannelBuffer* pRpcChannelBuffer,
3480    PRPC_MESSAGE pRpcMessage,
3481    DWORD* pdwStubPhase);
3482
3483#endif  /* __ITfTextEditSink_INTERFACE_DEFINED__ */
3484
3485/*****************************************************************************
3486 * ITfContextOwnerCompositionSink interface
3487 */
3488#ifndef __ITfContextOwnerCompositionSink_INTERFACE_DEFINED__
3489#define __ITfContextOwnerCompositionSink_INTERFACE_DEFINED__
3490
3491DEFINE_GUID(IID_ITfContextOwnerCompositionSink, 0x5f20aa40, 0xb57a, 0x4f34, 0x96,0xab, 0x35,0x76,0xf3,0x77,0xcc,0x79);
3492#if defined(__cplusplus) && !defined(CINTERFACE)
3493MIDL_INTERFACE("5f20aa40-b57a-4f34-96ab-3576f377cc79")
3494ITfContextOwnerCompositionSink : public IUnknown
3495{
3496    virtual HRESULT STDMETHODCALLTYPE OnStartComposition(
3497        ITfCompositionView *pComposition,
3498        WINBOOL *pfOk) = 0;
3499
3500    virtual HRESULT STDMETHODCALLTYPE OnUpdateComposition(
3501        ITfCompositionView *pComposition,
3502        ITfRange *pRangeNew) = 0;
3503
3504    virtual HRESULT STDMETHODCALLTYPE OnEndComposition(
3505        ITfCompositionView *pComposition) = 0;
3506
3507};
3508#ifdef __CRT_UUID_DECL
3509__CRT_UUID_DECL(ITfContextOwnerCompositionSink, 0x5f20aa40, 0xb57a, 0x4f34, 0x96,0xab, 0x35,0x76,0xf3,0x77,0xcc,0x79)
3510#endif
3511#else
3512typedef struct ITfContextOwnerCompositionSinkVtbl {
3513    BEGIN_INTERFACE
3514
3515    /*** IUnknown methods ***/
3516    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3517        ITfContextOwnerCompositionSink* This,
3518        REFIID riid,
3519        void **ppvObject);
3520
3521    ULONG (STDMETHODCALLTYPE *AddRef)(
3522        ITfContextOwnerCompositionSink* This);
3523
3524    ULONG (STDMETHODCALLTYPE *Release)(
3525        ITfContextOwnerCompositionSink* This);
3526
3527    /*** ITfContextOwnerCompositionSink methods ***/
3528    HRESULT (STDMETHODCALLTYPE *OnStartComposition)(
3529        ITfContextOwnerCompositionSink* This,
3530        ITfCompositionView *pComposition,
3531        WINBOOL *pfOk);
3532
3533    HRESULT (STDMETHODCALLTYPE *OnUpdateComposition)(
3534        ITfContextOwnerCompositionSink* This,
3535        ITfCompositionView *pComposition,
3536        ITfRange *pRangeNew);
3537
3538    HRESULT (STDMETHODCALLTYPE *OnEndComposition)(
3539        ITfContextOwnerCompositionSink* This,
3540        ITfCompositionView *pComposition);
3541
3542    END_INTERFACE
3543} ITfContextOwnerCompositionSinkVtbl;
3544interface ITfContextOwnerCompositionSink {
3545    CONST_VTBL ITfContextOwnerCompositionSinkVtbl* lpVtbl;
3546};
3547
3548#ifdef COBJMACROS
3549#ifndef WIDL_C_INLINE_WRAPPERS
3550/*** IUnknown methods ***/
3551#define ITfContextOwnerCompositionSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3552#define ITfContextOwnerCompositionSink_AddRef(This) (This)->lpVtbl->AddRef(This)
3553#define ITfContextOwnerCompositionSink_Release(This) (This)->lpVtbl->Release(This)
3554/*** ITfContextOwnerCompositionSink methods ***/
3555#define ITfContextOwnerCompositionSink_OnStartComposition(This,pComposition,pfOk) (This)->lpVtbl->OnStartComposition(This,pComposition,pfOk)
3556#define ITfContextOwnerCompositionSink_OnUpdateComposition(This,pComposition,pRangeNew) (This)->lpVtbl->OnUpdateComposition(This,pComposition,pRangeNew)
3557#define ITfContextOwnerCompositionSink_OnEndComposition(This,pComposition) (This)->lpVtbl->OnEndComposition(This,pComposition)
3558#else
3559/*** IUnknown methods ***/
3560static FORCEINLINE HRESULT ITfContextOwnerCompositionSink_QueryInterface(ITfContextOwnerCompositionSink* This,REFIID riid,void **ppvObject) {
3561    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3562}
3563static FORCEINLINE ULONG ITfContextOwnerCompositionSink_AddRef(ITfContextOwnerCompositionSink* This) {
3564    return This->lpVtbl->AddRef(This);
3565}
3566static FORCEINLINE ULONG ITfContextOwnerCompositionSink_Release(ITfContextOwnerCompositionSink* This) {
3567    return This->lpVtbl->Release(This);
3568}
3569/*** ITfContextOwnerCompositionSink methods ***/
3570static FORCEINLINE HRESULT ITfContextOwnerCompositionSink_OnStartComposition(ITfContextOwnerCompositionSink* This,ITfCompositionView *pComposition,WINBOOL *pfOk) {
3571    return This->lpVtbl->OnStartComposition(This,pComposition,pfOk);
3572}
3573static FORCEINLINE HRESULT ITfContextOwnerCompositionSink_OnUpdateComposition(ITfContextOwnerCompositionSink* This,ITfCompositionView *pComposition,ITfRange *pRangeNew) {
3574    return This->lpVtbl->OnUpdateComposition(This,pComposition,pRangeNew);
3575}
3576static FORCEINLINE HRESULT ITfContextOwnerCompositionSink_OnEndComposition(ITfContextOwnerCompositionSink* This,ITfCompositionView *pComposition) {
3577    return This->lpVtbl->OnEndComposition(This,pComposition);
3578}
3579#endif
3580#endif
3581
3582#endif
3583
3584HRESULT STDMETHODCALLTYPE ITfContextOwnerCompositionSink_OnStartComposition_Proxy(
3585    ITfContextOwnerCompositionSink* This,
3586    ITfCompositionView *pComposition,
3587    WINBOOL *pfOk);
3588void __RPC_STUB ITfContextOwnerCompositionSink_OnStartComposition_Stub(
3589    IRpcStubBuffer* This,
3590    IRpcChannelBuffer* pRpcChannelBuffer,
3591    PRPC_MESSAGE pRpcMessage,
3592    DWORD* pdwStubPhase);
3593HRESULT STDMETHODCALLTYPE ITfContextOwnerCompositionSink_OnUpdateComposition_Proxy(
3594    ITfContextOwnerCompositionSink* This,
3595    ITfCompositionView *pComposition,
3596    ITfRange *pRangeNew);
3597void __RPC_STUB ITfContextOwnerCompositionSink_OnUpdateComposition_Stub(
3598    IRpcStubBuffer* This,
3599    IRpcChannelBuffer* pRpcChannelBuffer,
3600    PRPC_MESSAGE pRpcMessage,
3601    DWORD* pdwStubPhase);
3602HRESULT STDMETHODCALLTYPE ITfContextOwnerCompositionSink_OnEndComposition_Proxy(
3603    ITfContextOwnerCompositionSink* This,
3604    ITfCompositionView *pComposition);
3605void __RPC_STUB ITfContextOwnerCompositionSink_OnEndComposition_Stub(
3606    IRpcStubBuffer* This,
3607    IRpcChannelBuffer* pRpcChannelBuffer,
3608    PRPC_MESSAGE pRpcMessage,
3609    DWORD* pdwStubPhase);
3610
3611#endif  /* __ITfContextOwnerCompositionSink_INTERFACE_DEFINED__ */
3612
3613/*****************************************************************************
3614 * IEnumTfLanguageProfiles interface
3615 */
3616#ifndef __IEnumTfLanguageProfiles_INTERFACE_DEFINED__
3617#define __IEnumTfLanguageProfiles_INTERFACE_DEFINED__
3618
3619DEFINE_GUID(IID_IEnumTfLanguageProfiles, 0x3d61bf11, 0xac5f, 0x42c8, 0xa4,0xcb, 0x93,0x1b,0xcc,0x28,0xc7,0x44);
3620#if defined(__cplusplus) && !defined(CINTERFACE)
3621MIDL_INTERFACE("3d61bf11-ac5f-42c8-a4cb-931bcc28c744")
3622IEnumTfLanguageProfiles : public IUnknown
3623{
3624    virtual HRESULT STDMETHODCALLTYPE Clone(
3625        IEnumTfLanguageProfiles **ppEnum) = 0;
3626
3627    virtual HRESULT STDMETHODCALLTYPE Next(
3628        ULONG ulCount,
3629        TF_LANGUAGEPROFILE *pProfile,
3630        ULONG *pcFetch) = 0;
3631
3632    virtual HRESULT STDMETHODCALLTYPE Reset(
3633        ) = 0;
3634
3635    virtual HRESULT STDMETHODCALLTYPE Skip(
3636        ULONG ulCount) = 0;
3637
3638};
3639#ifdef __CRT_UUID_DECL
3640__CRT_UUID_DECL(IEnumTfLanguageProfiles, 0x3d61bf11, 0xac5f, 0x42c8, 0xa4,0xcb, 0x93,0x1b,0xcc,0x28,0xc7,0x44)
3641#endif
3642#else
3643typedef struct IEnumTfLanguageProfilesVtbl {
3644    BEGIN_INTERFACE
3645
3646    /*** IUnknown methods ***/
3647    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3648        IEnumTfLanguageProfiles* This,
3649        REFIID riid,
3650        void **ppvObject);
3651
3652    ULONG (STDMETHODCALLTYPE *AddRef)(
3653        IEnumTfLanguageProfiles* This);
3654
3655    ULONG (STDMETHODCALLTYPE *Release)(
3656        IEnumTfLanguageProfiles* This);
3657
3658    /*** IEnumTfLanguageProfiles methods ***/
3659    HRESULT (STDMETHODCALLTYPE *Clone)(
3660        IEnumTfLanguageProfiles* This,
3661        IEnumTfLanguageProfiles **ppEnum);
3662
3663    HRESULT (STDMETHODCALLTYPE *Next)(
3664        IEnumTfLanguageProfiles* This,
3665        ULONG ulCount,
3666        TF_LANGUAGEPROFILE *pProfile,
3667        ULONG *pcFetch);
3668
3669    HRESULT (STDMETHODCALLTYPE *Reset)(
3670        IEnumTfLanguageProfiles* This);
3671
3672    HRESULT (STDMETHODCALLTYPE *Skip)(
3673        IEnumTfLanguageProfiles* This,
3674        ULONG ulCount);
3675
3676    END_INTERFACE
3677} IEnumTfLanguageProfilesVtbl;
3678interface IEnumTfLanguageProfiles {
3679    CONST_VTBL IEnumTfLanguageProfilesVtbl* lpVtbl;
3680};
3681
3682#ifdef COBJMACROS
3683#ifndef WIDL_C_INLINE_WRAPPERS
3684/*** IUnknown methods ***/
3685#define IEnumTfLanguageProfiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3686#define IEnumTfLanguageProfiles_AddRef(This) (This)->lpVtbl->AddRef(This)
3687#define IEnumTfLanguageProfiles_Release(This) (This)->lpVtbl->Release(This)
3688/*** IEnumTfLanguageProfiles methods ***/
3689#define IEnumTfLanguageProfiles_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
3690#define IEnumTfLanguageProfiles_Next(This,ulCount,pProfile,pcFetch) (This)->lpVtbl->Next(This,ulCount,pProfile,pcFetch)
3691#define IEnumTfLanguageProfiles_Reset(This) (This)->lpVtbl->Reset(This)
3692#define IEnumTfLanguageProfiles_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
3693#else
3694/*** IUnknown methods ***/
3695static FORCEINLINE HRESULT IEnumTfLanguageProfiles_QueryInterface(IEnumTfLanguageProfiles* This,REFIID riid,void **ppvObject) {
3696    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3697}
3698static FORCEINLINE ULONG IEnumTfLanguageProfiles_AddRef(IEnumTfLanguageProfiles* This) {
3699    return This->lpVtbl->AddRef(This);
3700}
3701static FORCEINLINE ULONG IEnumTfLanguageProfiles_Release(IEnumTfLanguageProfiles* This) {
3702    return This->lpVtbl->Release(This);
3703}
3704/*** IEnumTfLanguageProfiles methods ***/
3705static FORCEINLINE HRESULT IEnumTfLanguageProfiles_Clone(IEnumTfLanguageProfiles* This,IEnumTfLanguageProfiles **ppEnum) {
3706    return This->lpVtbl->Clone(This,ppEnum);
3707}
3708static FORCEINLINE HRESULT IEnumTfLanguageProfiles_Next(IEnumTfLanguageProfiles* This,ULONG ulCount,TF_LANGUAGEPROFILE *pProfile,ULONG *pcFetch) {
3709    return This->lpVtbl->Next(This,ulCount,pProfile,pcFetch);
3710}
3711static FORCEINLINE HRESULT IEnumTfLanguageProfiles_Reset(IEnumTfLanguageProfiles* This) {
3712    return This->lpVtbl->Reset(This);
3713}
3714static FORCEINLINE HRESULT IEnumTfLanguageProfiles_Skip(IEnumTfLanguageProfiles* This,ULONG ulCount) {
3715    return This->lpVtbl->Skip(This,ulCount);
3716}
3717#endif
3718#endif
3719
3720#endif
3721
3722HRESULT STDMETHODCALLTYPE IEnumTfLanguageProfiles_Clone_Proxy(
3723    IEnumTfLanguageProfiles* This,
3724    IEnumTfLanguageProfiles **ppEnum);
3725void __RPC_STUB IEnumTfLanguageProfiles_Clone_Stub(
3726    IRpcStubBuffer* This,
3727    IRpcChannelBuffer* pRpcChannelBuffer,
3728    PRPC_MESSAGE pRpcMessage,
3729    DWORD* pdwStubPhase);
3730HRESULT STDMETHODCALLTYPE IEnumTfLanguageProfiles_Next_Proxy(
3731    IEnumTfLanguageProfiles* This,
3732    ULONG ulCount,
3733    TF_LANGUAGEPROFILE *pProfile,
3734    ULONG *pcFetch);
3735void __RPC_STUB IEnumTfLanguageProfiles_Next_Stub(
3736    IRpcStubBuffer* This,
3737    IRpcChannelBuffer* pRpcChannelBuffer,
3738    PRPC_MESSAGE pRpcMessage,
3739    DWORD* pdwStubPhase);
3740HRESULT STDMETHODCALLTYPE IEnumTfLanguageProfiles_Reset_Proxy(
3741    IEnumTfLanguageProfiles* This);
3742void __RPC_STUB IEnumTfLanguageProfiles_Reset_Stub(
3743    IRpcStubBuffer* This,
3744    IRpcChannelBuffer* pRpcChannelBuffer,
3745    PRPC_MESSAGE pRpcMessage,
3746    DWORD* pdwStubPhase);
3747HRESULT STDMETHODCALLTYPE IEnumTfLanguageProfiles_Skip_Proxy(
3748    IEnumTfLanguageProfiles* This,
3749    ULONG ulCount);
3750void __RPC_STUB IEnumTfLanguageProfiles_Skip_Stub(
3751    IRpcStubBuffer* This,
3752    IRpcChannelBuffer* pRpcChannelBuffer,
3753    PRPC_MESSAGE pRpcMessage,
3754    DWORD* pdwStubPhase);
3755
3756#endif  /* __IEnumTfLanguageProfiles_INTERFACE_DEFINED__ */
3757
3758/*****************************************************************************
3759 * ITfTextInputProcessor interface
3760 */
3761#ifndef __ITfTextInputProcessor_INTERFACE_DEFINED__
3762#define __ITfTextInputProcessor_INTERFACE_DEFINED__
3763
3764DEFINE_GUID(IID_ITfTextInputProcessor, 0xaa80e7f7, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
3765#if defined(__cplusplus) && !defined(CINTERFACE)
3766MIDL_INTERFACE("aa80e7f7-2021-11d2-93e0-0060b067b86e")
3767ITfTextInputProcessor : public IUnknown
3768{
3769    virtual HRESULT STDMETHODCALLTYPE Activate(
3770        ITfThreadMgr *ptim,
3771        TfClientId tid) = 0;
3772
3773    virtual HRESULT STDMETHODCALLTYPE Deactivate(
3774        ) = 0;
3775
3776};
3777#ifdef __CRT_UUID_DECL
3778__CRT_UUID_DECL(ITfTextInputProcessor, 0xaa80e7f7, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
3779#endif
3780#else
3781typedef struct ITfTextInputProcessorVtbl {
3782    BEGIN_INTERFACE
3783
3784    /*** IUnknown methods ***/
3785    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3786        ITfTextInputProcessor* This,
3787        REFIID riid,
3788        void **ppvObject);
3789
3790    ULONG (STDMETHODCALLTYPE *AddRef)(
3791        ITfTextInputProcessor* This);
3792
3793    ULONG (STDMETHODCALLTYPE *Release)(
3794        ITfTextInputProcessor* This);
3795
3796    /*** ITfTextInputProcessor methods ***/
3797    HRESULT (STDMETHODCALLTYPE *Activate)(
3798        ITfTextInputProcessor* This,
3799        ITfThreadMgr *ptim,
3800        TfClientId tid);
3801
3802    HRESULT (STDMETHODCALLTYPE *Deactivate)(
3803        ITfTextInputProcessor* This);
3804
3805    END_INTERFACE
3806} ITfTextInputProcessorVtbl;
3807interface ITfTextInputProcessor {
3808    CONST_VTBL ITfTextInputProcessorVtbl* lpVtbl;
3809};
3810
3811#ifdef COBJMACROS
3812#ifndef WIDL_C_INLINE_WRAPPERS
3813/*** IUnknown methods ***/
3814#define ITfTextInputProcessor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3815#define ITfTextInputProcessor_AddRef(This) (This)->lpVtbl->AddRef(This)
3816#define ITfTextInputProcessor_Release(This) (This)->lpVtbl->Release(This)
3817/*** ITfTextInputProcessor methods ***/
3818#define ITfTextInputProcessor_Activate(This,ptim,tid) (This)->lpVtbl->Activate(This,ptim,tid)
3819#define ITfTextInputProcessor_Deactivate(This) (This)->lpVtbl->Deactivate(This)
3820#else
3821/*** IUnknown methods ***/
3822static FORCEINLINE HRESULT ITfTextInputProcessor_QueryInterface(ITfTextInputProcessor* This,REFIID riid,void **ppvObject) {
3823    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3824}
3825static FORCEINLINE ULONG ITfTextInputProcessor_AddRef(ITfTextInputProcessor* This) {
3826    return This->lpVtbl->AddRef(This);
3827}
3828static FORCEINLINE ULONG ITfTextInputProcessor_Release(ITfTextInputProcessor* This) {
3829    return This->lpVtbl->Release(This);
3830}
3831/*** ITfTextInputProcessor methods ***/
3832static FORCEINLINE HRESULT ITfTextInputProcessor_Activate(ITfTextInputProcessor* This,ITfThreadMgr *ptim,TfClientId tid) {
3833    return This->lpVtbl->Activate(This,ptim,tid);
3834}
3835static FORCEINLINE HRESULT ITfTextInputProcessor_Deactivate(ITfTextInputProcessor* This) {
3836    return This->lpVtbl->Deactivate(This);
3837}
3838#endif
3839#endif
3840
3841#endif
3842
3843HRESULT STDMETHODCALLTYPE ITfTextInputProcessor_Activate_Proxy(
3844    ITfTextInputProcessor* This,
3845    ITfThreadMgr *ptim,
3846    TfClientId tid);
3847void __RPC_STUB ITfTextInputProcessor_Activate_Stub(
3848    IRpcStubBuffer* This,
3849    IRpcChannelBuffer* pRpcChannelBuffer,
3850    PRPC_MESSAGE pRpcMessage,
3851    DWORD* pdwStubPhase);
3852HRESULT STDMETHODCALLTYPE ITfTextInputProcessor_Deactivate_Proxy(
3853    ITfTextInputProcessor* This);
3854void __RPC_STUB ITfTextInputProcessor_Deactivate_Stub(
3855    IRpcStubBuffer* This,
3856    IRpcChannelBuffer* pRpcChannelBuffer,
3857    PRPC_MESSAGE pRpcMessage,
3858    DWORD* pdwStubPhase);
3859
3860#endif  /* __ITfTextInputProcessor_INTERFACE_DEFINED__ */
3861
3862/*****************************************************************************
3863 * ITfThreadMgrEventSink interface
3864 */
3865#ifndef __ITfThreadMgrEventSink_INTERFACE_DEFINED__
3866#define __ITfThreadMgrEventSink_INTERFACE_DEFINED__
3867
3868DEFINE_GUID(IID_ITfThreadMgrEventSink, 0xaa80e80e, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
3869#if defined(__cplusplus) && !defined(CINTERFACE)
3870MIDL_INTERFACE("aa80e80e-2021-11d2-93e0-0060b067b86e")
3871ITfThreadMgrEventSink : public IUnknown
3872{
3873    virtual HRESULT STDMETHODCALLTYPE OnInitDocumentMgr(
3874        ITfDocumentMgr *pdim) = 0;
3875
3876    virtual HRESULT STDMETHODCALLTYPE OnUninitDocumentMgr(
3877        ITfDocumentMgr *pdim) = 0;
3878
3879    virtual HRESULT STDMETHODCALLTYPE OnSetFocus(
3880        ITfDocumentMgr *pdimFocus,
3881        ITfDocumentMgr *pdimPrevFocus) = 0;
3882
3883    virtual HRESULT STDMETHODCALLTYPE OnPushContext(
3884        ITfContext *pic) = 0;
3885
3886    virtual HRESULT STDMETHODCALLTYPE OnPopContext(
3887        ITfContext *pic) = 0;
3888
3889};
3890#ifdef __CRT_UUID_DECL
3891__CRT_UUID_DECL(ITfThreadMgrEventSink, 0xaa80e80e, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
3892#endif
3893#else
3894typedef struct ITfThreadMgrEventSinkVtbl {
3895    BEGIN_INTERFACE
3896
3897    /*** IUnknown methods ***/
3898    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3899        ITfThreadMgrEventSink* This,
3900        REFIID riid,
3901        void **ppvObject);
3902
3903    ULONG (STDMETHODCALLTYPE *AddRef)(
3904        ITfThreadMgrEventSink* This);
3905
3906    ULONG (STDMETHODCALLTYPE *Release)(
3907        ITfThreadMgrEventSink* This);
3908
3909    /*** ITfThreadMgrEventSink methods ***/
3910    HRESULT (STDMETHODCALLTYPE *OnInitDocumentMgr)(
3911        ITfThreadMgrEventSink* This,
3912        ITfDocumentMgr *pdim);
3913
3914    HRESULT (STDMETHODCALLTYPE *OnUninitDocumentMgr)(
3915        ITfThreadMgrEventSink* This,
3916        ITfDocumentMgr *pdim);
3917
3918    HRESULT (STDMETHODCALLTYPE *OnSetFocus)(
3919        ITfThreadMgrEventSink* This,
3920        ITfDocumentMgr *pdimFocus,
3921        ITfDocumentMgr *pdimPrevFocus);
3922
3923    HRESULT (STDMETHODCALLTYPE *OnPushContext)(
3924        ITfThreadMgrEventSink* This,
3925        ITfContext *pic);
3926
3927    HRESULT (STDMETHODCALLTYPE *OnPopContext)(
3928        ITfThreadMgrEventSink* This,
3929        ITfContext *pic);
3930
3931    END_INTERFACE
3932} ITfThreadMgrEventSinkVtbl;
3933interface ITfThreadMgrEventSink {
3934    CONST_VTBL ITfThreadMgrEventSinkVtbl* lpVtbl;
3935};
3936
3937#ifdef COBJMACROS
3938#ifndef WIDL_C_INLINE_WRAPPERS
3939/*** IUnknown methods ***/
3940#define ITfThreadMgrEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3941#define ITfThreadMgrEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
3942#define ITfThreadMgrEventSink_Release(This) (This)->lpVtbl->Release(This)
3943/*** ITfThreadMgrEventSink methods ***/
3944#define ITfThreadMgrEventSink_OnInitDocumentMgr(This,pdim) (This)->lpVtbl->OnInitDocumentMgr(This,pdim)
3945#define ITfThreadMgrEventSink_OnUninitDocumentMgr(This,pdim) (This)->lpVtbl->OnUninitDocumentMgr(This,pdim)
3946#define ITfThreadMgrEventSink_OnSetFocus(This,pdimFocus,pdimPrevFocus) (This)->lpVtbl->OnSetFocus(This,pdimFocus,pdimPrevFocus)
3947#define ITfThreadMgrEventSink_OnPushContext(This,pic) (This)->lpVtbl->OnPushContext(This,pic)
3948#define ITfThreadMgrEventSink_OnPopContext(This,pic) (This)->lpVtbl->OnPopContext(This,pic)
3949#else
3950/*** IUnknown methods ***/
3951static FORCEINLINE HRESULT ITfThreadMgrEventSink_QueryInterface(ITfThreadMgrEventSink* This,REFIID riid,void **ppvObject) {
3952    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3953}
3954static FORCEINLINE ULONG ITfThreadMgrEventSink_AddRef(ITfThreadMgrEventSink* This) {
3955    return This->lpVtbl->AddRef(This);
3956}
3957static FORCEINLINE ULONG ITfThreadMgrEventSink_Release(ITfThreadMgrEventSink* This) {
3958    return This->lpVtbl->Release(This);
3959}
3960/*** ITfThreadMgrEventSink methods ***/
3961static FORCEINLINE HRESULT ITfThreadMgrEventSink_OnInitDocumentMgr(ITfThreadMgrEventSink* This,ITfDocumentMgr *pdim) {
3962    return This->lpVtbl->OnInitDocumentMgr(This,pdim);
3963}
3964static FORCEINLINE HRESULT ITfThreadMgrEventSink_OnUninitDocumentMgr(ITfThreadMgrEventSink* This,ITfDocumentMgr *pdim) {
3965    return This->lpVtbl->OnUninitDocumentMgr(This,pdim);
3966}
3967static FORCEINLINE HRESULT ITfThreadMgrEventSink_OnSetFocus(ITfThreadMgrEventSink* This,ITfDocumentMgr *pdimFocus,ITfDocumentMgr *pdimPrevFocus) {
3968    return This->lpVtbl->OnSetFocus(This,pdimFocus,pdimPrevFocus);
3969}
3970static FORCEINLINE HRESULT ITfThreadMgrEventSink_OnPushContext(ITfThreadMgrEventSink* This,ITfContext *pic) {
3971    return This->lpVtbl->OnPushContext(This,pic);
3972}
3973static FORCEINLINE HRESULT ITfThreadMgrEventSink_OnPopContext(ITfThreadMgrEventSink* This,ITfContext *pic) {
3974    return This->lpVtbl->OnPopContext(This,pic);
3975}
3976#endif
3977#endif
3978
3979#endif
3980
3981HRESULT STDMETHODCALLTYPE ITfThreadMgrEventSink_OnInitDocumentMgr_Proxy(
3982    ITfThreadMgrEventSink* This,
3983    ITfDocumentMgr *pdim);
3984void __RPC_STUB ITfThreadMgrEventSink_OnInitDocumentMgr_Stub(
3985    IRpcStubBuffer* This,
3986    IRpcChannelBuffer* pRpcChannelBuffer,
3987    PRPC_MESSAGE pRpcMessage,
3988    DWORD* pdwStubPhase);
3989HRESULT STDMETHODCALLTYPE ITfThreadMgrEventSink_OnUninitDocumentMgr_Proxy(
3990    ITfThreadMgrEventSink* This,
3991    ITfDocumentMgr *pdim);
3992void __RPC_STUB ITfThreadMgrEventSink_OnUninitDocumentMgr_Stub(
3993    IRpcStubBuffer* This,
3994    IRpcChannelBuffer* pRpcChannelBuffer,
3995    PRPC_MESSAGE pRpcMessage,
3996    DWORD* pdwStubPhase);
3997HRESULT STDMETHODCALLTYPE ITfThreadMgrEventSink_OnSetFocus_Proxy(
3998    ITfThreadMgrEventSink* This,
3999    ITfDocumentMgr *pdimFocus,
4000    ITfDocumentMgr *pdimPrevFocus);
4001void __RPC_STUB ITfThreadMgrEventSink_OnSetFocus_Stub(
4002    IRpcStubBuffer* This,
4003    IRpcChannelBuffer* pRpcChannelBuffer,
4004    PRPC_MESSAGE pRpcMessage,
4005    DWORD* pdwStubPhase);
4006HRESULT STDMETHODCALLTYPE ITfThreadMgrEventSink_OnPushContext_Proxy(
4007    ITfThreadMgrEventSink* This,
4008    ITfContext *pic);
4009void __RPC_STUB ITfThreadMgrEventSink_OnPushContext_Stub(
4010    IRpcStubBuffer* This,
4011    IRpcChannelBuffer* pRpcChannelBuffer,
4012    PRPC_MESSAGE pRpcMessage,
4013    DWORD* pdwStubPhase);
4014HRESULT STDMETHODCALLTYPE ITfThreadMgrEventSink_OnPopContext_Proxy(
4015    ITfThreadMgrEventSink* This,
4016    ITfContext *pic);
4017void __RPC_STUB ITfThreadMgrEventSink_OnPopContext_Stub(
4018    IRpcStubBuffer* This,
4019    IRpcChannelBuffer* pRpcChannelBuffer,
4020    PRPC_MESSAGE pRpcMessage,
4021    DWORD* pdwStubPhase);
4022
4023#endif  /* __ITfThreadMgrEventSink_INTERFACE_DEFINED__ */
4024
4025/*****************************************************************************
4026 * ITfKeystrokeMgr interface
4027 */
4028#ifndef __ITfKeystrokeMgr_INTERFACE_DEFINED__
4029#define __ITfKeystrokeMgr_INTERFACE_DEFINED__
4030
4031DEFINE_GUID(IID_ITfKeystrokeMgr, 0xaa80e7f0, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
4032#if defined(__cplusplus) && !defined(CINTERFACE)
4033MIDL_INTERFACE("aa80e7f0-2021-11d2-93e0-0060b067b86e")
4034ITfKeystrokeMgr : public IUnknown
4035{
4036    virtual HRESULT STDMETHODCALLTYPE AdviseKeyEventSink(
4037        TfClientId tid,
4038        ITfKeyEventSink *pSink,
4039        WINBOOL fForeground) = 0;
4040
4041    virtual HRESULT STDMETHODCALLTYPE UnadviseKeyEventSink(
4042        TfClientId tid) = 0;
4043
4044    virtual HRESULT STDMETHODCALLTYPE GetForeground(
4045        CLSID *pclsid) = 0;
4046
4047    virtual HRESULT STDMETHODCALLTYPE TestKeyDown(
4048        WPARAM wParam,
4049        LPARAM lParam,
4050        WINBOOL *pfEaten) = 0;
4051
4052    virtual HRESULT STDMETHODCALLTYPE TestKeyUp(
4053        WPARAM wParam,
4054        LPARAM lParam,
4055        WINBOOL *pfEaten) = 0;
4056
4057    virtual HRESULT STDMETHODCALLTYPE KeyDown(
4058        WPARAM wParam,
4059        LPARAM lParam,
4060        WINBOOL *pfEaten) = 0;
4061
4062    virtual HRESULT STDMETHODCALLTYPE KeyUp(
4063        WPARAM wParam,
4064        LPARAM lParam,
4065        WINBOOL *pfEaten) = 0;
4066
4067    virtual HRESULT STDMETHODCALLTYPE GetPreservedKey(
4068        ITfContext *pic,
4069        const TF_PRESERVEDKEY *pprekey,
4070        GUID *pguid) = 0;
4071
4072    virtual HRESULT STDMETHODCALLTYPE IsPreservedKey(
4073        REFGUID rguid,
4074        const TF_PRESERVEDKEY *pprekey,
4075        WINBOOL *pfRegistered) = 0;
4076
4077    virtual HRESULT STDMETHODCALLTYPE PreserveKey(
4078        TfClientId tid,
4079        REFGUID rguid,
4080        const TF_PRESERVEDKEY *prekey,
4081        const WCHAR *pchDesc,
4082        ULONG cchDesc) = 0;
4083
4084    virtual HRESULT STDMETHODCALLTYPE UnpreserveKey(
4085        REFGUID rguid,
4086        const TF_PRESERVEDKEY *pprekey) = 0;
4087
4088    virtual HRESULT STDMETHODCALLTYPE SetPreservedKeyDescription(
4089        REFGUID rguid,
4090        const WCHAR *pchDesc,
4091        ULONG cchDesc) = 0;
4092
4093    virtual HRESULT STDMETHODCALLTYPE GetPreservedKeyDescription(
4094        REFGUID rguid,
4095        BSTR *pbstrDesc) = 0;
4096
4097    virtual HRESULT STDMETHODCALLTYPE SimulatePreservedKey(
4098        ITfContext *pic,
4099        REFGUID rguid,
4100        WINBOOL *pfEaten) = 0;
4101
4102};
4103#ifdef __CRT_UUID_DECL
4104__CRT_UUID_DECL(ITfKeystrokeMgr, 0xaa80e7f0, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
4105#endif
4106#else
4107typedef struct ITfKeystrokeMgrVtbl {
4108    BEGIN_INTERFACE
4109
4110    /*** IUnknown methods ***/
4111    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4112        ITfKeystrokeMgr* This,
4113        REFIID riid,
4114        void **ppvObject);
4115
4116    ULONG (STDMETHODCALLTYPE *AddRef)(
4117        ITfKeystrokeMgr* This);
4118
4119    ULONG (STDMETHODCALLTYPE *Release)(
4120        ITfKeystrokeMgr* This);
4121
4122    /*** ITfKeystrokeMgr methods ***/
4123    HRESULT (STDMETHODCALLTYPE *AdviseKeyEventSink)(
4124        ITfKeystrokeMgr* This,
4125        TfClientId tid,
4126        ITfKeyEventSink *pSink,
4127        WINBOOL fForeground);
4128
4129    HRESULT (STDMETHODCALLTYPE *UnadviseKeyEventSink)(
4130        ITfKeystrokeMgr* This,
4131        TfClientId tid);
4132
4133    HRESULT (STDMETHODCALLTYPE *GetForeground)(
4134        ITfKeystrokeMgr* This,
4135        CLSID *pclsid);
4136
4137    HRESULT (STDMETHODCALLTYPE *TestKeyDown)(
4138        ITfKeystrokeMgr* This,
4139        WPARAM wParam,
4140        LPARAM lParam,
4141        WINBOOL *pfEaten);
4142
4143    HRESULT (STDMETHODCALLTYPE *TestKeyUp)(
4144        ITfKeystrokeMgr* This,
4145        WPARAM wParam,
4146        LPARAM lParam,
4147        WINBOOL *pfEaten);
4148
4149    HRESULT (STDMETHODCALLTYPE *KeyDown)(
4150        ITfKeystrokeMgr* This,
4151        WPARAM wParam,
4152        LPARAM lParam,
4153        WINBOOL *pfEaten);
4154
4155    HRESULT (STDMETHODCALLTYPE *KeyUp)(
4156        ITfKeystrokeMgr* This,
4157        WPARAM wParam,
4158        LPARAM lParam,
4159        WINBOOL *pfEaten);
4160
4161    HRESULT (STDMETHODCALLTYPE *GetPreservedKey)(
4162        ITfKeystrokeMgr* This,
4163        ITfContext *pic,
4164        const TF_PRESERVEDKEY *pprekey,
4165        GUID *pguid);
4166
4167    HRESULT (STDMETHODCALLTYPE *IsPreservedKey)(
4168        ITfKeystrokeMgr* This,
4169        REFGUID rguid,
4170        const TF_PRESERVEDKEY *pprekey,
4171        WINBOOL *pfRegistered);
4172
4173    HRESULT (STDMETHODCALLTYPE *PreserveKey)(
4174        ITfKeystrokeMgr* This,
4175        TfClientId tid,
4176        REFGUID rguid,
4177        const TF_PRESERVEDKEY *prekey,
4178        const WCHAR *pchDesc,
4179        ULONG cchDesc);
4180
4181    HRESULT (STDMETHODCALLTYPE *UnpreserveKey)(
4182        ITfKeystrokeMgr* This,
4183        REFGUID rguid,
4184        const TF_PRESERVEDKEY *pprekey);
4185
4186    HRESULT (STDMETHODCALLTYPE *SetPreservedKeyDescription)(
4187        ITfKeystrokeMgr* This,
4188        REFGUID rguid,
4189        const WCHAR *pchDesc,
4190        ULONG cchDesc);
4191
4192    HRESULT (STDMETHODCALLTYPE *GetPreservedKeyDescription)(
4193        ITfKeystrokeMgr* This,
4194        REFGUID rguid,
4195        BSTR *pbstrDesc);
4196
4197    HRESULT (STDMETHODCALLTYPE *SimulatePreservedKey)(
4198        ITfKeystrokeMgr* This,
4199        ITfContext *pic,
4200        REFGUID rguid,
4201        WINBOOL *pfEaten);
4202
4203    END_INTERFACE
4204} ITfKeystrokeMgrVtbl;
4205interface ITfKeystrokeMgr {
4206    CONST_VTBL ITfKeystrokeMgrVtbl* lpVtbl;
4207};
4208
4209#ifdef COBJMACROS
4210#ifndef WIDL_C_INLINE_WRAPPERS
4211/*** IUnknown methods ***/
4212#define ITfKeystrokeMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4213#define ITfKeystrokeMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
4214#define ITfKeystrokeMgr_Release(This) (This)->lpVtbl->Release(This)
4215/*** ITfKeystrokeMgr methods ***/
4216#define ITfKeystrokeMgr_AdviseKeyEventSink(This,tid,pSink,fForeground) (This)->lpVtbl->AdviseKeyEventSink(This,tid,pSink,fForeground)
4217#define ITfKeystrokeMgr_UnadviseKeyEventSink(This,tid) (This)->lpVtbl->UnadviseKeyEventSink(This,tid)
4218#define ITfKeystrokeMgr_GetForeground(This,pclsid) (This)->lpVtbl->GetForeground(This,pclsid)
4219#define ITfKeystrokeMgr_TestKeyDown(This,wParam,lParam,pfEaten) (This)->lpVtbl->TestKeyDown(This,wParam,lParam,pfEaten)
4220#define ITfKeystrokeMgr_TestKeyUp(This,wParam,lParam,pfEaten) (This)->lpVtbl->TestKeyUp(This,wParam,lParam,pfEaten)
4221#define ITfKeystrokeMgr_KeyDown(This,wParam,lParam,pfEaten) (This)->lpVtbl->KeyDown(This,wParam,lParam,pfEaten)
4222#define ITfKeystrokeMgr_KeyUp(This,wParam,lParam,pfEaten) (This)->lpVtbl->KeyUp(This,wParam,lParam,pfEaten)
4223#define ITfKeystrokeMgr_GetPreservedKey(This,pic,pprekey,pguid) (This)->lpVtbl->GetPreservedKey(This,pic,pprekey,pguid)
4224#define ITfKeystrokeMgr_IsPreservedKey(This,rguid,pprekey,pfRegistered) (This)->lpVtbl->IsPreservedKey(This,rguid,pprekey,pfRegistered)
4225#define ITfKeystrokeMgr_PreserveKey(This,tid,rguid,prekey,pchDesc,cchDesc) (This)->lpVtbl->PreserveKey(This,tid,rguid,prekey,pchDesc,cchDesc)
4226#define ITfKeystrokeMgr_UnpreserveKey(This,rguid,pprekey) (This)->lpVtbl->UnpreserveKey(This,rguid,pprekey)
4227#define ITfKeystrokeMgr_SetPreservedKeyDescription(This,rguid,pchDesc,cchDesc) (This)->lpVtbl->SetPreservedKeyDescription(This,rguid,pchDesc,cchDesc)
4228#define ITfKeystrokeMgr_GetPreservedKeyDescription(This,rguid,pbstrDesc) (This)->lpVtbl->GetPreservedKeyDescription(This,rguid,pbstrDesc)
4229#define ITfKeystrokeMgr_SimulatePreservedKey(This,pic,rguid,pfEaten) (This)->lpVtbl->SimulatePreservedKey(This,pic,rguid,pfEaten)
4230#else
4231/*** IUnknown methods ***/
4232static FORCEINLINE HRESULT ITfKeystrokeMgr_QueryInterface(ITfKeystrokeMgr* This,REFIID riid,void **ppvObject) {
4233    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4234}
4235static FORCEINLINE ULONG ITfKeystrokeMgr_AddRef(ITfKeystrokeMgr* This) {
4236    return This->lpVtbl->AddRef(This);
4237}
4238static FORCEINLINE ULONG ITfKeystrokeMgr_Release(ITfKeystrokeMgr* This) {
4239    return This->lpVtbl->Release(This);
4240}
4241/*** ITfKeystrokeMgr methods ***/
4242static FORCEINLINE HRESULT ITfKeystrokeMgr_AdviseKeyEventSink(ITfKeystrokeMgr* This,TfClientId tid,ITfKeyEventSink *pSink,WINBOOL fForeground) {
4243    return This->lpVtbl->AdviseKeyEventSink(This,tid,pSink,fForeground);
4244}
4245static FORCEINLINE HRESULT ITfKeystrokeMgr_UnadviseKeyEventSink(ITfKeystrokeMgr* This,TfClientId tid) {
4246    return This->lpVtbl->UnadviseKeyEventSink(This,tid);
4247}
4248static FORCEINLINE HRESULT ITfKeystrokeMgr_GetForeground(ITfKeystrokeMgr* This,CLSID *pclsid) {
4249    return This->lpVtbl->GetForeground(This,pclsid);
4250}
4251static FORCEINLINE HRESULT ITfKeystrokeMgr_TestKeyDown(ITfKeystrokeMgr* This,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) {
4252    return This->lpVtbl->TestKeyDown(This,wParam,lParam,pfEaten);
4253}
4254static FORCEINLINE HRESULT ITfKeystrokeMgr_TestKeyUp(ITfKeystrokeMgr* This,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) {
4255    return This->lpVtbl->TestKeyUp(This,wParam,lParam,pfEaten);
4256}
4257static FORCEINLINE HRESULT ITfKeystrokeMgr_KeyDown(ITfKeystrokeMgr* This,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) {
4258    return This->lpVtbl->KeyDown(This,wParam,lParam,pfEaten);
4259}
4260static FORCEINLINE HRESULT ITfKeystrokeMgr_KeyUp(ITfKeystrokeMgr* This,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) {
4261    return This->lpVtbl->KeyUp(This,wParam,lParam,pfEaten);
4262}
4263static FORCEINLINE HRESULT ITfKeystrokeMgr_GetPreservedKey(ITfKeystrokeMgr* This,ITfContext *pic,const TF_PRESERVEDKEY *pprekey,GUID *pguid) {
4264    return This->lpVtbl->GetPreservedKey(This,pic,pprekey,pguid);
4265}
4266static FORCEINLINE HRESULT ITfKeystrokeMgr_IsPreservedKey(ITfKeystrokeMgr* This,REFGUID rguid,const TF_PRESERVEDKEY *pprekey,WINBOOL *pfRegistered) {
4267    return This->lpVtbl->IsPreservedKey(This,rguid,pprekey,pfRegistered);
4268}
4269static FORCEINLINE HRESULT ITfKeystrokeMgr_PreserveKey(ITfKeystrokeMgr* This,TfClientId tid,REFGUID rguid,const TF_PRESERVEDKEY *prekey,const WCHAR *pchDesc,ULONG cchDesc) {
4270    return This->lpVtbl->PreserveKey(This,tid,rguid,prekey,pchDesc,cchDesc);
4271}
4272static FORCEINLINE HRESULT ITfKeystrokeMgr_UnpreserveKey(ITfKeystrokeMgr* This,REFGUID rguid,const TF_PRESERVEDKEY *pprekey) {
4273    return This->lpVtbl->UnpreserveKey(This,rguid,pprekey);
4274}
4275static FORCEINLINE HRESULT ITfKeystrokeMgr_SetPreservedKeyDescription(ITfKeystrokeMgr* This,REFGUID rguid,const WCHAR *pchDesc,ULONG cchDesc) {
4276    return This->lpVtbl->SetPreservedKeyDescription(This,rguid,pchDesc,cchDesc);
4277}
4278static FORCEINLINE HRESULT ITfKeystrokeMgr_GetPreservedKeyDescription(ITfKeystrokeMgr* This,REFGUID rguid,BSTR *pbstrDesc) {
4279    return This->lpVtbl->GetPreservedKeyDescription(This,rguid,pbstrDesc);
4280}
4281static FORCEINLINE HRESULT ITfKeystrokeMgr_SimulatePreservedKey(ITfKeystrokeMgr* This,ITfContext *pic,REFGUID rguid,WINBOOL *pfEaten) {
4282    return This->lpVtbl->SimulatePreservedKey(This,pic,rguid,pfEaten);
4283}
4284#endif
4285#endif
4286
4287#endif
4288
4289HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_AdviseKeyEventSink_Proxy(
4290    ITfKeystrokeMgr* This,
4291    TfClientId tid,
4292    ITfKeyEventSink *pSink,
4293    WINBOOL fForeground);
4294void __RPC_STUB ITfKeystrokeMgr_AdviseKeyEventSink_Stub(
4295    IRpcStubBuffer* This,
4296    IRpcChannelBuffer* pRpcChannelBuffer,
4297    PRPC_MESSAGE pRpcMessage,
4298    DWORD* pdwStubPhase);
4299HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_UnadviseKeyEventSink_Proxy(
4300    ITfKeystrokeMgr* This,
4301    TfClientId tid);
4302void __RPC_STUB ITfKeystrokeMgr_UnadviseKeyEventSink_Stub(
4303    IRpcStubBuffer* This,
4304    IRpcChannelBuffer* pRpcChannelBuffer,
4305    PRPC_MESSAGE pRpcMessage,
4306    DWORD* pdwStubPhase);
4307HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_GetForeground_Proxy(
4308    ITfKeystrokeMgr* This,
4309    CLSID *pclsid);
4310void __RPC_STUB ITfKeystrokeMgr_GetForeground_Stub(
4311    IRpcStubBuffer* This,
4312    IRpcChannelBuffer* pRpcChannelBuffer,
4313    PRPC_MESSAGE pRpcMessage,
4314    DWORD* pdwStubPhase);
4315HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_TestKeyDown_Proxy(
4316    ITfKeystrokeMgr* This,
4317    WPARAM wParam,
4318    LPARAM lParam,
4319    WINBOOL *pfEaten);
4320void __RPC_STUB ITfKeystrokeMgr_TestKeyDown_Stub(
4321    IRpcStubBuffer* This,
4322    IRpcChannelBuffer* pRpcChannelBuffer,
4323    PRPC_MESSAGE pRpcMessage,
4324    DWORD* pdwStubPhase);
4325HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_TestKeyUp_Proxy(
4326    ITfKeystrokeMgr* This,
4327    WPARAM wParam,
4328    LPARAM lParam,
4329    WINBOOL *pfEaten);
4330void __RPC_STUB ITfKeystrokeMgr_TestKeyUp_Stub(
4331    IRpcStubBuffer* This,
4332    IRpcChannelBuffer* pRpcChannelBuffer,
4333    PRPC_MESSAGE pRpcMessage,
4334    DWORD* pdwStubPhase);
4335HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_KeyDown_Proxy(
4336    ITfKeystrokeMgr* This,
4337    WPARAM wParam,
4338    LPARAM lParam,
4339    WINBOOL *pfEaten);
4340void __RPC_STUB ITfKeystrokeMgr_KeyDown_Stub(
4341    IRpcStubBuffer* This,
4342    IRpcChannelBuffer* pRpcChannelBuffer,
4343    PRPC_MESSAGE pRpcMessage,
4344    DWORD* pdwStubPhase);
4345HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_KeyUp_Proxy(
4346    ITfKeystrokeMgr* This,
4347    WPARAM wParam,
4348    LPARAM lParam,
4349    WINBOOL *pfEaten);
4350void __RPC_STUB ITfKeystrokeMgr_KeyUp_Stub(
4351    IRpcStubBuffer* This,
4352    IRpcChannelBuffer* pRpcChannelBuffer,
4353    PRPC_MESSAGE pRpcMessage,
4354    DWORD* pdwStubPhase);
4355HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_GetPreservedKey_Proxy(
4356    ITfKeystrokeMgr* This,
4357    ITfContext *pic,
4358    const TF_PRESERVEDKEY *pprekey,
4359    GUID *pguid);
4360void __RPC_STUB ITfKeystrokeMgr_GetPreservedKey_Stub(
4361    IRpcStubBuffer* This,
4362    IRpcChannelBuffer* pRpcChannelBuffer,
4363    PRPC_MESSAGE pRpcMessage,
4364    DWORD* pdwStubPhase);
4365HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_IsPreservedKey_Proxy(
4366    ITfKeystrokeMgr* This,
4367    REFGUID rguid,
4368    const TF_PRESERVEDKEY *pprekey,
4369    WINBOOL *pfRegistered);
4370void __RPC_STUB ITfKeystrokeMgr_IsPreservedKey_Stub(
4371    IRpcStubBuffer* This,
4372    IRpcChannelBuffer* pRpcChannelBuffer,
4373    PRPC_MESSAGE pRpcMessage,
4374    DWORD* pdwStubPhase);
4375HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_PreserveKey_Proxy(
4376    ITfKeystrokeMgr* This,
4377    TfClientId tid,
4378    REFGUID rguid,
4379    const TF_PRESERVEDKEY *prekey,
4380    const WCHAR *pchDesc,
4381    ULONG cchDesc);
4382void __RPC_STUB ITfKeystrokeMgr_PreserveKey_Stub(
4383    IRpcStubBuffer* This,
4384    IRpcChannelBuffer* pRpcChannelBuffer,
4385    PRPC_MESSAGE pRpcMessage,
4386    DWORD* pdwStubPhase);
4387HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_UnpreserveKey_Proxy(
4388    ITfKeystrokeMgr* This,
4389    REFGUID rguid,
4390    const TF_PRESERVEDKEY *pprekey);
4391void __RPC_STUB ITfKeystrokeMgr_UnpreserveKey_Stub(
4392    IRpcStubBuffer* This,
4393    IRpcChannelBuffer* pRpcChannelBuffer,
4394    PRPC_MESSAGE pRpcMessage,
4395    DWORD* pdwStubPhase);
4396HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_SetPreservedKeyDescription_Proxy(
4397    ITfKeystrokeMgr* This,
4398    REFGUID rguid,
4399    const WCHAR *pchDesc,
4400    ULONG cchDesc);
4401void __RPC_STUB ITfKeystrokeMgr_SetPreservedKeyDescription_Stub(
4402    IRpcStubBuffer* This,
4403    IRpcChannelBuffer* pRpcChannelBuffer,
4404    PRPC_MESSAGE pRpcMessage,
4405    DWORD* pdwStubPhase);
4406HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_GetPreservedKeyDescription_Proxy(
4407    ITfKeystrokeMgr* This,
4408    REFGUID rguid,
4409    BSTR *pbstrDesc);
4410void __RPC_STUB ITfKeystrokeMgr_GetPreservedKeyDescription_Stub(
4411    IRpcStubBuffer* This,
4412    IRpcChannelBuffer* pRpcChannelBuffer,
4413    PRPC_MESSAGE pRpcMessage,
4414    DWORD* pdwStubPhase);
4415HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_SimulatePreservedKey_Proxy(
4416    ITfKeystrokeMgr* This,
4417    ITfContext *pic,
4418    REFGUID rguid,
4419    WINBOOL *pfEaten);
4420void __RPC_STUB ITfKeystrokeMgr_SimulatePreservedKey_Stub(
4421    IRpcStubBuffer* This,
4422    IRpcChannelBuffer* pRpcChannelBuffer,
4423    PRPC_MESSAGE pRpcMessage,
4424    DWORD* pdwStubPhase);
4425
4426#endif  /* __ITfKeystrokeMgr_INTERFACE_DEFINED__ */
4427
4428/*****************************************************************************
4429 * ITfKeyEventSink interface
4430 */
4431#ifndef __ITfKeyEventSink_INTERFACE_DEFINED__
4432#define __ITfKeyEventSink_INTERFACE_DEFINED__
4433
4434DEFINE_GUID(IID_ITfKeyEventSink, 0xaa80e7f5, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
4435#if defined(__cplusplus) && !defined(CINTERFACE)
4436MIDL_INTERFACE("aa80e7f5-2021-11d2-93e0-0060b067b86e")
4437ITfKeyEventSink : public IUnknown
4438{
4439    virtual HRESULT STDMETHODCALLTYPE OnSetFocus(
4440        WINBOOL fForeground) = 0;
4441
4442    virtual HRESULT STDMETHODCALLTYPE OnTestKeyDown(
4443        ITfContext *pic,
4444        WPARAM wParam,
4445        LPARAM lParam,
4446        WINBOOL *pfEaten) = 0;
4447
4448    virtual HRESULT STDMETHODCALLTYPE OnTestKeyUp(
4449        ITfContext *pic,
4450        WPARAM wParam,
4451        LPARAM lParam,
4452        WINBOOL *pfEaten) = 0;
4453
4454    virtual HRESULT STDMETHODCALLTYPE OnKeyDown(
4455        ITfContext *pic,
4456        WPARAM wParam,
4457        LPARAM lParam,
4458        WINBOOL *pfEaten) = 0;
4459
4460    virtual HRESULT STDMETHODCALLTYPE OnKeyUp(
4461        ITfContext *pic,
4462        WPARAM wParam,
4463        LPARAM lParam,
4464        WINBOOL *pfEaten) = 0;
4465
4466    virtual HRESULT STDMETHODCALLTYPE OnPreservedKey(
4467        ITfContext *pic,
4468        REFGUID rguid,
4469        WINBOOL *pfEaten) = 0;
4470
4471};
4472#ifdef __CRT_UUID_DECL
4473__CRT_UUID_DECL(ITfKeyEventSink, 0xaa80e7f5, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
4474#endif
4475#else
4476typedef struct ITfKeyEventSinkVtbl {
4477    BEGIN_INTERFACE
4478
4479    /*** IUnknown methods ***/
4480    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4481        ITfKeyEventSink* This,
4482        REFIID riid,
4483        void **ppvObject);
4484
4485    ULONG (STDMETHODCALLTYPE *AddRef)(
4486        ITfKeyEventSink* This);
4487
4488    ULONG (STDMETHODCALLTYPE *Release)(
4489        ITfKeyEventSink* This);
4490
4491    /*** ITfKeyEventSink methods ***/
4492    HRESULT (STDMETHODCALLTYPE *OnSetFocus)(
4493        ITfKeyEventSink* This,
4494        WINBOOL fForeground);
4495
4496    HRESULT (STDMETHODCALLTYPE *OnTestKeyDown)(
4497        ITfKeyEventSink* This,
4498        ITfContext *pic,
4499        WPARAM wParam,
4500        LPARAM lParam,
4501        WINBOOL *pfEaten);
4502
4503    HRESULT (STDMETHODCALLTYPE *OnTestKeyUp)(
4504        ITfKeyEventSink* This,
4505        ITfContext *pic,
4506        WPARAM wParam,
4507        LPARAM lParam,
4508        WINBOOL *pfEaten);
4509
4510    HRESULT (STDMETHODCALLTYPE *OnKeyDown)(
4511        ITfKeyEventSink* This,
4512        ITfContext *pic,
4513        WPARAM wParam,
4514        LPARAM lParam,
4515        WINBOOL *pfEaten);
4516
4517    HRESULT (STDMETHODCALLTYPE *OnKeyUp)(
4518        ITfKeyEventSink* This,
4519        ITfContext *pic,
4520        WPARAM wParam,
4521        LPARAM lParam,
4522        WINBOOL *pfEaten);
4523
4524    HRESULT (STDMETHODCALLTYPE *OnPreservedKey)(
4525        ITfKeyEventSink* This,
4526        ITfContext *pic,
4527        REFGUID rguid,
4528        WINBOOL *pfEaten);
4529
4530    END_INTERFACE
4531} ITfKeyEventSinkVtbl;
4532interface ITfKeyEventSink {
4533    CONST_VTBL ITfKeyEventSinkVtbl* lpVtbl;
4534};
4535
4536#ifdef COBJMACROS
4537#ifndef WIDL_C_INLINE_WRAPPERS
4538/*** IUnknown methods ***/
4539#define ITfKeyEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4540#define ITfKeyEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
4541#define ITfKeyEventSink_Release(This) (This)->lpVtbl->Release(This)
4542/*** ITfKeyEventSink methods ***/
4543#define ITfKeyEventSink_OnSetFocus(This,fForeground) (This)->lpVtbl->OnSetFocus(This,fForeground)
4544#define ITfKeyEventSink_OnTestKeyDown(This,pic,wParam,lParam,pfEaten) (This)->lpVtbl->OnTestKeyDown(This,pic,wParam,lParam,pfEaten)
4545#define ITfKeyEventSink_OnTestKeyUp(This,pic,wParam,lParam,pfEaten) (This)->lpVtbl->OnTestKeyUp(This,pic,wParam,lParam,pfEaten)
4546#define ITfKeyEventSink_OnKeyDown(This,pic,wParam,lParam,pfEaten) (This)->lpVtbl->OnKeyDown(This,pic,wParam,lParam,pfEaten)
4547#define ITfKeyEventSink_OnKeyUp(This,pic,wParam,lParam,pfEaten) (This)->lpVtbl->OnKeyUp(This,pic,wParam,lParam,pfEaten)
4548#define ITfKeyEventSink_OnPreservedKey(This,pic,rguid,pfEaten) (This)->lpVtbl->OnPreservedKey(This,pic,rguid,pfEaten)
4549#else
4550/*** IUnknown methods ***/
4551static FORCEINLINE HRESULT ITfKeyEventSink_QueryInterface(ITfKeyEventSink* This,REFIID riid,void **ppvObject) {
4552    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4553}
4554static FORCEINLINE ULONG ITfKeyEventSink_AddRef(ITfKeyEventSink* This) {
4555    return This->lpVtbl->AddRef(This);
4556}
4557static FORCEINLINE ULONG ITfKeyEventSink_Release(ITfKeyEventSink* This) {
4558    return This->lpVtbl->Release(This);
4559}
4560/*** ITfKeyEventSink methods ***/
4561static FORCEINLINE HRESULT ITfKeyEventSink_OnSetFocus(ITfKeyEventSink* This,WINBOOL fForeground) {
4562    return This->lpVtbl->OnSetFocus(This,fForeground);
4563}
4564static FORCEINLINE HRESULT ITfKeyEventSink_OnTestKeyDown(ITfKeyEventSink* This,ITfContext *pic,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) {
4565    return This->lpVtbl->OnTestKeyDown(This,pic,wParam,lParam,pfEaten);
4566}
4567static FORCEINLINE HRESULT ITfKeyEventSink_OnTestKeyUp(ITfKeyEventSink* This,ITfContext *pic,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) {
4568    return This->lpVtbl->OnTestKeyUp(This,pic,wParam,lParam,pfEaten);
4569}
4570static FORCEINLINE HRESULT ITfKeyEventSink_OnKeyDown(ITfKeyEventSink* This,ITfContext *pic,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) {
4571    return This->lpVtbl->OnKeyDown(This,pic,wParam,lParam,pfEaten);
4572}
4573static FORCEINLINE HRESULT ITfKeyEventSink_OnKeyUp(ITfKeyEventSink* This,ITfContext *pic,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) {
4574    return This->lpVtbl->OnKeyUp(This,pic,wParam,lParam,pfEaten);
4575}
4576static FORCEINLINE HRESULT ITfKeyEventSink_OnPreservedKey(ITfKeyEventSink* This,ITfContext *pic,REFGUID rguid,WINBOOL *pfEaten) {
4577    return This->lpVtbl->OnPreservedKey(This,pic,rguid,pfEaten);
4578}
4579#endif
4580#endif
4581
4582#endif
4583
4584HRESULT STDMETHODCALLTYPE ITfKeyEventSink_OnSetFocus_Proxy(
4585    ITfKeyEventSink* This,
4586    WINBOOL fForeground);
4587void __RPC_STUB ITfKeyEventSink_OnSetFocus_Stub(
4588    IRpcStubBuffer* This,
4589    IRpcChannelBuffer* pRpcChannelBuffer,
4590    PRPC_MESSAGE pRpcMessage,
4591    DWORD* pdwStubPhase);
4592HRESULT STDMETHODCALLTYPE ITfKeyEventSink_OnTestKeyDown_Proxy(
4593    ITfKeyEventSink* This,
4594    ITfContext *pic,
4595    WPARAM wParam,
4596    LPARAM lParam,
4597    WINBOOL *pfEaten);
4598void __RPC_STUB ITfKeyEventSink_OnTestKeyDown_Stub(
4599    IRpcStubBuffer* This,
4600    IRpcChannelBuffer* pRpcChannelBuffer,
4601    PRPC_MESSAGE pRpcMessage,
4602    DWORD* pdwStubPhase);
4603HRESULT STDMETHODCALLTYPE ITfKeyEventSink_OnTestKeyUp_Proxy(
4604    ITfKeyEventSink* This,
4605    ITfContext *pic,
4606    WPARAM wParam,
4607    LPARAM lParam,
4608    WINBOOL *pfEaten);
4609void __RPC_STUB ITfKeyEventSink_OnTestKeyUp_Stub(
4610    IRpcStubBuffer* This,
4611    IRpcChannelBuffer* pRpcChannelBuffer,
4612    PRPC_MESSAGE pRpcMessage,
4613    DWORD* pdwStubPhase);
4614HRESULT STDMETHODCALLTYPE ITfKeyEventSink_OnKeyDown_Proxy(
4615    ITfKeyEventSink* This,
4616    ITfContext *pic,
4617    WPARAM wParam,
4618    LPARAM lParam,
4619    WINBOOL *pfEaten);
4620void __RPC_STUB ITfKeyEventSink_OnKeyDown_Stub(
4621    IRpcStubBuffer* This,
4622    IRpcChannelBuffer* pRpcChannelBuffer,
4623    PRPC_MESSAGE pRpcMessage,
4624    DWORD* pdwStubPhase);
4625HRESULT STDMETHODCALLTYPE ITfKeyEventSink_OnKeyUp_Proxy(
4626    ITfKeyEventSink* This,
4627    ITfContext *pic,
4628    WPARAM wParam,
4629    LPARAM lParam,
4630    WINBOOL *pfEaten);
4631void __RPC_STUB ITfKeyEventSink_OnKeyUp_Stub(
4632    IRpcStubBuffer* This,
4633    IRpcChannelBuffer* pRpcChannelBuffer,
4634    PRPC_MESSAGE pRpcMessage,
4635    DWORD* pdwStubPhase);
4636HRESULT STDMETHODCALLTYPE ITfKeyEventSink_OnPreservedKey_Proxy(
4637    ITfKeyEventSink* This,
4638    ITfContext *pic,
4639    REFGUID rguid,
4640    WINBOOL *pfEaten);
4641void __RPC_STUB ITfKeyEventSink_OnPreservedKey_Stub(
4642    IRpcStubBuffer* This,
4643    IRpcChannelBuffer* pRpcChannelBuffer,
4644    PRPC_MESSAGE pRpcMessage,
4645    DWORD* pdwStubPhase);
4646
4647#endif  /* __ITfKeyEventSink_INTERFACE_DEFINED__ */
4648
4649/*****************************************************************************
4650 * ITfMessagePump interface
4651 */
4652#ifndef __ITfMessagePump_INTERFACE_DEFINED__
4653#define __ITfMessagePump_INTERFACE_DEFINED__
4654
4655DEFINE_GUID(IID_ITfMessagePump, 0x8f1b8ad8, 0x0b6b, 0x4874, 0x90,0xc5, 0xbd,0x76,0x01,0x1e,0x8f,0x7c);
4656#if defined(__cplusplus) && !defined(CINTERFACE)
4657MIDL_INTERFACE("8f1b8ad8-0b6b-4874-90c5-bd76011e8f7c")
4658ITfMessagePump : public IUnknown
4659{
4660    virtual HRESULT STDMETHODCALLTYPE PeekMessageA(
4661        LPMSG pMsg,
4662        HWND hwnd,
4663        UINT wMsgFilterMin,
4664        UINT wMsgFilterMax,
4665        UINT wRemoveMsg,
4666        WINBOOL *pfResult) = 0;
4667
4668    virtual HRESULT STDMETHODCALLTYPE GetMessageA(
4669        LPMSG pMsg,
4670        HWND hwnd,
4671        UINT wMsgFilterMin,
4672        UINT wMsgFilterMax,
4673        WINBOOL *pfResult) = 0;
4674
4675    virtual HRESULT STDMETHODCALLTYPE PeekMessageW(
4676        LPMSG pMsg,
4677        HWND hwnd,
4678        UINT wMsgFilterMin,
4679        UINT wMsgFilterMax,
4680        UINT wRemoveMsg,
4681        WINBOOL *pfResult) = 0;
4682
4683    virtual HRESULT STDMETHODCALLTYPE GetMessageW(
4684        LPMSG pMsg,
4685        HWND hwnd,
4686        UINT wMsgFilterMin,
4687        UINT wMsgFilterMax,
4688        WINBOOL *pfResult) = 0;
4689
4690};
4691#ifdef __CRT_UUID_DECL
4692__CRT_UUID_DECL(ITfMessagePump, 0x8f1b8ad8, 0x0b6b, 0x4874, 0x90,0xc5, 0xbd,0x76,0x01,0x1e,0x8f,0x7c)
4693#endif
4694#else
4695typedef struct ITfMessagePumpVtbl {
4696    BEGIN_INTERFACE
4697
4698    /*** IUnknown methods ***/
4699    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4700        ITfMessagePump* This,
4701        REFIID riid,
4702        void **ppvObject);
4703
4704    ULONG (STDMETHODCALLTYPE *AddRef)(
4705        ITfMessagePump* This);
4706
4707    ULONG (STDMETHODCALLTYPE *Release)(
4708        ITfMessagePump* This);
4709
4710    /*** ITfMessagePump methods ***/
4711    HRESULT (STDMETHODCALLTYPE *PeekMessageA)(
4712        ITfMessagePump* This,
4713        LPMSG pMsg,
4714        HWND hwnd,
4715        UINT wMsgFilterMin,
4716        UINT wMsgFilterMax,
4717        UINT wRemoveMsg,
4718        WINBOOL *pfResult);
4719
4720    HRESULT (STDMETHODCALLTYPE *GetMessageA)(
4721        ITfMessagePump* This,
4722        LPMSG pMsg,
4723        HWND hwnd,
4724        UINT wMsgFilterMin,
4725        UINT wMsgFilterMax,
4726        WINBOOL *pfResult);
4727
4728    HRESULT (STDMETHODCALLTYPE *PeekMessageW)(
4729        ITfMessagePump* This,
4730        LPMSG pMsg,
4731        HWND hwnd,
4732        UINT wMsgFilterMin,
4733        UINT wMsgFilterMax,
4734        UINT wRemoveMsg,
4735        WINBOOL *pfResult);
4736
4737    HRESULT (STDMETHODCALLTYPE *GetMessageW)(
4738        ITfMessagePump* This,
4739        LPMSG pMsg,
4740        HWND hwnd,
4741        UINT wMsgFilterMin,
4742        UINT wMsgFilterMax,
4743        WINBOOL *pfResult);
4744
4745    END_INTERFACE
4746} ITfMessagePumpVtbl;
4747interface ITfMessagePump {
4748    CONST_VTBL ITfMessagePumpVtbl* lpVtbl;
4749};
4750
4751#ifdef COBJMACROS
4752#ifndef WIDL_C_INLINE_WRAPPERS
4753/*** IUnknown methods ***/
4754#define ITfMessagePump_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4755#define ITfMessagePump_AddRef(This) (This)->lpVtbl->AddRef(This)
4756#define ITfMessagePump_Release(This) (This)->lpVtbl->Release(This)
4757/*** ITfMessagePump methods ***/
4758#define ITfMessagePump_PeekMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult) (This)->lpVtbl->PeekMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult)
4759#define ITfMessagePump_GetMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult) (This)->lpVtbl->GetMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult)
4760#define ITfMessagePump_PeekMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult) (This)->lpVtbl->PeekMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult)
4761#define ITfMessagePump_GetMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult) (This)->lpVtbl->GetMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult)
4762#else
4763/*** IUnknown methods ***/
4764static FORCEINLINE HRESULT ITfMessagePump_QueryInterface(ITfMessagePump* This,REFIID riid,void **ppvObject) {
4765    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4766}
4767static FORCEINLINE ULONG ITfMessagePump_AddRef(ITfMessagePump* This) {
4768    return This->lpVtbl->AddRef(This);
4769}
4770static FORCEINLINE ULONG ITfMessagePump_Release(ITfMessagePump* This) {
4771    return This->lpVtbl->Release(This);
4772}
4773/*** ITfMessagePump methods ***/
4774static FORCEINLINE HRESULT ITfMessagePump_PeekMessageA(ITfMessagePump* This,LPMSG pMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax,UINT wRemoveMsg,WINBOOL *pfResult) {
4775    return This->lpVtbl->PeekMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult);
4776}
4777static FORCEINLINE HRESULT ITfMessagePump_GetMessageA(ITfMessagePump* This,LPMSG pMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax,WINBOOL *pfResult) {
4778    return This->lpVtbl->GetMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult);
4779}
4780static FORCEINLINE HRESULT ITfMessagePump_PeekMessageW(ITfMessagePump* This,LPMSG pMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax,UINT wRemoveMsg,WINBOOL *pfResult) {
4781    return This->lpVtbl->PeekMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult);
4782}
4783static FORCEINLINE HRESULT ITfMessagePump_GetMessageW(ITfMessagePump* This,LPMSG pMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax,WINBOOL *pfResult) {
4784    return This->lpVtbl->GetMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult);
4785}
4786#endif
4787#endif
4788
4789#endif
4790
4791HRESULT STDMETHODCALLTYPE ITfMessagePump_PeekMessageA_Proxy(
4792    ITfMessagePump* This,
4793    LPMSG pMsg,
4794    HWND hwnd,
4795    UINT wMsgFilterMin,
4796    UINT wMsgFilterMax,
4797    UINT wRemoveMsg,
4798    WINBOOL *pfResult);
4799void __RPC_STUB ITfMessagePump_PeekMessageA_Stub(
4800    IRpcStubBuffer* This,
4801    IRpcChannelBuffer* pRpcChannelBuffer,
4802    PRPC_MESSAGE pRpcMessage,
4803    DWORD* pdwStubPhase);
4804HRESULT STDMETHODCALLTYPE ITfMessagePump_GetMessageA_Proxy(
4805    ITfMessagePump* This,
4806    LPMSG pMsg,
4807    HWND hwnd,
4808    UINT wMsgFilterMin,
4809    UINT wMsgFilterMax,
4810    WINBOOL *pfResult);
4811void __RPC_STUB ITfMessagePump_GetMessageA_Stub(
4812    IRpcStubBuffer* This,
4813    IRpcChannelBuffer* pRpcChannelBuffer,
4814    PRPC_MESSAGE pRpcMessage,
4815    DWORD* pdwStubPhase);
4816HRESULT STDMETHODCALLTYPE ITfMessagePump_PeekMessageW_Proxy(
4817    ITfMessagePump* This,
4818    LPMSG pMsg,
4819    HWND hwnd,
4820    UINT wMsgFilterMin,
4821    UINT wMsgFilterMax,
4822    UINT wRemoveMsg,
4823    WINBOOL *pfResult);
4824void __RPC_STUB ITfMessagePump_PeekMessageW_Stub(
4825    IRpcStubBuffer* This,
4826    IRpcChannelBuffer* pRpcChannelBuffer,
4827    PRPC_MESSAGE pRpcMessage,
4828    DWORD* pdwStubPhase);
4829HRESULT STDMETHODCALLTYPE ITfMessagePump_GetMessageW_Proxy(
4830    ITfMessagePump* This,
4831    LPMSG pMsg,
4832    HWND hwnd,
4833    UINT wMsgFilterMin,
4834    UINT wMsgFilterMax,
4835    WINBOOL *pfResult);
4836void __RPC_STUB ITfMessagePump_GetMessageW_Stub(
4837    IRpcStubBuffer* This,
4838    IRpcChannelBuffer* pRpcChannelBuffer,
4839    PRPC_MESSAGE pRpcMessage,
4840    DWORD* pdwStubPhase);
4841
4842#endif  /* __ITfMessagePump_INTERFACE_DEFINED__ */
4843
4844/*****************************************************************************
4845 * ITfClientId interface
4846 */
4847#ifndef __ITfClientId_INTERFACE_DEFINED__
4848#define __ITfClientId_INTERFACE_DEFINED__
4849
4850DEFINE_GUID(IID_ITfClientId, 0xd60a7b49, 0x1b9f, 0x4be2, 0xb7,0x02, 0x47,0xe9,0xdc,0x05,0xde,0xc3);
4851#if defined(__cplusplus) && !defined(CINTERFACE)
4852MIDL_INTERFACE("d60a7b49-1b9f-4be2-b702-47e9dc05dec3")
4853ITfClientId : public IUnknown
4854{
4855    virtual HRESULT STDMETHODCALLTYPE GetClientId(
4856        REFCLSID rclsid,
4857        TfClientId *ptid) = 0;
4858
4859};
4860#ifdef __CRT_UUID_DECL
4861__CRT_UUID_DECL(ITfClientId, 0xd60a7b49, 0x1b9f, 0x4be2, 0xb7,0x02, 0x47,0xe9,0xdc,0x05,0xde,0xc3)
4862#endif
4863#else
4864typedef struct ITfClientIdVtbl {
4865    BEGIN_INTERFACE
4866
4867    /*** IUnknown methods ***/
4868    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4869        ITfClientId* This,
4870        REFIID riid,
4871        void **ppvObject);
4872
4873    ULONG (STDMETHODCALLTYPE *AddRef)(
4874        ITfClientId* This);
4875
4876    ULONG (STDMETHODCALLTYPE *Release)(
4877        ITfClientId* This);
4878
4879    /*** ITfClientId methods ***/
4880    HRESULT (STDMETHODCALLTYPE *GetClientId)(
4881        ITfClientId* This,
4882        REFCLSID rclsid,
4883        TfClientId *ptid);
4884
4885    END_INTERFACE
4886} ITfClientIdVtbl;
4887interface ITfClientId {
4888    CONST_VTBL ITfClientIdVtbl* lpVtbl;
4889};
4890
4891#ifdef COBJMACROS
4892#ifndef WIDL_C_INLINE_WRAPPERS
4893/*** IUnknown methods ***/
4894#define ITfClientId_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4895#define ITfClientId_AddRef(This) (This)->lpVtbl->AddRef(This)
4896#define ITfClientId_Release(This) (This)->lpVtbl->Release(This)
4897/*** ITfClientId methods ***/
4898#define ITfClientId_GetClientId(This,rclsid,ptid) (This)->lpVtbl->GetClientId(This,rclsid,ptid)
4899#else
4900/*** IUnknown methods ***/
4901static FORCEINLINE HRESULT ITfClientId_QueryInterface(ITfClientId* This,REFIID riid,void **ppvObject) {
4902    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4903}
4904static FORCEINLINE ULONG ITfClientId_AddRef(ITfClientId* This) {
4905    return This->lpVtbl->AddRef(This);
4906}
4907static FORCEINLINE ULONG ITfClientId_Release(ITfClientId* This) {
4908    return This->lpVtbl->Release(This);
4909}
4910/*** ITfClientId methods ***/
4911static FORCEINLINE HRESULT ITfClientId_GetClientId(ITfClientId* This,REFCLSID rclsid,TfClientId *ptid) {
4912    return This->lpVtbl->GetClientId(This,rclsid,ptid);
4913}
4914#endif
4915#endif
4916
4917#endif
4918
4919HRESULT STDMETHODCALLTYPE ITfClientId_GetClientId_Proxy(
4920    ITfClientId* This,
4921    REFCLSID rclsid,
4922    TfClientId *ptid);
4923void __RPC_STUB ITfClientId_GetClientId_Stub(
4924    IRpcStubBuffer* This,
4925    IRpcChannelBuffer* pRpcChannelBuffer,
4926    PRPC_MESSAGE pRpcMessage,
4927    DWORD* pdwStubPhase);
4928
4929#endif  /* __ITfClientId_INTERFACE_DEFINED__ */
4930
4931/*****************************************************************************
4932 * ITfLanguageProfileNotifySink interface
4933 */
4934#ifndef __ITfLanguageProfileNotifySink_INTERFACE_DEFINED__
4935#define __ITfLanguageProfileNotifySink_INTERFACE_DEFINED__
4936
4937DEFINE_GUID(IID_ITfLanguageProfileNotifySink, 0x43c9fe15, 0xf494, 0x4c17, 0x9d,0xe2, 0xb8,0xa4,0xac,0x35,0x0a,0xa8);
4938#if defined(__cplusplus) && !defined(CINTERFACE)
4939MIDL_INTERFACE("43c9fe15-f494-4c17-9de2-b8a4ac350aa8")
4940ITfLanguageProfileNotifySink : public IUnknown
4941{
4942    virtual HRESULT STDMETHODCALLTYPE OnLanguageChange(
4943        LANGID langid,
4944        WINBOOL *pfAccept) = 0;
4945
4946    virtual HRESULT STDMETHODCALLTYPE OnLanguageChanged(
4947        ) = 0;
4948
4949};
4950#ifdef __CRT_UUID_DECL
4951__CRT_UUID_DECL(ITfLanguageProfileNotifySink, 0x43c9fe15, 0xf494, 0x4c17, 0x9d,0xe2, 0xb8,0xa4,0xac,0x35,0x0a,0xa8)
4952#endif
4953#else
4954typedef struct ITfLanguageProfileNotifySinkVtbl {
4955    BEGIN_INTERFACE
4956
4957    /*** IUnknown methods ***/
4958    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4959        ITfLanguageProfileNotifySink* This,
4960        REFIID riid,
4961        void **ppvObject);
4962
4963    ULONG (STDMETHODCALLTYPE *AddRef)(
4964        ITfLanguageProfileNotifySink* This);
4965
4966    ULONG (STDMETHODCALLTYPE *Release)(
4967        ITfLanguageProfileNotifySink* This);
4968
4969    /*** ITfLanguageProfileNotifySink methods ***/
4970    HRESULT (STDMETHODCALLTYPE *OnLanguageChange)(
4971        ITfLanguageProfileNotifySink* This,
4972        LANGID langid,
4973        WINBOOL *pfAccept);
4974
4975    HRESULT (STDMETHODCALLTYPE *OnLanguageChanged)(
4976        ITfLanguageProfileNotifySink* This);
4977
4978    END_INTERFACE
4979} ITfLanguageProfileNotifySinkVtbl;
4980interface ITfLanguageProfileNotifySink {
4981    CONST_VTBL ITfLanguageProfileNotifySinkVtbl* lpVtbl;
4982};
4983
4984#ifdef COBJMACROS
4985#ifndef WIDL_C_INLINE_WRAPPERS
4986/*** IUnknown methods ***/
4987#define ITfLanguageProfileNotifySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4988#define ITfLanguageProfileNotifySink_AddRef(This) (This)->lpVtbl->AddRef(This)
4989#define ITfLanguageProfileNotifySink_Release(This) (This)->lpVtbl->Release(This)
4990/*** ITfLanguageProfileNotifySink methods ***/
4991#define ITfLanguageProfileNotifySink_OnLanguageChange(This,langid,pfAccept) (This)->lpVtbl->OnLanguageChange(This,langid,pfAccept)
4992#define ITfLanguageProfileNotifySink_OnLanguageChanged(This) (This)->lpVtbl->OnLanguageChanged(This)
4993#else
4994/*** IUnknown methods ***/
4995static FORCEINLINE HRESULT ITfLanguageProfileNotifySink_QueryInterface(ITfLanguageProfileNotifySink* This,REFIID riid,void **ppvObject) {
4996    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4997}
4998static FORCEINLINE ULONG ITfLanguageProfileNotifySink_AddRef(ITfLanguageProfileNotifySink* This) {
4999    return This->lpVtbl->AddRef(This);
5000}
5001static FORCEINLINE ULONG ITfLanguageProfileNotifySink_Release(ITfLanguageProfileNotifySink* This) {
5002    return This->lpVtbl->Release(This);
5003}
5004/*** ITfLanguageProfileNotifySink methods ***/
5005static FORCEINLINE HRESULT ITfLanguageProfileNotifySink_OnLanguageChange(ITfLanguageProfileNotifySink* This,LANGID langid,WINBOOL *pfAccept) {
5006    return This->lpVtbl->OnLanguageChange(This,langid,pfAccept);
5007}
5008static FORCEINLINE HRESULT ITfLanguageProfileNotifySink_OnLanguageChanged(ITfLanguageProfileNotifySink* This) {
5009    return This->lpVtbl->OnLanguageChanged(This);
5010}
5011#endif
5012#endif
5013
5014#endif
5015
5016HRESULT STDMETHODCALLTYPE ITfLanguageProfileNotifySink_OnLanguageChange_Proxy(
5017    ITfLanguageProfileNotifySink* This,
5018    LANGID langid,
5019    WINBOOL *pfAccept);
5020void __RPC_STUB ITfLanguageProfileNotifySink_OnLanguageChange_Stub(
5021    IRpcStubBuffer* This,
5022    IRpcChannelBuffer* pRpcChannelBuffer,
5023    PRPC_MESSAGE pRpcMessage,
5024    DWORD* pdwStubPhase);
5025HRESULT STDMETHODCALLTYPE ITfLanguageProfileNotifySink_OnLanguageChanged_Proxy(
5026    ITfLanguageProfileNotifySink* This);
5027void __RPC_STUB ITfLanguageProfileNotifySink_OnLanguageChanged_Stub(
5028    IRpcStubBuffer* This,
5029    IRpcChannelBuffer* pRpcChannelBuffer,
5030    PRPC_MESSAGE pRpcMessage,
5031    DWORD* pdwStubPhase);
5032
5033#endif  /* __ITfLanguageProfileNotifySink_INTERFACE_DEFINED__ */
5034
5035/*****************************************************************************
5036 * ITfEditSession interface
5037 */
5038#ifndef __ITfEditSession_INTERFACE_DEFINED__
5039#define __ITfEditSession_INTERFACE_DEFINED__
5040
5041DEFINE_GUID(IID_ITfEditSession, 0xaa80e803, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
5042#if defined(__cplusplus) && !defined(CINTERFACE)
5043MIDL_INTERFACE("aa80e803-2021-11d2-93e0-0060b067b86e")
5044ITfEditSession : public IUnknown
5045{
5046    virtual HRESULT STDMETHODCALLTYPE DoEditSession(
5047        TfEditCookie ec) = 0;
5048
5049};
5050#ifdef __CRT_UUID_DECL
5051__CRT_UUID_DECL(ITfEditSession, 0xaa80e803, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
5052#endif
5053#else
5054typedef struct ITfEditSessionVtbl {
5055    BEGIN_INTERFACE
5056
5057    /*** IUnknown methods ***/
5058    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5059        ITfEditSession* This,
5060        REFIID riid,
5061        void **ppvObject);
5062
5063    ULONG (STDMETHODCALLTYPE *AddRef)(
5064        ITfEditSession* This);
5065
5066    ULONG (STDMETHODCALLTYPE *Release)(
5067        ITfEditSession* This);
5068
5069    /*** ITfEditSession methods ***/
5070    HRESULT (STDMETHODCALLTYPE *DoEditSession)(
5071        ITfEditSession* This,
5072        TfEditCookie ec);
5073
5074    END_INTERFACE
5075} ITfEditSessionVtbl;
5076interface ITfEditSession {
5077    CONST_VTBL ITfEditSessionVtbl* lpVtbl;
5078};
5079
5080#ifdef COBJMACROS
5081#ifndef WIDL_C_INLINE_WRAPPERS
5082/*** IUnknown methods ***/
5083#define ITfEditSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5084#define ITfEditSession_AddRef(This) (This)->lpVtbl->AddRef(This)
5085#define ITfEditSession_Release(This) (This)->lpVtbl->Release(This)
5086/*** ITfEditSession methods ***/
5087#define ITfEditSession_DoEditSession(This,ec) (This)->lpVtbl->DoEditSession(This,ec)
5088#else
5089/*** IUnknown methods ***/
5090static FORCEINLINE HRESULT ITfEditSession_QueryInterface(ITfEditSession* This,REFIID riid,void **ppvObject) {
5091    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5092}
5093static FORCEINLINE ULONG ITfEditSession_AddRef(ITfEditSession* This) {
5094    return This->lpVtbl->AddRef(This);
5095}
5096static FORCEINLINE ULONG ITfEditSession_Release(ITfEditSession* This) {
5097    return This->lpVtbl->Release(This);
5098}
5099/*** ITfEditSession methods ***/
5100static FORCEINLINE HRESULT ITfEditSession_DoEditSession(ITfEditSession* This,TfEditCookie ec) {
5101    return This->lpVtbl->DoEditSession(This,ec);
5102}
5103#endif
5104#endif
5105
5106#endif
5107
5108HRESULT STDMETHODCALLTYPE ITfEditSession_DoEditSession_Proxy(
5109    ITfEditSession* This,
5110    TfEditCookie ec);
5111void __RPC_STUB ITfEditSession_DoEditSession_Stub(
5112    IRpcStubBuffer* This,
5113    IRpcChannelBuffer* pRpcChannelBuffer,
5114    PRPC_MESSAGE pRpcMessage,
5115    DWORD* pdwStubPhase);
5116
5117#endif  /* __ITfEditSession_INTERFACE_DEFINED__ */
5118
5119/*****************************************************************************
5120 * ITfRange interface
5121 */
5122#ifndef __ITfRange_INTERFACE_DEFINED__
5123#define __ITfRange_INTERFACE_DEFINED__
5124
5125#define TF_CHAR_EMBEDDED (TS_CHAR_EMBEDDED)
5126
5127typedef enum __WIDL_msctf_generated_name_00000005 {
5128    TF_GRAVITY_BACKWARD = 0,
5129    TF_GRAVITY_FORWARD = 1
5130} TfGravity;
5131typedef enum __WIDL_msctf_generated_name_00000006 {
5132    TF_SD_BACKWARD = 0,
5133    TF_SD_FORWARD = 1
5134} TfShiftDir;
5135#define TF_HF_OBJECT (1)
5136
5137#define TF_TF_MOVESTART (1)
5138
5139#define TF_TF_IGNOREEND (2)
5140
5141#define TF_ST_CORRECTION (1)
5142
5143#define TF_IE_CORRECTION (1)
5144
5145typedef struct TF_HALTCOND {
5146    ITfRange *pHaltRange;
5147    TfAnchor aHaltPos;
5148    DWORD dwFlags;
5149} TF_HALTCOND;
5150DEFINE_GUID(IID_ITfRange, 0xaa80e7ff, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
5151#if defined(__cplusplus) && !defined(CINTERFACE)
5152MIDL_INTERFACE("aa80e7ff-2021-11d2-93e0-0060b067b86e")
5153ITfRange : public IUnknown
5154{
5155    virtual HRESULT STDMETHODCALLTYPE GetText(
5156        TfEditCookie ec,
5157        DWORD dwFlags,
5158        WCHAR *pchText,
5159        ULONG cchMax,
5160        ULONG *pcch) = 0;
5161
5162    virtual HRESULT STDMETHODCALLTYPE SetText(
5163        TfEditCookie ec,
5164        DWORD dwFlags,
5165        const WCHAR *pchText,
5166        LONG cch) = 0;
5167
5168    virtual HRESULT STDMETHODCALLTYPE GetFormattedText(
5169        TfEditCookie ec,
5170        IDataObject **ppDataObject) = 0;
5171
5172    virtual HRESULT STDMETHODCALLTYPE GetEmbedded(
5173        TfEditCookie ec,
5174        REFGUID rguidService,
5175        REFIID riid,
5176        IUnknown **ppunk) = 0;
5177
5178    virtual HRESULT STDMETHODCALLTYPE InsertEmbedded(
5179        TfEditCookie ec,
5180        DWORD dwFlags,
5181        IDataObject *pDataObject) = 0;
5182
5183    virtual HRESULT STDMETHODCALLTYPE ShiftStart(
5184        TfEditCookie ec,
5185        LONG cchReq,
5186        LONG *pcch,
5187        const TF_HALTCOND *pHalt) = 0;
5188
5189    virtual HRESULT STDMETHODCALLTYPE ShiftEnd(
5190        TfEditCookie ec,
5191        LONG cchReq,
5192        LONG *pcch,
5193        const TF_HALTCOND *pHalt) = 0;
5194
5195    virtual HRESULT STDMETHODCALLTYPE ShiftStartToRange(
5196        TfEditCookie ec,
5197        ITfRange *pRange,
5198        TfAnchor aPos) = 0;
5199
5200    virtual HRESULT STDMETHODCALLTYPE ShiftEndToRange(
5201        TfEditCookie ec,
5202        ITfRange *pRange,
5203        TfAnchor aPos) = 0;
5204
5205    virtual HRESULT STDMETHODCALLTYPE ShiftStartRegion(
5206        TfEditCookie ec,
5207        TfShiftDir dir,
5208        WINBOOL *pfNoRegion) = 0;
5209
5210    virtual HRESULT STDMETHODCALLTYPE ShiftEndRegion(
5211        TfEditCookie ec,
5212        TfShiftDir dir,
5213        WINBOOL *pfNoRegion) = 0;
5214
5215    virtual HRESULT STDMETHODCALLTYPE IsEmpty(
5216        TfEditCookie ec,
5217        WINBOOL *pfEmpty) = 0;
5218
5219    virtual HRESULT STDMETHODCALLTYPE Collapse(
5220        TfEditCookie ec,
5221        TfAnchor aPos) = 0;
5222
5223    virtual HRESULT STDMETHODCALLTYPE IsEqualStart(
5224        TfEditCookie ec,
5225        ITfRange *pWith,
5226        TfAnchor aPos,
5227        WINBOOL *pfEqual) = 0;
5228
5229    virtual HRESULT STDMETHODCALLTYPE IsEqualEnd(
5230        TfEditCookie ec,
5231        ITfRange *pWith,
5232        TfAnchor aPos,
5233        WINBOOL *pfEqual) = 0;
5234
5235    virtual HRESULT STDMETHODCALLTYPE CompareStart(
5236        TfEditCookie ec,
5237        ITfRange *pWith,
5238        TfAnchor aPos,
5239        LONG *plResult) = 0;
5240
5241    virtual HRESULT STDMETHODCALLTYPE CompareEnd(
5242        TfEditCookie ec,
5243        ITfRange *pWith,
5244        TfAnchor aPos,
5245        LONG *plResult) = 0;
5246
5247    virtual HRESULT STDMETHODCALLTYPE AdjustForInsert(
5248        TfEditCookie ec,
5249        ULONG cchInsert,
5250        WINBOOL *pfInsertOk) = 0;
5251
5252    virtual HRESULT STDMETHODCALLTYPE GetGravity(
5253        TfGravity *pgStart,
5254        TfGravity *pgEnd) = 0;
5255
5256    virtual HRESULT STDMETHODCALLTYPE SetGravity(
5257        TfEditCookie ec,
5258        TfGravity gStart,
5259        TfGravity gEnd) = 0;
5260
5261    virtual HRESULT STDMETHODCALLTYPE Clone(
5262        ITfRange **ppClone) = 0;
5263
5264    virtual HRESULT STDMETHODCALLTYPE GetContext(
5265        ITfContext **ppContext) = 0;
5266
5267};
5268#ifdef __CRT_UUID_DECL
5269__CRT_UUID_DECL(ITfRange, 0xaa80e7ff, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
5270#endif
5271#else
5272typedef struct ITfRangeVtbl {
5273    BEGIN_INTERFACE
5274
5275    /*** IUnknown methods ***/
5276    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5277        ITfRange* This,
5278        REFIID riid,
5279        void **ppvObject);
5280
5281    ULONG (STDMETHODCALLTYPE *AddRef)(
5282        ITfRange* This);
5283
5284    ULONG (STDMETHODCALLTYPE *Release)(
5285        ITfRange* This);
5286
5287    /*** ITfRange methods ***/
5288    HRESULT (STDMETHODCALLTYPE *GetText)(
5289        ITfRange* This,
5290        TfEditCookie ec,
5291        DWORD dwFlags,
5292        WCHAR *pchText,
5293        ULONG cchMax,
5294        ULONG *pcch);
5295
5296    HRESULT (STDMETHODCALLTYPE *SetText)(
5297        ITfRange* This,
5298        TfEditCookie ec,
5299        DWORD dwFlags,
5300        const WCHAR *pchText,
5301        LONG cch);
5302
5303    HRESULT (STDMETHODCALLTYPE *GetFormattedText)(
5304        ITfRange* This,
5305        TfEditCookie ec,
5306        IDataObject **ppDataObject);
5307
5308    HRESULT (STDMETHODCALLTYPE *GetEmbedded)(
5309        ITfRange* This,
5310        TfEditCookie ec,
5311        REFGUID rguidService,
5312        REFIID riid,
5313        IUnknown **ppunk);
5314
5315    HRESULT (STDMETHODCALLTYPE *InsertEmbedded)(
5316        ITfRange* This,
5317        TfEditCookie ec,
5318        DWORD dwFlags,
5319        IDataObject *pDataObject);
5320
5321    HRESULT (STDMETHODCALLTYPE *ShiftStart)(
5322        ITfRange* This,
5323        TfEditCookie ec,
5324        LONG cchReq,
5325        LONG *pcch,
5326        const TF_HALTCOND *pHalt);
5327
5328    HRESULT (STDMETHODCALLTYPE *ShiftEnd)(
5329        ITfRange* This,
5330        TfEditCookie ec,
5331        LONG cchReq,
5332        LONG *pcch,
5333        const TF_HALTCOND *pHalt);
5334
5335    HRESULT (STDMETHODCALLTYPE *ShiftStartToRange)(
5336        ITfRange* This,
5337        TfEditCookie ec,
5338        ITfRange *pRange,
5339        TfAnchor aPos);
5340
5341    HRESULT (STDMETHODCALLTYPE *ShiftEndToRange)(
5342        ITfRange* This,
5343        TfEditCookie ec,
5344        ITfRange *pRange,
5345        TfAnchor aPos);
5346
5347    HRESULT (STDMETHODCALLTYPE *ShiftStartRegion)(
5348        ITfRange* This,
5349        TfEditCookie ec,
5350        TfShiftDir dir,
5351        WINBOOL *pfNoRegion);
5352
5353    HRESULT (STDMETHODCALLTYPE *ShiftEndRegion)(
5354        ITfRange* This,
5355        TfEditCookie ec,
5356        TfShiftDir dir,
5357        WINBOOL *pfNoRegion);
5358
5359    HRESULT (STDMETHODCALLTYPE *IsEmpty)(
5360        ITfRange* This,
5361        TfEditCookie ec,
5362        WINBOOL *pfEmpty);
5363
5364    HRESULT (STDMETHODCALLTYPE *Collapse)(
5365        ITfRange* This,
5366        TfEditCookie ec,
5367        TfAnchor aPos);
5368
5369    HRESULT (STDMETHODCALLTYPE *IsEqualStart)(
5370        ITfRange* This,
5371        TfEditCookie ec,
5372        ITfRange *pWith,
5373        TfAnchor aPos,
5374        WINBOOL *pfEqual);
5375
5376    HRESULT (STDMETHODCALLTYPE *IsEqualEnd)(
5377        ITfRange* This,
5378        TfEditCookie ec,
5379        ITfRange *pWith,
5380        TfAnchor aPos,
5381        WINBOOL *pfEqual);
5382
5383    HRESULT (STDMETHODCALLTYPE *CompareStart)(
5384        ITfRange* This,
5385        TfEditCookie ec,
5386        ITfRange *pWith,
5387        TfAnchor aPos,
5388        LONG *plResult);
5389
5390    HRESULT (STDMETHODCALLTYPE *CompareEnd)(
5391        ITfRange* This,
5392        TfEditCookie ec,
5393        ITfRange *pWith,
5394        TfAnchor aPos,
5395        LONG *plResult);
5396
5397    HRESULT (STDMETHODCALLTYPE *AdjustForInsert)(
5398        ITfRange* This,
5399        TfEditCookie ec,
5400        ULONG cchInsert,
5401        WINBOOL *pfInsertOk);
5402
5403    HRESULT (STDMETHODCALLTYPE *GetGravity)(
5404        ITfRange* This,
5405        TfGravity *pgStart,
5406        TfGravity *pgEnd);
5407
5408    HRESULT (STDMETHODCALLTYPE *SetGravity)(
5409        ITfRange* This,
5410        TfEditCookie ec,
5411        TfGravity gStart,
5412        TfGravity gEnd);
5413
5414    HRESULT (STDMETHODCALLTYPE *Clone)(
5415        ITfRange* This,
5416        ITfRange **ppClone);
5417
5418    HRESULT (STDMETHODCALLTYPE *GetContext)(
5419        ITfRange* This,
5420        ITfContext **ppContext);
5421
5422    END_INTERFACE
5423} ITfRangeVtbl;
5424interface ITfRange {
5425    CONST_VTBL ITfRangeVtbl* lpVtbl;
5426};
5427
5428#ifdef COBJMACROS
5429#ifndef WIDL_C_INLINE_WRAPPERS
5430/*** IUnknown methods ***/
5431#define ITfRange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5432#define ITfRange_AddRef(This) (This)->lpVtbl->AddRef(This)
5433#define ITfRange_Release(This) (This)->lpVtbl->Release(This)
5434/*** ITfRange methods ***/
5435#define ITfRange_GetText(This,ec,dwFlags,pchText,cchMax,pcch) (This)->lpVtbl->GetText(This,ec,dwFlags,pchText,cchMax,pcch)
5436#define ITfRange_SetText(This,ec,dwFlags,pchText,cch) (This)->lpVtbl->SetText(This,ec,dwFlags,pchText,cch)
5437#define ITfRange_GetFormattedText(This,ec,ppDataObject) (This)->lpVtbl->GetFormattedText(This,ec,ppDataObject)
5438#define ITfRange_GetEmbedded(This,ec,rguidService,riid,ppunk) (This)->lpVtbl->GetEmbedded(This,ec,rguidService,riid,ppunk)
5439#define ITfRange_InsertEmbedded(This,ec,dwFlags,pDataObject) (This)->lpVtbl->InsertEmbedded(This,ec,dwFlags,pDataObject)
5440#define ITfRange_ShiftStart(This,ec,cchReq,pcch,pHalt) (This)->lpVtbl->ShiftStart(This,ec,cchReq,pcch,pHalt)
5441#define ITfRange_ShiftEnd(This,ec,cchReq,pcch,pHalt) (This)->lpVtbl->ShiftEnd(This,ec,cchReq,pcch,pHalt)
5442#define ITfRange_ShiftStartToRange(This,ec,pRange,aPos) (This)->lpVtbl->ShiftStartToRange(This,ec,pRange,aPos)
5443#define ITfRange_ShiftEndToRange(This,ec,pRange,aPos) (This)->lpVtbl->ShiftEndToRange(This,ec,pRange,aPos)
5444#define ITfRange_ShiftStartRegion(This,ec,dir,pfNoRegion) (This)->lpVtbl->ShiftStartRegion(This,ec,dir,pfNoRegion)
5445#define ITfRange_ShiftEndRegion(This,ec,dir,pfNoRegion) (This)->lpVtbl->ShiftEndRegion(This,ec,dir,pfNoRegion)
5446#define ITfRange_IsEmpty(This,ec,pfEmpty) (This)->lpVtbl->IsEmpty(This,ec,pfEmpty)
5447#define ITfRange_Collapse(This,ec,aPos) (This)->lpVtbl->Collapse(This,ec,aPos)
5448#define ITfRange_IsEqualStart(This,ec,pWith,aPos,pfEqual) (This)->lpVtbl->IsEqualStart(This,ec,pWith,aPos,pfEqual)
5449#define ITfRange_IsEqualEnd(This,ec,pWith,aPos,pfEqual) (This)->lpVtbl->IsEqualEnd(This,ec,pWith,aPos,pfEqual)
5450#define ITfRange_CompareStart(This,ec,pWith,aPos,plResult) (This)->lpVtbl->CompareStart(This,ec,pWith,aPos,plResult)
5451#define ITfRange_CompareEnd(This,ec,pWith,aPos,plResult) (This)->lpVtbl->CompareEnd(This,ec,pWith,aPos,plResult)
5452#define ITfRange_AdjustForInsert(This,ec,cchInsert,pfInsertOk) (This)->lpVtbl->AdjustForInsert(This,ec,cchInsert,pfInsertOk)
5453#define ITfRange_GetGravity(This,pgStart,pgEnd) (This)->lpVtbl->GetGravity(This,pgStart,pgEnd)
5454#define ITfRange_SetGravity(This,ec,gStart,gEnd) (This)->lpVtbl->SetGravity(This,ec,gStart,gEnd)
5455#define ITfRange_Clone(This,ppClone) (This)->lpVtbl->Clone(This,ppClone)
5456#define ITfRange_GetContext(This,ppContext) (This)->lpVtbl->GetContext(This,ppContext)
5457#else
5458/*** IUnknown methods ***/
5459static FORCEINLINE HRESULT ITfRange_QueryInterface(ITfRange* This,REFIID riid,void **ppvObject) {
5460    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5461}
5462static FORCEINLINE ULONG ITfRange_AddRef(ITfRange* This) {
5463    return This->lpVtbl->AddRef(This);
5464}
5465static FORCEINLINE ULONG ITfRange_Release(ITfRange* This) {
5466    return This->lpVtbl->Release(This);
5467}
5468/*** ITfRange methods ***/
5469static FORCEINLINE HRESULT ITfRange_GetText(ITfRange* This,TfEditCookie ec,DWORD dwFlags,WCHAR *pchText,ULONG cchMax,ULONG *pcch) {
5470    return This->lpVtbl->GetText(This,ec,dwFlags,pchText,cchMax,pcch);
5471}
5472static FORCEINLINE HRESULT ITfRange_SetText(ITfRange* This,TfEditCookie ec,DWORD dwFlags,const WCHAR *pchText,LONG cch) {
5473    return This->lpVtbl->SetText(This,ec,dwFlags,pchText,cch);
5474}
5475static FORCEINLINE HRESULT ITfRange_GetFormattedText(ITfRange* This,TfEditCookie ec,IDataObject **ppDataObject) {
5476    return This->lpVtbl->GetFormattedText(This,ec,ppDataObject);
5477}
5478static FORCEINLINE HRESULT ITfRange_GetEmbedded(ITfRange* This,TfEditCookie ec,REFGUID rguidService,REFIID riid,IUnknown **ppunk) {
5479    return This->lpVtbl->GetEmbedded(This,ec,rguidService,riid,ppunk);
5480}
5481static FORCEINLINE HRESULT ITfRange_InsertEmbedded(ITfRange* This,TfEditCookie ec,DWORD dwFlags,IDataObject *pDataObject) {
5482    return This->lpVtbl->InsertEmbedded(This,ec,dwFlags,pDataObject);
5483}
5484static FORCEINLINE HRESULT ITfRange_ShiftStart(ITfRange* This,TfEditCookie ec,LONG cchReq,LONG *pcch,const TF_HALTCOND *pHalt) {
5485    return This->lpVtbl->ShiftStart(This,ec,cchReq,pcch,pHalt);
5486}
5487static FORCEINLINE HRESULT ITfRange_ShiftEnd(ITfRange* This,TfEditCookie ec,LONG cchReq,LONG *pcch,const TF_HALTCOND *pHalt) {
5488    return This->lpVtbl->ShiftEnd(This,ec,cchReq,pcch,pHalt);
5489}
5490static FORCEINLINE HRESULT ITfRange_ShiftStartToRange(ITfRange* This,TfEditCookie ec,ITfRange *pRange,TfAnchor aPos) {
5491    return This->lpVtbl->ShiftStartToRange(This,ec,pRange,aPos);
5492}
5493static FORCEINLINE HRESULT ITfRange_ShiftEndToRange(ITfRange* This,TfEditCookie ec,ITfRange *pRange,TfAnchor aPos) {
5494    return This->lpVtbl->ShiftEndToRange(This,ec,pRange,aPos);
5495}
5496static FORCEINLINE HRESULT ITfRange_ShiftStartRegion(ITfRange* This,TfEditCookie ec,TfShiftDir dir,WINBOOL *pfNoRegion) {
5497    return This->lpVtbl->ShiftStartRegion(This,ec,dir,pfNoRegion);
5498}
5499static FORCEINLINE HRESULT ITfRange_ShiftEndRegion(ITfRange* This,TfEditCookie ec,TfShiftDir dir,WINBOOL *pfNoRegion) {
5500    return This->lpVtbl->ShiftEndRegion(This,ec,dir,pfNoRegion);
5501}
5502static FORCEINLINE HRESULT ITfRange_IsEmpty(ITfRange* This,TfEditCookie ec,WINBOOL *pfEmpty) {
5503    return This->lpVtbl->IsEmpty(This,ec,pfEmpty);
5504}
5505static FORCEINLINE HRESULT ITfRange_Collapse(ITfRange* This,TfEditCookie ec,TfAnchor aPos) {
5506    return This->lpVtbl->Collapse(This,ec,aPos);
5507}
5508static FORCEINLINE HRESULT ITfRange_IsEqualStart(ITfRange* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,WINBOOL *pfEqual) {
5509    return This->lpVtbl->IsEqualStart(This,ec,pWith,aPos,pfEqual);
5510}
5511static FORCEINLINE HRESULT ITfRange_IsEqualEnd(ITfRange* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,WINBOOL *pfEqual) {
5512    return This->lpVtbl->IsEqualEnd(This,ec,pWith,aPos,pfEqual);
5513}
5514static FORCEINLINE HRESULT ITfRange_CompareStart(ITfRange* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,LONG *plResult) {
5515    return This->lpVtbl->CompareStart(This,ec,pWith,aPos,plResult);
5516}
5517static FORCEINLINE HRESULT ITfRange_CompareEnd(ITfRange* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,LONG *plResult) {
5518    return This->lpVtbl->CompareEnd(This,ec,pWith,aPos,plResult);
5519}
5520static FORCEINLINE HRESULT ITfRange_AdjustForInsert(ITfRange* This,TfEditCookie ec,ULONG cchInsert,WINBOOL *pfInsertOk) {
5521    return This->lpVtbl->AdjustForInsert(This,ec,cchInsert,pfInsertOk);
5522}
5523static FORCEINLINE HRESULT ITfRange_GetGravity(ITfRange* This,TfGravity *pgStart,TfGravity *pgEnd) {
5524    return This->lpVtbl->GetGravity(This,pgStart,pgEnd);
5525}
5526static FORCEINLINE HRESULT ITfRange_SetGravity(ITfRange* This,TfEditCookie ec,TfGravity gStart,TfGravity gEnd) {
5527    return This->lpVtbl->SetGravity(This,ec,gStart,gEnd);
5528}
5529static FORCEINLINE HRESULT ITfRange_Clone(ITfRange* This,ITfRange **ppClone) {
5530    return This->lpVtbl->Clone(This,ppClone);
5531}
5532static FORCEINLINE HRESULT ITfRange_GetContext(ITfRange* This,ITfContext **ppContext) {
5533    return This->lpVtbl->GetContext(This,ppContext);
5534}
5535#endif
5536#endif
5537
5538#endif
5539
5540HRESULT STDMETHODCALLTYPE ITfRange_GetText_Proxy(
5541    ITfRange* This,
5542    TfEditCookie ec,
5543    DWORD dwFlags,
5544    WCHAR *pchText,
5545    ULONG cchMax,
5546    ULONG *pcch);
5547void __RPC_STUB ITfRange_GetText_Stub(
5548    IRpcStubBuffer* This,
5549    IRpcChannelBuffer* pRpcChannelBuffer,
5550    PRPC_MESSAGE pRpcMessage,
5551    DWORD* pdwStubPhase);
5552HRESULT STDMETHODCALLTYPE ITfRange_SetText_Proxy(
5553    ITfRange* This,
5554    TfEditCookie ec,
5555    DWORD dwFlags,
5556    const WCHAR *pchText,
5557    LONG cch);
5558void __RPC_STUB ITfRange_SetText_Stub(
5559    IRpcStubBuffer* This,
5560    IRpcChannelBuffer* pRpcChannelBuffer,
5561    PRPC_MESSAGE pRpcMessage,
5562    DWORD* pdwStubPhase);
5563HRESULT STDMETHODCALLTYPE ITfRange_GetFormattedText_Proxy(
5564    ITfRange* This,
5565    TfEditCookie ec,
5566    IDataObject **ppDataObject);
5567void __RPC_STUB ITfRange_GetFormattedText_Stub(
5568    IRpcStubBuffer* This,
5569    IRpcChannelBuffer* pRpcChannelBuffer,
5570    PRPC_MESSAGE pRpcMessage,
5571    DWORD* pdwStubPhase);
5572HRESULT STDMETHODCALLTYPE ITfRange_GetEmbedded_Proxy(
5573    ITfRange* This,
5574    TfEditCookie ec,
5575    REFGUID rguidService,
5576    REFIID riid,
5577    IUnknown **ppunk);
5578void __RPC_STUB ITfRange_GetEmbedded_Stub(
5579    IRpcStubBuffer* This,
5580    IRpcChannelBuffer* pRpcChannelBuffer,
5581    PRPC_MESSAGE pRpcMessage,
5582    DWORD* pdwStubPhase);
5583HRESULT STDMETHODCALLTYPE ITfRange_InsertEmbedded_Proxy(
5584    ITfRange* This,
5585    TfEditCookie ec,
5586    DWORD dwFlags,
5587    IDataObject *pDataObject);
5588void __RPC_STUB ITfRange_InsertEmbedded_Stub(
5589    IRpcStubBuffer* This,
5590    IRpcChannelBuffer* pRpcChannelBuffer,
5591    PRPC_MESSAGE pRpcMessage,
5592    DWORD* pdwStubPhase);
5593HRESULT STDMETHODCALLTYPE ITfRange_ShiftStart_Proxy(
5594    ITfRange* This,
5595    TfEditCookie ec,
5596    LONG cchReq,
5597    LONG *pcch,
5598    const TF_HALTCOND *pHalt);
5599void __RPC_STUB ITfRange_ShiftStart_Stub(
5600    IRpcStubBuffer* This,
5601    IRpcChannelBuffer* pRpcChannelBuffer,
5602    PRPC_MESSAGE pRpcMessage,
5603    DWORD* pdwStubPhase);
5604HRESULT STDMETHODCALLTYPE ITfRange_ShiftEnd_Proxy(
5605    ITfRange* This,
5606    TfEditCookie ec,
5607    LONG cchReq,
5608    LONG *pcch,
5609    const TF_HALTCOND *pHalt);
5610void __RPC_STUB ITfRange_ShiftEnd_Stub(
5611    IRpcStubBuffer* This,
5612    IRpcChannelBuffer* pRpcChannelBuffer,
5613    PRPC_MESSAGE pRpcMessage,
5614    DWORD* pdwStubPhase);
5615HRESULT STDMETHODCALLTYPE ITfRange_ShiftStartToRange_Proxy(
5616    ITfRange* This,
5617    TfEditCookie ec,
5618    ITfRange *pRange,
5619    TfAnchor aPos);
5620void __RPC_STUB ITfRange_ShiftStartToRange_Stub(
5621    IRpcStubBuffer* This,
5622    IRpcChannelBuffer* pRpcChannelBuffer,
5623    PRPC_MESSAGE pRpcMessage,
5624    DWORD* pdwStubPhase);
5625HRESULT STDMETHODCALLTYPE ITfRange_ShiftEndToRange_Proxy(
5626    ITfRange* This,
5627    TfEditCookie ec,
5628    ITfRange *pRange,
5629    TfAnchor aPos);
5630void __RPC_STUB ITfRange_ShiftEndToRange_Stub(
5631    IRpcStubBuffer* This,
5632    IRpcChannelBuffer* pRpcChannelBuffer,
5633    PRPC_MESSAGE pRpcMessage,
5634    DWORD* pdwStubPhase);
5635HRESULT STDMETHODCALLTYPE ITfRange_ShiftStartRegion_Proxy(
5636    ITfRange* This,
5637    TfEditCookie ec,
5638    TfShiftDir dir,
5639    WINBOOL *pfNoRegion);
5640void __RPC_STUB ITfRange_ShiftStartRegion_Stub(
5641    IRpcStubBuffer* This,
5642    IRpcChannelBuffer* pRpcChannelBuffer,
5643    PRPC_MESSAGE pRpcMessage,
5644    DWORD* pdwStubPhase);
5645HRESULT STDMETHODCALLTYPE ITfRange_ShiftEndRegion_Proxy(
5646    ITfRange* This,
5647    TfEditCookie ec,
5648    TfShiftDir dir,
5649    WINBOOL *pfNoRegion);
5650void __RPC_STUB ITfRange_ShiftEndRegion_Stub(
5651    IRpcStubBuffer* This,
5652    IRpcChannelBuffer* pRpcChannelBuffer,
5653    PRPC_MESSAGE pRpcMessage,
5654    DWORD* pdwStubPhase);
5655HRESULT STDMETHODCALLTYPE ITfRange_IsEmpty_Proxy(
5656    ITfRange* This,
5657    TfEditCookie ec,
5658    WINBOOL *pfEmpty);
5659void __RPC_STUB ITfRange_IsEmpty_Stub(
5660    IRpcStubBuffer* This,
5661    IRpcChannelBuffer* pRpcChannelBuffer,
5662    PRPC_MESSAGE pRpcMessage,
5663    DWORD* pdwStubPhase);
5664HRESULT STDMETHODCALLTYPE ITfRange_Collapse_Proxy(
5665    ITfRange* This,
5666    TfEditCookie ec,
5667    TfAnchor aPos);
5668void __RPC_STUB ITfRange_Collapse_Stub(
5669    IRpcStubBuffer* This,
5670    IRpcChannelBuffer* pRpcChannelBuffer,
5671    PRPC_MESSAGE pRpcMessage,
5672    DWORD* pdwStubPhase);
5673HRESULT STDMETHODCALLTYPE ITfRange_IsEqualStart_Proxy(
5674    ITfRange* This,
5675    TfEditCookie ec,
5676    ITfRange *pWith,
5677    TfAnchor aPos,
5678    WINBOOL *pfEqual);
5679void __RPC_STUB ITfRange_IsEqualStart_Stub(
5680    IRpcStubBuffer* This,
5681    IRpcChannelBuffer* pRpcChannelBuffer,
5682    PRPC_MESSAGE pRpcMessage,
5683    DWORD* pdwStubPhase);
5684HRESULT STDMETHODCALLTYPE ITfRange_IsEqualEnd_Proxy(
5685    ITfRange* This,
5686    TfEditCookie ec,
5687    ITfRange *pWith,
5688    TfAnchor aPos,
5689    WINBOOL *pfEqual);
5690void __RPC_STUB ITfRange_IsEqualEnd_Stub(
5691    IRpcStubBuffer* This,
5692    IRpcChannelBuffer* pRpcChannelBuffer,
5693    PRPC_MESSAGE pRpcMessage,
5694    DWORD* pdwStubPhase);
5695HRESULT STDMETHODCALLTYPE ITfRange_CompareStart_Proxy(
5696    ITfRange* This,
5697    TfEditCookie ec,
5698    ITfRange *pWith,
5699    TfAnchor aPos,
5700    LONG *plResult);
5701void __RPC_STUB ITfRange_CompareStart_Stub(
5702    IRpcStubBuffer* This,
5703    IRpcChannelBuffer* pRpcChannelBuffer,
5704    PRPC_MESSAGE pRpcMessage,
5705    DWORD* pdwStubPhase);
5706HRESULT STDMETHODCALLTYPE ITfRange_CompareEnd_Proxy(
5707    ITfRange* This,
5708    TfEditCookie ec,
5709    ITfRange *pWith,
5710    TfAnchor aPos,
5711    LONG *plResult);
5712void __RPC_STUB ITfRange_CompareEnd_Stub(
5713    IRpcStubBuffer* This,
5714    IRpcChannelBuffer* pRpcChannelBuffer,
5715    PRPC_MESSAGE pRpcMessage,
5716    DWORD* pdwStubPhase);
5717HRESULT STDMETHODCALLTYPE ITfRange_AdjustForInsert_Proxy(
5718    ITfRange* This,
5719    TfEditCookie ec,
5720    ULONG cchInsert,
5721    WINBOOL *pfInsertOk);
5722void __RPC_STUB ITfRange_AdjustForInsert_Stub(
5723    IRpcStubBuffer* This,
5724    IRpcChannelBuffer* pRpcChannelBuffer,
5725    PRPC_MESSAGE pRpcMessage,
5726    DWORD* pdwStubPhase);
5727HRESULT STDMETHODCALLTYPE ITfRange_GetGravity_Proxy(
5728    ITfRange* This,
5729    TfGravity *pgStart,
5730    TfGravity *pgEnd);
5731void __RPC_STUB ITfRange_GetGravity_Stub(
5732    IRpcStubBuffer* This,
5733    IRpcChannelBuffer* pRpcChannelBuffer,
5734    PRPC_MESSAGE pRpcMessage,
5735    DWORD* pdwStubPhase);
5736HRESULT STDMETHODCALLTYPE ITfRange_SetGravity_Proxy(
5737    ITfRange* This,
5738    TfEditCookie ec,
5739    TfGravity gStart,
5740    TfGravity gEnd);
5741void __RPC_STUB ITfRange_SetGravity_Stub(
5742    IRpcStubBuffer* This,
5743    IRpcChannelBuffer* pRpcChannelBuffer,
5744    PRPC_MESSAGE pRpcMessage,
5745    DWORD* pdwStubPhase);
5746HRESULT STDMETHODCALLTYPE ITfRange_Clone_Proxy(
5747    ITfRange* This,
5748    ITfRange **ppClone);
5749void __RPC_STUB ITfRange_Clone_Stub(
5750    IRpcStubBuffer* This,
5751    IRpcChannelBuffer* pRpcChannelBuffer,
5752    PRPC_MESSAGE pRpcMessage,
5753    DWORD* pdwStubPhase);
5754HRESULT STDMETHODCALLTYPE ITfRange_GetContext_Proxy(
5755    ITfRange* This,
5756    ITfContext **ppContext);
5757void __RPC_STUB ITfRange_GetContext_Stub(
5758    IRpcStubBuffer* This,
5759    IRpcChannelBuffer* pRpcChannelBuffer,
5760    PRPC_MESSAGE pRpcMessage,
5761    DWORD* pdwStubPhase);
5762
5763#endif  /* __ITfRange_INTERFACE_DEFINED__ */
5764
5765/*****************************************************************************
5766 * ITfRangeACP interface
5767 */
5768#ifndef __ITfRangeACP_INTERFACE_DEFINED__
5769#define __ITfRangeACP_INTERFACE_DEFINED__
5770
5771DEFINE_GUID(IID_ITfRangeACP, 0x057a6296, 0x029b, 0x4154, 0xb7,0x9a, 0x0d,0x46,0x1d,0x4e,0xa9,0x4c);
5772#if defined(__cplusplus) && !defined(CINTERFACE)
5773MIDL_INTERFACE("057a6296-029b-4154-b79a-0d461d4ea94c")
5774ITfRangeACP : public ITfRange
5775{
5776    virtual HRESULT STDMETHODCALLTYPE GetExtent(
5777        LONG *pacpAnchor,
5778        LONG *pcch) = 0;
5779
5780    virtual HRESULT STDMETHODCALLTYPE SetExtent(
5781        LONG acpAnchor,
5782        LONG cch) = 0;
5783
5784};
5785#ifdef __CRT_UUID_DECL
5786__CRT_UUID_DECL(ITfRangeACP, 0x057a6296, 0x029b, 0x4154, 0xb7,0x9a, 0x0d,0x46,0x1d,0x4e,0xa9,0x4c)
5787#endif
5788#else
5789typedef struct ITfRangeACPVtbl {
5790    BEGIN_INTERFACE
5791
5792    /*** IUnknown methods ***/
5793    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5794        ITfRangeACP* This,
5795        REFIID riid,
5796        void **ppvObject);
5797
5798    ULONG (STDMETHODCALLTYPE *AddRef)(
5799        ITfRangeACP* This);
5800
5801    ULONG (STDMETHODCALLTYPE *Release)(
5802        ITfRangeACP* This);
5803
5804    /*** ITfRange methods ***/
5805    HRESULT (STDMETHODCALLTYPE *GetText)(
5806        ITfRangeACP* This,
5807        TfEditCookie ec,
5808        DWORD dwFlags,
5809        WCHAR *pchText,
5810        ULONG cchMax,
5811        ULONG *pcch);
5812
5813    HRESULT (STDMETHODCALLTYPE *SetText)(
5814        ITfRangeACP* This,
5815        TfEditCookie ec,
5816        DWORD dwFlags,
5817        const WCHAR *pchText,
5818        LONG cch);
5819
5820    HRESULT (STDMETHODCALLTYPE *GetFormattedText)(
5821        ITfRangeACP* This,
5822        TfEditCookie ec,
5823        IDataObject **ppDataObject);
5824
5825    HRESULT (STDMETHODCALLTYPE *GetEmbedded)(
5826        ITfRangeACP* This,
5827        TfEditCookie ec,
5828        REFGUID rguidService,
5829        REFIID riid,
5830        IUnknown **ppunk);
5831
5832    HRESULT (STDMETHODCALLTYPE *InsertEmbedded)(
5833        ITfRangeACP* This,
5834        TfEditCookie ec,
5835        DWORD dwFlags,
5836        IDataObject *pDataObject);
5837
5838    HRESULT (STDMETHODCALLTYPE *ShiftStart)(
5839        ITfRangeACP* This,
5840        TfEditCookie ec,
5841        LONG cchReq,
5842        LONG *pcch,
5843        const TF_HALTCOND *pHalt);
5844
5845    HRESULT (STDMETHODCALLTYPE *ShiftEnd)(
5846        ITfRangeACP* This,
5847        TfEditCookie ec,
5848        LONG cchReq,
5849        LONG *pcch,
5850        const TF_HALTCOND *pHalt);
5851
5852    HRESULT (STDMETHODCALLTYPE *ShiftStartToRange)(
5853        ITfRangeACP* This,
5854        TfEditCookie ec,
5855        ITfRange *pRange,
5856        TfAnchor aPos);
5857
5858    HRESULT (STDMETHODCALLTYPE *ShiftEndToRange)(
5859        ITfRangeACP* This,
5860        TfEditCookie ec,
5861        ITfRange *pRange,
5862        TfAnchor aPos);
5863
5864    HRESULT (STDMETHODCALLTYPE *ShiftStartRegion)(
5865        ITfRangeACP* This,
5866        TfEditCookie ec,
5867        TfShiftDir dir,
5868        WINBOOL *pfNoRegion);
5869
5870    HRESULT (STDMETHODCALLTYPE *ShiftEndRegion)(
5871        ITfRangeACP* This,
5872        TfEditCookie ec,
5873        TfShiftDir dir,
5874        WINBOOL *pfNoRegion);
5875
5876    HRESULT (STDMETHODCALLTYPE *IsEmpty)(
5877        ITfRangeACP* This,
5878        TfEditCookie ec,
5879        WINBOOL *pfEmpty);
5880
5881    HRESULT (STDMETHODCALLTYPE *Collapse)(
5882        ITfRangeACP* This,
5883        TfEditCookie ec,
5884        TfAnchor aPos);
5885
5886    HRESULT (STDMETHODCALLTYPE *IsEqualStart)(
5887        ITfRangeACP* This,
5888        TfEditCookie ec,
5889        ITfRange *pWith,
5890        TfAnchor aPos,
5891        WINBOOL *pfEqual);
5892
5893    HRESULT (STDMETHODCALLTYPE *IsEqualEnd)(
5894        ITfRangeACP* This,
5895        TfEditCookie ec,
5896        ITfRange *pWith,
5897        TfAnchor aPos,
5898        WINBOOL *pfEqual);
5899
5900    HRESULT (STDMETHODCALLTYPE *CompareStart)(
5901        ITfRangeACP* This,
5902        TfEditCookie ec,
5903        ITfRange *pWith,
5904        TfAnchor aPos,
5905        LONG *plResult);
5906
5907    HRESULT (STDMETHODCALLTYPE *CompareEnd)(
5908        ITfRangeACP* This,
5909        TfEditCookie ec,
5910        ITfRange *pWith,
5911        TfAnchor aPos,
5912        LONG *plResult);
5913
5914    HRESULT (STDMETHODCALLTYPE *AdjustForInsert)(
5915        ITfRangeACP* This,
5916        TfEditCookie ec,
5917        ULONG cchInsert,
5918        WINBOOL *pfInsertOk);
5919
5920    HRESULT (STDMETHODCALLTYPE *GetGravity)(
5921        ITfRangeACP* This,
5922        TfGravity *pgStart,
5923        TfGravity *pgEnd);
5924
5925    HRESULT (STDMETHODCALLTYPE *SetGravity)(
5926        ITfRangeACP* This,
5927        TfEditCookie ec,
5928        TfGravity gStart,
5929        TfGravity gEnd);
5930
5931    HRESULT (STDMETHODCALLTYPE *Clone)(
5932        ITfRangeACP* This,
5933        ITfRange **ppClone);
5934
5935    HRESULT (STDMETHODCALLTYPE *GetContext)(
5936        ITfRangeACP* This,
5937        ITfContext **ppContext);
5938
5939    /*** ITfRangeACP methods ***/
5940    HRESULT (STDMETHODCALLTYPE *GetExtent)(
5941        ITfRangeACP* This,
5942        LONG *pacpAnchor,
5943        LONG *pcch);
5944
5945    HRESULT (STDMETHODCALLTYPE *SetExtent)(
5946        ITfRangeACP* This,
5947        LONG acpAnchor,
5948        LONG cch);
5949
5950    END_INTERFACE
5951} ITfRangeACPVtbl;
5952interface ITfRangeACP {
5953    CONST_VTBL ITfRangeACPVtbl* lpVtbl;
5954};
5955
5956#ifdef COBJMACROS
5957#ifndef WIDL_C_INLINE_WRAPPERS
5958/*** IUnknown methods ***/
5959#define ITfRangeACP_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5960#define ITfRangeACP_AddRef(This) (This)->lpVtbl->AddRef(This)
5961#define ITfRangeACP_Release(This) (This)->lpVtbl->Release(This)
5962/*** ITfRange methods ***/
5963#define ITfRangeACP_GetText(This,ec,dwFlags,pchText,cchMax,pcch) (This)->lpVtbl->GetText(This,ec,dwFlags,pchText,cchMax,pcch)
5964#define ITfRangeACP_SetText(This,ec,dwFlags,pchText,cch) (This)->lpVtbl->SetText(This,ec,dwFlags,pchText,cch)
5965#define ITfRangeACP_GetFormattedText(This,ec,ppDataObject) (This)->lpVtbl->GetFormattedText(This,ec,ppDataObject)
5966#define ITfRangeACP_GetEmbedded(This,ec,rguidService,riid,ppunk) (This)->lpVtbl->GetEmbedded(This,ec,rguidService,riid,ppunk)
5967#define ITfRangeACP_InsertEmbedded(This,ec,dwFlags,pDataObject) (This)->lpVtbl->InsertEmbedded(This,ec,dwFlags,pDataObject)
5968#define ITfRangeACP_ShiftStart(This,ec,cchReq,pcch,pHalt) (This)->lpVtbl->ShiftStart(This,ec,cchReq,pcch,pHalt)
5969#define ITfRangeACP_ShiftEnd(This,ec,cchReq,pcch,pHalt) (This)->lpVtbl->ShiftEnd(This,ec,cchReq,pcch,pHalt)
5970#define ITfRangeACP_ShiftStartToRange(This,ec,pRange,aPos) (This)->lpVtbl->ShiftStartToRange(This,ec,pRange,aPos)
5971#define ITfRangeACP_ShiftEndToRange(This,ec,pRange,aPos) (This)->lpVtbl->ShiftEndToRange(This,ec,pRange,aPos)
5972#define ITfRangeACP_ShiftStartRegion(This,ec,dir,pfNoRegion) (This)->lpVtbl->ShiftStartRegion(This,ec,dir,pfNoRegion)
5973#define ITfRangeACP_ShiftEndRegion(This,ec,dir,pfNoRegion) (This)->lpVtbl->ShiftEndRegion(This,ec,dir,pfNoRegion)
5974#define ITfRangeACP_IsEmpty(This,ec,pfEmpty) (This)->lpVtbl->IsEmpty(This,ec,pfEmpty)
5975#define ITfRangeACP_Collapse(This,ec,aPos) (This)->lpVtbl->Collapse(This,ec,aPos)
5976#define ITfRangeACP_IsEqualStart(This,ec,pWith,aPos,pfEqual) (This)->lpVtbl->IsEqualStart(This,ec,pWith,aPos,pfEqual)
5977#define ITfRangeACP_IsEqualEnd(This,ec,pWith,aPos,pfEqual) (This)->lpVtbl->IsEqualEnd(This,ec,pWith,aPos,pfEqual)
5978#define ITfRangeACP_CompareStart(This,ec,pWith,aPos,plResult) (This)->lpVtbl->CompareStart(This,ec,pWith,aPos,plResult)
5979#define ITfRangeACP_CompareEnd(This,ec,pWith,aPos,plResult) (This)->lpVtbl->CompareEnd(This,ec,pWith,aPos,plResult)
5980#define ITfRangeACP_AdjustForInsert(This,ec,cchInsert,pfInsertOk) (This)->lpVtbl->AdjustForInsert(This,ec,cchInsert,pfInsertOk)
5981#define ITfRangeACP_GetGravity(This,pgStart,pgEnd) (This)->lpVtbl->GetGravity(This,pgStart,pgEnd)
5982#define ITfRangeACP_SetGravity(This,ec,gStart,gEnd) (This)->lpVtbl->SetGravity(This,ec,gStart,gEnd)
5983#define ITfRangeACP_Clone(This,ppClone) (This)->lpVtbl->Clone(This,ppClone)
5984#define ITfRangeACP_GetContext(This,ppContext) (This)->lpVtbl->GetContext(This,ppContext)
5985/*** ITfRangeACP methods ***/
5986#define ITfRangeACP_GetExtent(This,pacpAnchor,pcch) (This)->lpVtbl->GetExtent(This,pacpAnchor,pcch)
5987#define ITfRangeACP_SetExtent(This,acpAnchor,cch) (This)->lpVtbl->SetExtent(This,acpAnchor,cch)
5988#else
5989/*** IUnknown methods ***/
5990static FORCEINLINE HRESULT ITfRangeACP_QueryInterface(ITfRangeACP* This,REFIID riid,void **ppvObject) {
5991    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5992}
5993static FORCEINLINE ULONG ITfRangeACP_AddRef(ITfRangeACP* This) {
5994    return This->lpVtbl->AddRef(This);
5995}
5996static FORCEINLINE ULONG ITfRangeACP_Release(ITfRangeACP* This) {
5997    return This->lpVtbl->Release(This);
5998}
5999/*** ITfRange methods ***/
6000static FORCEINLINE HRESULT ITfRangeACP_GetText(ITfRangeACP* This,TfEditCookie ec,DWORD dwFlags,WCHAR *pchText,ULONG cchMax,ULONG *pcch) {
6001    return This->lpVtbl->GetText(This,ec,dwFlags,pchText,cchMax,pcch);
6002}
6003static FORCEINLINE HRESULT ITfRangeACP_SetText(ITfRangeACP* This,TfEditCookie ec,DWORD dwFlags,const WCHAR *pchText,LONG cch) {
6004    return This->lpVtbl->SetText(This,ec,dwFlags,pchText,cch);
6005}
6006static FORCEINLINE HRESULT ITfRangeACP_GetFormattedText(ITfRangeACP* This,TfEditCookie ec,IDataObject **ppDataObject) {
6007    return This->lpVtbl->GetFormattedText(This,ec,ppDataObject);
6008}
6009static FORCEINLINE HRESULT ITfRangeACP_GetEmbedded(ITfRangeACP* This,TfEditCookie ec,REFGUID rguidService,REFIID riid,IUnknown **ppunk) {
6010    return This->lpVtbl->GetEmbedded(This,ec,rguidService,riid,ppunk);
6011}
6012static FORCEINLINE HRESULT ITfRangeACP_InsertEmbedded(ITfRangeACP* This,TfEditCookie ec,DWORD dwFlags,IDataObject *pDataObject) {
6013    return This->lpVtbl->InsertEmbedded(This,ec,dwFlags,pDataObject);
6014}
6015static FORCEINLINE HRESULT ITfRangeACP_ShiftStart(ITfRangeACP* This,TfEditCookie ec,LONG cchReq,LONG *pcch,const TF_HALTCOND *pHalt) {
6016    return This->lpVtbl->ShiftStart(This,ec,cchReq,pcch,pHalt);
6017}
6018static FORCEINLINE HRESULT ITfRangeACP_ShiftEnd(ITfRangeACP* This,TfEditCookie ec,LONG cchReq,LONG *pcch,const TF_HALTCOND *pHalt) {
6019    return This->lpVtbl->ShiftEnd(This,ec,cchReq,pcch,pHalt);
6020}
6021static FORCEINLINE HRESULT ITfRangeACP_ShiftStartToRange(ITfRangeACP* This,TfEditCookie ec,ITfRange *pRange,TfAnchor aPos) {
6022    return This->lpVtbl->ShiftStartToRange(This,ec,pRange,aPos);
6023}
6024static FORCEINLINE HRESULT ITfRangeACP_ShiftEndToRange(ITfRangeACP* This,TfEditCookie ec,ITfRange *pRange,TfAnchor aPos) {
6025    return This->lpVtbl->ShiftEndToRange(This,ec,pRange,aPos);
6026}
6027static FORCEINLINE HRESULT ITfRangeACP_ShiftStartRegion(ITfRangeACP* This,TfEditCookie ec,TfShiftDir dir,WINBOOL *pfNoRegion) {
6028    return This->lpVtbl->ShiftStartRegion(This,ec,dir,pfNoRegion);
6029}
6030static FORCEINLINE HRESULT ITfRangeACP_ShiftEndRegion(ITfRangeACP* This,TfEditCookie ec,TfShiftDir dir,WINBOOL *pfNoRegion) {
6031    return This->lpVtbl->ShiftEndRegion(This,ec,dir,pfNoRegion);
6032}
6033static FORCEINLINE HRESULT ITfRangeACP_IsEmpty(ITfRangeACP* This,TfEditCookie ec,WINBOOL *pfEmpty) {
6034    return This->lpVtbl->IsEmpty(This,ec,pfEmpty);
6035}
6036static FORCEINLINE HRESULT ITfRangeACP_Collapse(ITfRangeACP* This,TfEditCookie ec,TfAnchor aPos) {
6037    return This->lpVtbl->Collapse(This,ec,aPos);
6038}
6039static FORCEINLINE HRESULT ITfRangeACP_IsEqualStart(ITfRangeACP* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,WINBOOL *pfEqual) {
6040    return This->lpVtbl->IsEqualStart(This,ec,pWith,aPos,pfEqual);
6041}
6042static FORCEINLINE HRESULT ITfRangeACP_IsEqualEnd(ITfRangeACP* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,WINBOOL *pfEqual) {
6043    return This->lpVtbl->IsEqualEnd(This,ec,pWith,aPos,pfEqual);
6044}
6045static FORCEINLINE HRESULT ITfRangeACP_CompareStart(ITfRangeACP* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,LONG *plResult) {
6046    return This->lpVtbl->CompareStart(This,ec,pWith,aPos,plResult);
6047}
6048static FORCEINLINE HRESULT ITfRangeACP_CompareEnd(ITfRangeACP* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,LONG *plResult) {
6049    return This->lpVtbl->CompareEnd(This,ec,pWith,aPos,plResult);
6050}
6051static FORCEINLINE HRESULT ITfRangeACP_AdjustForInsert(ITfRangeACP* This,TfEditCookie ec,ULONG cchInsert,WINBOOL *pfInsertOk) {
6052    return This->lpVtbl->AdjustForInsert(This,ec,cchInsert,pfInsertOk);
6053}
6054static FORCEINLINE HRESULT ITfRangeACP_GetGravity(ITfRangeACP* This,TfGravity *pgStart,TfGravity *pgEnd) {
6055    return This->lpVtbl->GetGravity(This,pgStart,pgEnd);
6056}
6057static FORCEINLINE HRESULT ITfRangeACP_SetGravity(ITfRangeACP* This,TfEditCookie ec,TfGravity gStart,TfGravity gEnd) {
6058    return This->lpVtbl->SetGravity(This,ec,gStart,gEnd);
6059}
6060static FORCEINLINE HRESULT ITfRangeACP_Clone(ITfRangeACP* This,ITfRange **ppClone) {
6061    return This->lpVtbl->Clone(This,ppClone);
6062}
6063static FORCEINLINE HRESULT ITfRangeACP_GetContext(ITfRangeACP* This,ITfContext **ppContext) {
6064    return This->lpVtbl->GetContext(This,ppContext);
6065}
6066/*** ITfRangeACP methods ***/
6067static FORCEINLINE HRESULT ITfRangeACP_GetExtent(ITfRangeACP* This,LONG *pacpAnchor,LONG *pcch) {
6068    return This->lpVtbl->GetExtent(This,pacpAnchor,pcch);
6069}
6070static FORCEINLINE HRESULT ITfRangeACP_SetExtent(ITfRangeACP* This,LONG acpAnchor,LONG cch) {
6071    return This->lpVtbl->SetExtent(This,acpAnchor,cch);
6072}
6073#endif
6074#endif
6075
6076#endif
6077
6078HRESULT STDMETHODCALLTYPE ITfRangeACP_GetExtent_Proxy(
6079    ITfRangeACP* This,
6080    LONG *pacpAnchor,
6081    LONG *pcch);
6082void __RPC_STUB ITfRangeACP_GetExtent_Stub(
6083    IRpcStubBuffer* This,
6084    IRpcChannelBuffer* pRpcChannelBuffer,
6085    PRPC_MESSAGE pRpcMessage,
6086    DWORD* pdwStubPhase);
6087HRESULT STDMETHODCALLTYPE ITfRangeACP_SetExtent_Proxy(
6088    ITfRangeACP* This,
6089    LONG acpAnchor,
6090    LONG cch);
6091void __RPC_STUB ITfRangeACP_SetExtent_Stub(
6092    IRpcStubBuffer* This,
6093    IRpcChannelBuffer* pRpcChannelBuffer,
6094    PRPC_MESSAGE pRpcMessage,
6095    DWORD* pdwStubPhase);
6096
6097#endif  /* __ITfRangeACP_INTERFACE_DEFINED__ */
6098
6099/*****************************************************************************
6100 * ITfInsertAtSelection interface
6101 */
6102#ifndef __ITfInsertAtSelection_INTERFACE_DEFINED__
6103#define __ITfInsertAtSelection_INTERFACE_DEFINED__
6104
6105#define TF_IAS_NOQUERY (0x1)
6106
6107#define TF_IAS_QUERYONLY (0x2)
6108
6109#define TF_IAS_NO_DEFAULT_COMPOSITION (0x80000000)
6110
6111DEFINE_GUID(IID_ITfInsertAtSelection, 0x55ce16ba, 0x3014, 0x41c1, 0x9c,0xeb, 0xfa,0xde,0x14,0x46,0xac,0x6c);
6112#if defined(__cplusplus) && !defined(CINTERFACE)
6113MIDL_INTERFACE("55ce16ba-3014-41c1-9ceb-fade1446ac6c")
6114ITfInsertAtSelection : public IUnknown
6115{
6116    virtual HRESULT STDMETHODCALLTYPE InsertTextAtSelection(
6117        TfEditCookie ec,
6118        DWORD dwFlags,
6119        const WCHAR *pchText,
6120        LONG cch,
6121        ITfRange **ppRange) = 0;
6122
6123    virtual HRESULT STDMETHODCALLTYPE InsertEmbeddedAtSelection(
6124        TfEditCookie ec,
6125        DWORD dwFlags,
6126        IDataObject *pDataObject,
6127        ITfRange **ppRange) = 0;
6128
6129};
6130#ifdef __CRT_UUID_DECL
6131__CRT_UUID_DECL(ITfInsertAtSelection, 0x55ce16ba, 0x3014, 0x41c1, 0x9c,0xeb, 0xfa,0xde,0x14,0x46,0xac,0x6c)
6132#endif
6133#else
6134typedef struct ITfInsertAtSelectionVtbl {
6135    BEGIN_INTERFACE
6136
6137    /*** IUnknown methods ***/
6138    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6139        ITfInsertAtSelection* This,
6140        REFIID riid,
6141        void **ppvObject);
6142
6143    ULONG (STDMETHODCALLTYPE *AddRef)(
6144        ITfInsertAtSelection* This);
6145
6146    ULONG (STDMETHODCALLTYPE *Release)(
6147        ITfInsertAtSelection* This);
6148
6149    /*** ITfInsertAtSelection methods ***/
6150    HRESULT (STDMETHODCALLTYPE *InsertTextAtSelection)(
6151        ITfInsertAtSelection* This,
6152        TfEditCookie ec,
6153        DWORD dwFlags,
6154        const WCHAR *pchText,
6155        LONG cch,
6156        ITfRange **ppRange);
6157
6158    HRESULT (STDMETHODCALLTYPE *InsertEmbeddedAtSelection)(
6159        ITfInsertAtSelection* This,
6160        TfEditCookie ec,
6161        DWORD dwFlags,
6162        IDataObject *pDataObject,
6163        ITfRange **ppRange);
6164
6165    END_INTERFACE
6166} ITfInsertAtSelectionVtbl;
6167interface ITfInsertAtSelection {
6168    CONST_VTBL ITfInsertAtSelectionVtbl* lpVtbl;
6169};
6170
6171#ifdef COBJMACROS
6172#ifndef WIDL_C_INLINE_WRAPPERS
6173/*** IUnknown methods ***/
6174#define ITfInsertAtSelection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6175#define ITfInsertAtSelection_AddRef(This) (This)->lpVtbl->AddRef(This)
6176#define ITfInsertAtSelection_Release(This) (This)->lpVtbl->Release(This)
6177/*** ITfInsertAtSelection methods ***/
6178#define ITfInsertAtSelection_InsertTextAtSelection(This,ec,dwFlags,pchText,cch,ppRange) (This)->lpVtbl->InsertTextAtSelection(This,ec,dwFlags,pchText,cch,ppRange)
6179#define ITfInsertAtSelection_InsertEmbeddedAtSelection(This,ec,dwFlags,pDataObject,ppRange) (This)->lpVtbl->InsertEmbeddedAtSelection(This,ec,dwFlags,pDataObject,ppRange)
6180#else
6181/*** IUnknown methods ***/
6182static FORCEINLINE HRESULT ITfInsertAtSelection_QueryInterface(ITfInsertAtSelection* This,REFIID riid,void **ppvObject) {
6183    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6184}
6185static FORCEINLINE ULONG ITfInsertAtSelection_AddRef(ITfInsertAtSelection* This) {
6186    return This->lpVtbl->AddRef(This);
6187}
6188static FORCEINLINE ULONG ITfInsertAtSelection_Release(ITfInsertAtSelection* This) {
6189    return This->lpVtbl->Release(This);
6190}
6191/*** ITfInsertAtSelection methods ***/
6192static FORCEINLINE HRESULT ITfInsertAtSelection_InsertTextAtSelection(ITfInsertAtSelection* This,TfEditCookie ec,DWORD dwFlags,const WCHAR *pchText,LONG cch,ITfRange **ppRange) {
6193    return This->lpVtbl->InsertTextAtSelection(This,ec,dwFlags,pchText,cch,ppRange);
6194}
6195static FORCEINLINE HRESULT ITfInsertAtSelection_InsertEmbeddedAtSelection(ITfInsertAtSelection* This,TfEditCookie ec,DWORD dwFlags,IDataObject *pDataObject,ITfRange **ppRange) {
6196    return This->lpVtbl->InsertEmbeddedAtSelection(This,ec,dwFlags,pDataObject,ppRange);
6197}
6198#endif
6199#endif
6200
6201#endif
6202
6203HRESULT STDMETHODCALLTYPE ITfInsertAtSelection_InsertTextAtSelection_Proxy(
6204    ITfInsertAtSelection* This,
6205    TfEditCookie ec,
6206    DWORD dwFlags,
6207    const WCHAR *pchText,
6208    LONG cch,
6209    ITfRange **ppRange);
6210void __RPC_STUB ITfInsertAtSelection_InsertTextAtSelection_Stub(
6211    IRpcStubBuffer* This,
6212    IRpcChannelBuffer* pRpcChannelBuffer,
6213    PRPC_MESSAGE pRpcMessage,
6214    DWORD* pdwStubPhase);
6215HRESULT STDMETHODCALLTYPE ITfInsertAtSelection_InsertEmbeddedAtSelection_Proxy(
6216    ITfInsertAtSelection* This,
6217    TfEditCookie ec,
6218    DWORD dwFlags,
6219    IDataObject *pDataObject,
6220    ITfRange **ppRange);
6221void __RPC_STUB ITfInsertAtSelection_InsertEmbeddedAtSelection_Stub(
6222    IRpcStubBuffer* This,
6223    IRpcChannelBuffer* pRpcChannelBuffer,
6224    PRPC_MESSAGE pRpcMessage,
6225    DWORD* pdwStubPhase);
6226
6227#endif  /* __ITfInsertAtSelection_INTERFACE_DEFINED__ */
6228
6229/*****************************************************************************
6230 * ITfPropertyStore interface
6231 */
6232#ifndef __ITfPropertyStore_INTERFACE_DEFINED__
6233#define __ITfPropertyStore_INTERFACE_DEFINED__
6234
6235#define TF_TU_CORRECTION (0x1)
6236
6237DEFINE_GUID(IID_ITfPropertyStore, 0x6834b120, 0x88cb, 0x11d2, 0xbf,0x45, 0x00,0x10,0x5a,0x27,0x99,0xb5);
6238#if defined(__cplusplus) && !defined(CINTERFACE)
6239MIDL_INTERFACE("6834b120-88cb-11d2-bf45-00105a2799b5")
6240ITfPropertyStore : public IUnknown
6241{
6242    virtual HRESULT STDMETHODCALLTYPE GetType(
6243        GUID *pguid) = 0;
6244
6245    virtual HRESULT STDMETHODCALLTYPE GetDataType(
6246        DWORD *pdwReserved) = 0;
6247
6248    virtual HRESULT STDMETHODCALLTYPE GetData(
6249        VARIANT *pvarValue) = 0;
6250
6251    virtual HRESULT STDMETHODCALLTYPE OnTextUpdated(
6252        DWORD dwFlags,
6253        ITfRange *pRangeNew,
6254        WINBOOL *pfAccept) = 0;
6255
6256    virtual HRESULT STDMETHODCALLTYPE Shrink(
6257        ITfRange *pRangeNew,
6258        WINBOOL *pfFree) = 0;
6259
6260    virtual HRESULT STDMETHODCALLTYPE Divide(
6261        ITfRange *pRangeThis,
6262        ITfRange *pRangeNew,
6263        ITfPropertyStore **ppPropStore) = 0;
6264
6265    virtual HRESULT STDMETHODCALLTYPE Clone(
6266        ITfPropertyStore **pPropStore) = 0;
6267
6268    virtual HRESULT STDMETHODCALLTYPE GetPropertyRangeCreator(
6269        CLSID *pclsid) = 0;
6270
6271    virtual HRESULT STDMETHODCALLTYPE Serialize(
6272        IStream *pStream,
6273        ULONG *pcb) = 0;
6274
6275};
6276#ifdef __CRT_UUID_DECL
6277__CRT_UUID_DECL(ITfPropertyStore, 0x6834b120, 0x88cb, 0x11d2, 0xbf,0x45, 0x00,0x10,0x5a,0x27,0x99,0xb5)
6278#endif
6279#else
6280typedef struct ITfPropertyStoreVtbl {
6281    BEGIN_INTERFACE
6282
6283    /*** IUnknown methods ***/
6284    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6285        ITfPropertyStore* This,
6286        REFIID riid,
6287        void **ppvObject);
6288
6289    ULONG (STDMETHODCALLTYPE *AddRef)(
6290        ITfPropertyStore* This);
6291
6292    ULONG (STDMETHODCALLTYPE *Release)(
6293        ITfPropertyStore* This);
6294
6295    /*** ITfPropertyStore methods ***/
6296    HRESULT (STDMETHODCALLTYPE *GetType)(
6297        ITfPropertyStore* This,
6298        GUID *pguid);
6299
6300    HRESULT (STDMETHODCALLTYPE *GetDataType)(
6301        ITfPropertyStore* This,
6302        DWORD *pdwReserved);
6303
6304    HRESULT (STDMETHODCALLTYPE *GetData)(
6305        ITfPropertyStore* This,
6306        VARIANT *pvarValue);
6307
6308    HRESULT (STDMETHODCALLTYPE *OnTextUpdated)(
6309        ITfPropertyStore* This,
6310        DWORD dwFlags,
6311        ITfRange *pRangeNew,
6312        WINBOOL *pfAccept);
6313
6314    HRESULT (STDMETHODCALLTYPE *Shrink)(
6315        ITfPropertyStore* This,
6316        ITfRange *pRangeNew,
6317        WINBOOL *pfFree);
6318
6319    HRESULT (STDMETHODCALLTYPE *Divide)(
6320        ITfPropertyStore* This,
6321        ITfRange *pRangeThis,
6322        ITfRange *pRangeNew,
6323        ITfPropertyStore **ppPropStore);
6324
6325    HRESULT (STDMETHODCALLTYPE *Clone)(
6326        ITfPropertyStore* This,
6327        ITfPropertyStore **pPropStore);
6328
6329    HRESULT (STDMETHODCALLTYPE *GetPropertyRangeCreator)(
6330        ITfPropertyStore* This,
6331        CLSID *pclsid);
6332
6333    HRESULT (STDMETHODCALLTYPE *Serialize)(
6334        ITfPropertyStore* This,
6335        IStream *pStream,
6336        ULONG *pcb);
6337
6338    END_INTERFACE
6339} ITfPropertyStoreVtbl;
6340interface ITfPropertyStore {
6341    CONST_VTBL ITfPropertyStoreVtbl* lpVtbl;
6342};
6343
6344#ifdef COBJMACROS
6345#ifndef WIDL_C_INLINE_WRAPPERS
6346/*** IUnknown methods ***/
6347#define ITfPropertyStore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6348#define ITfPropertyStore_AddRef(This) (This)->lpVtbl->AddRef(This)
6349#define ITfPropertyStore_Release(This) (This)->lpVtbl->Release(This)
6350/*** ITfPropertyStore methods ***/
6351#define ITfPropertyStore_GetType(This,pguid) (This)->lpVtbl->GetType(This,pguid)
6352#define ITfPropertyStore_GetDataType(This,pdwReserved) (This)->lpVtbl->GetDataType(This,pdwReserved)
6353#define ITfPropertyStore_GetData(This,pvarValue) (This)->lpVtbl->GetData(This,pvarValue)
6354#define ITfPropertyStore_OnTextUpdated(This,dwFlags,pRangeNew,pfAccept) (This)->lpVtbl->OnTextUpdated(This,dwFlags,pRangeNew,pfAccept)
6355#define ITfPropertyStore_Shrink(This,pRangeNew,pfFree) (This)->lpVtbl->Shrink(This,pRangeNew,pfFree)
6356#define ITfPropertyStore_Divide(This,pRangeThis,pRangeNew,ppPropStore) (This)->lpVtbl->Divide(This,pRangeThis,pRangeNew,ppPropStore)
6357#define ITfPropertyStore_Clone(This,pPropStore) (This)->lpVtbl->Clone(This,pPropStore)
6358#define ITfPropertyStore_GetPropertyRangeCreator(This,pclsid) (This)->lpVtbl->GetPropertyRangeCreator(This,pclsid)
6359#define ITfPropertyStore_Serialize(This,pStream,pcb) (This)->lpVtbl->Serialize(This,pStream,pcb)
6360#else
6361/*** IUnknown methods ***/
6362static FORCEINLINE HRESULT ITfPropertyStore_QueryInterface(ITfPropertyStore* This,REFIID riid,void **ppvObject) {
6363    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6364}
6365static FORCEINLINE ULONG ITfPropertyStore_AddRef(ITfPropertyStore* This) {
6366    return This->lpVtbl->AddRef(This);
6367}
6368static FORCEINLINE ULONG ITfPropertyStore_Release(ITfPropertyStore* This) {
6369    return This->lpVtbl->Release(This);
6370}
6371/*** ITfPropertyStore methods ***/
6372static FORCEINLINE HRESULT ITfPropertyStore_GetType(ITfPropertyStore* This,GUID *pguid) {
6373    return This->lpVtbl->GetType(This,pguid);
6374}
6375static FORCEINLINE HRESULT ITfPropertyStore_GetDataType(ITfPropertyStore* This,DWORD *pdwReserved) {
6376    return This->lpVtbl->GetDataType(This,pdwReserved);
6377}
6378static FORCEINLINE HRESULT ITfPropertyStore_GetData(ITfPropertyStore* This,VARIANT *pvarValue) {
6379    return This->lpVtbl->GetData(This,pvarValue);
6380}
6381static FORCEINLINE HRESULT ITfPropertyStore_OnTextUpdated(ITfPropertyStore* This,DWORD dwFlags,ITfRange *pRangeNew,WINBOOL *pfAccept) {
6382    return This->lpVtbl->OnTextUpdated(This,dwFlags,pRangeNew,pfAccept);
6383}
6384static FORCEINLINE HRESULT ITfPropertyStore_Shrink(ITfPropertyStore* This,ITfRange *pRangeNew,WINBOOL *pfFree) {
6385    return This->lpVtbl->Shrink(This,pRangeNew,pfFree);
6386}
6387static FORCEINLINE HRESULT ITfPropertyStore_Divide(ITfPropertyStore* This,ITfRange *pRangeThis,ITfRange *pRangeNew,ITfPropertyStore **ppPropStore) {
6388    return This->lpVtbl->Divide(This,pRangeThis,pRangeNew,ppPropStore);
6389}
6390static FORCEINLINE HRESULT ITfPropertyStore_Clone(ITfPropertyStore* This,ITfPropertyStore **pPropStore) {
6391    return This->lpVtbl->Clone(This,pPropStore);
6392}
6393static FORCEINLINE HRESULT ITfPropertyStore_GetPropertyRangeCreator(ITfPropertyStore* This,CLSID *pclsid) {
6394    return This->lpVtbl->GetPropertyRangeCreator(This,pclsid);
6395}
6396static FORCEINLINE HRESULT ITfPropertyStore_Serialize(ITfPropertyStore* This,IStream *pStream,ULONG *pcb) {
6397    return This->lpVtbl->Serialize(This,pStream,pcb);
6398}
6399#endif
6400#endif
6401
6402#endif
6403
6404HRESULT STDMETHODCALLTYPE ITfPropertyStore_GetType_Proxy(
6405    ITfPropertyStore* This,
6406    GUID *pguid);
6407void __RPC_STUB ITfPropertyStore_GetType_Stub(
6408    IRpcStubBuffer* This,
6409    IRpcChannelBuffer* pRpcChannelBuffer,
6410    PRPC_MESSAGE pRpcMessage,
6411    DWORD* pdwStubPhase);
6412HRESULT STDMETHODCALLTYPE ITfPropertyStore_GetDataType_Proxy(
6413    ITfPropertyStore* This,
6414    DWORD *pdwReserved);
6415void __RPC_STUB ITfPropertyStore_GetDataType_Stub(
6416    IRpcStubBuffer* This,
6417    IRpcChannelBuffer* pRpcChannelBuffer,
6418    PRPC_MESSAGE pRpcMessage,
6419    DWORD* pdwStubPhase);
6420HRESULT STDMETHODCALLTYPE ITfPropertyStore_GetData_Proxy(
6421    ITfPropertyStore* This,
6422    VARIANT *pvarValue);
6423void __RPC_STUB ITfPropertyStore_GetData_Stub(
6424    IRpcStubBuffer* This,
6425    IRpcChannelBuffer* pRpcChannelBuffer,
6426    PRPC_MESSAGE pRpcMessage,
6427    DWORD* pdwStubPhase);
6428HRESULT STDMETHODCALLTYPE ITfPropertyStore_OnTextUpdated_Proxy(
6429    ITfPropertyStore* This,
6430    DWORD dwFlags,
6431    ITfRange *pRangeNew,
6432    WINBOOL *pfAccept);
6433void __RPC_STUB ITfPropertyStore_OnTextUpdated_Stub(
6434    IRpcStubBuffer* This,
6435    IRpcChannelBuffer* pRpcChannelBuffer,
6436    PRPC_MESSAGE pRpcMessage,
6437    DWORD* pdwStubPhase);
6438HRESULT STDMETHODCALLTYPE ITfPropertyStore_Shrink_Proxy(
6439    ITfPropertyStore* This,
6440    ITfRange *pRangeNew,
6441    WINBOOL *pfFree);
6442void __RPC_STUB ITfPropertyStore_Shrink_Stub(
6443    IRpcStubBuffer* This,
6444    IRpcChannelBuffer* pRpcChannelBuffer,
6445    PRPC_MESSAGE pRpcMessage,
6446    DWORD* pdwStubPhase);
6447HRESULT STDMETHODCALLTYPE ITfPropertyStore_Divide_Proxy(
6448    ITfPropertyStore* This,
6449    ITfRange *pRangeThis,
6450    ITfRange *pRangeNew,
6451    ITfPropertyStore **ppPropStore);
6452void __RPC_STUB ITfPropertyStore_Divide_Stub(
6453    IRpcStubBuffer* This,
6454    IRpcChannelBuffer* pRpcChannelBuffer,
6455    PRPC_MESSAGE pRpcMessage,
6456    DWORD* pdwStubPhase);
6457HRESULT STDMETHODCALLTYPE ITfPropertyStore_Clone_Proxy(
6458    ITfPropertyStore* This,
6459    ITfPropertyStore **pPropStore);
6460void __RPC_STUB ITfPropertyStore_Clone_Stub(
6461    IRpcStubBuffer* This,
6462    IRpcChannelBuffer* pRpcChannelBuffer,
6463    PRPC_MESSAGE pRpcMessage,
6464    DWORD* pdwStubPhase);
6465HRESULT STDMETHODCALLTYPE ITfPropertyStore_GetPropertyRangeCreator_Proxy(
6466    ITfPropertyStore* This,
6467    CLSID *pclsid);
6468void __RPC_STUB ITfPropertyStore_GetPropertyRangeCreator_Stub(
6469    IRpcStubBuffer* This,
6470    IRpcChannelBuffer* pRpcChannelBuffer,
6471    PRPC_MESSAGE pRpcMessage,
6472    DWORD* pdwStubPhase);
6473HRESULT STDMETHODCALLTYPE ITfPropertyStore_Serialize_Proxy(
6474    ITfPropertyStore* This,
6475    IStream *pStream,
6476    ULONG *pcb);
6477void __RPC_STUB ITfPropertyStore_Serialize_Stub(
6478    IRpcStubBuffer* This,
6479    IRpcChannelBuffer* pRpcChannelBuffer,
6480    PRPC_MESSAGE pRpcMessage,
6481    DWORD* pdwStubPhase);
6482
6483#endif  /* __ITfPropertyStore_INTERFACE_DEFINED__ */
6484
6485/*****************************************************************************
6486 * IEnumTfRanges interface
6487 */
6488#ifndef __IEnumTfRanges_INTERFACE_DEFINED__
6489#define __IEnumTfRanges_INTERFACE_DEFINED__
6490
6491DEFINE_GUID(IID_IEnumTfRanges, 0xf99d3f40, 0x8e32, 0x11d2, 0xbf,0x46, 0x00,0x10,0x5a,0x27,0x99,0xb5);
6492#if defined(__cplusplus) && !defined(CINTERFACE)
6493MIDL_INTERFACE("f99d3f40-8e32-11d2-bf46-00105a2799b5")
6494IEnumTfRanges : public IUnknown
6495{
6496    virtual HRESULT STDMETHODCALLTYPE Clone(
6497        IEnumTfRanges **ppEnum) = 0;
6498
6499    virtual HRESULT STDMETHODCALLTYPE Next(
6500        ULONG ulCount,
6501        ITfRange **ppRange,
6502        ULONG *pcFetched) = 0;
6503
6504    virtual HRESULT STDMETHODCALLTYPE Reset(
6505        ) = 0;
6506
6507    virtual HRESULT STDMETHODCALLTYPE Skip(
6508        ULONG ulCount) = 0;
6509
6510};
6511#ifdef __CRT_UUID_DECL
6512__CRT_UUID_DECL(IEnumTfRanges, 0xf99d3f40, 0x8e32, 0x11d2, 0xbf,0x46, 0x00,0x10,0x5a,0x27,0x99,0xb5)
6513#endif
6514#else
6515typedef struct IEnumTfRangesVtbl {
6516    BEGIN_INTERFACE
6517
6518    /*** IUnknown methods ***/
6519    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6520        IEnumTfRanges* This,
6521        REFIID riid,
6522        void **ppvObject);
6523
6524    ULONG (STDMETHODCALLTYPE *AddRef)(
6525        IEnumTfRanges* This);
6526
6527    ULONG (STDMETHODCALLTYPE *Release)(
6528        IEnumTfRanges* This);
6529
6530    /*** IEnumTfRanges methods ***/
6531    HRESULT (STDMETHODCALLTYPE *Clone)(
6532        IEnumTfRanges* This,
6533        IEnumTfRanges **ppEnum);
6534
6535    HRESULT (STDMETHODCALLTYPE *Next)(
6536        IEnumTfRanges* This,
6537        ULONG ulCount,
6538        ITfRange **ppRange,
6539        ULONG *pcFetched);
6540
6541    HRESULT (STDMETHODCALLTYPE *Reset)(
6542        IEnumTfRanges* This);
6543
6544    HRESULT (STDMETHODCALLTYPE *Skip)(
6545        IEnumTfRanges* This,
6546        ULONG ulCount);
6547
6548    END_INTERFACE
6549} IEnumTfRangesVtbl;
6550interface IEnumTfRanges {
6551    CONST_VTBL IEnumTfRangesVtbl* lpVtbl;
6552};
6553
6554#ifdef COBJMACROS
6555#ifndef WIDL_C_INLINE_WRAPPERS
6556/*** IUnknown methods ***/
6557#define IEnumTfRanges_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6558#define IEnumTfRanges_AddRef(This) (This)->lpVtbl->AddRef(This)
6559#define IEnumTfRanges_Release(This) (This)->lpVtbl->Release(This)
6560/*** IEnumTfRanges methods ***/
6561#define IEnumTfRanges_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
6562#define IEnumTfRanges_Next(This,ulCount,ppRange,pcFetched) (This)->lpVtbl->Next(This,ulCount,ppRange,pcFetched)
6563#define IEnumTfRanges_Reset(This) (This)->lpVtbl->Reset(This)
6564#define IEnumTfRanges_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
6565#else
6566/*** IUnknown methods ***/
6567static FORCEINLINE HRESULT IEnumTfRanges_QueryInterface(IEnumTfRanges* This,REFIID riid,void **ppvObject) {
6568    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6569}
6570static FORCEINLINE ULONG IEnumTfRanges_AddRef(IEnumTfRanges* This) {
6571    return This->lpVtbl->AddRef(This);
6572}
6573static FORCEINLINE ULONG IEnumTfRanges_Release(IEnumTfRanges* This) {
6574    return This->lpVtbl->Release(This);
6575}
6576/*** IEnumTfRanges methods ***/
6577static FORCEINLINE HRESULT IEnumTfRanges_Clone(IEnumTfRanges* This,IEnumTfRanges **ppEnum) {
6578    return This->lpVtbl->Clone(This,ppEnum);
6579}
6580static FORCEINLINE HRESULT IEnumTfRanges_Next(IEnumTfRanges* This,ULONG ulCount,ITfRange **ppRange,ULONG *pcFetched) {
6581    return This->lpVtbl->Next(This,ulCount,ppRange,pcFetched);
6582}
6583static FORCEINLINE HRESULT IEnumTfRanges_Reset(IEnumTfRanges* This) {
6584    return This->lpVtbl->Reset(This);
6585}
6586static FORCEINLINE HRESULT IEnumTfRanges_Skip(IEnumTfRanges* This,ULONG ulCount) {
6587    return This->lpVtbl->Skip(This,ulCount);
6588}
6589#endif
6590#endif
6591
6592#endif
6593
6594HRESULT STDMETHODCALLTYPE IEnumTfRanges_Clone_Proxy(
6595    IEnumTfRanges* This,
6596    IEnumTfRanges **ppEnum);
6597void __RPC_STUB IEnumTfRanges_Clone_Stub(
6598    IRpcStubBuffer* This,
6599    IRpcChannelBuffer* pRpcChannelBuffer,
6600    PRPC_MESSAGE pRpcMessage,
6601    DWORD* pdwStubPhase);
6602HRESULT STDMETHODCALLTYPE IEnumTfRanges_Next_Proxy(
6603    IEnumTfRanges* This,
6604    ULONG ulCount,
6605    ITfRange **ppRange,
6606    ULONG *pcFetched);
6607void __RPC_STUB IEnumTfRanges_Next_Stub(
6608    IRpcStubBuffer* This,
6609    IRpcChannelBuffer* pRpcChannelBuffer,
6610    PRPC_MESSAGE pRpcMessage,
6611    DWORD* pdwStubPhase);
6612HRESULT STDMETHODCALLTYPE IEnumTfRanges_Reset_Proxy(
6613    IEnumTfRanges* This);
6614void __RPC_STUB IEnumTfRanges_Reset_Stub(
6615    IRpcStubBuffer* This,
6616    IRpcChannelBuffer* pRpcChannelBuffer,
6617    PRPC_MESSAGE pRpcMessage,
6618    DWORD* pdwStubPhase);
6619HRESULT STDMETHODCALLTYPE IEnumTfRanges_Skip_Proxy(
6620    IEnumTfRanges* This,
6621    ULONG ulCount);
6622void __RPC_STUB IEnumTfRanges_Skip_Stub(
6623    IRpcStubBuffer* This,
6624    IRpcChannelBuffer* pRpcChannelBuffer,
6625    PRPC_MESSAGE pRpcMessage,
6626    DWORD* pdwStubPhase);
6627
6628#endif  /* __IEnumTfRanges_INTERFACE_DEFINED__ */
6629
6630/*****************************************************************************
6631 * IEnumITfCompositionView interface
6632 */
6633#ifndef __IEnumITfCompositionView_INTERFACE_DEFINED__
6634#define __IEnumITfCompositionView_INTERFACE_DEFINED__
6635
6636DEFINE_GUID(IID_IEnumITfCompositionView, 0x5efd22ba, 0x7838, 0x46cb, 0x88,0xe2, 0xca,0xdb,0x14,0x12,0x4f,0x8f);
6637#if defined(__cplusplus) && !defined(CINTERFACE)
6638MIDL_INTERFACE("5efd22ba-7838-46cb-88e2-cadb14124f8f")
6639IEnumITfCompositionView : public IUnknown
6640{
6641    virtual HRESULT STDMETHODCALLTYPE Clone(
6642        IEnumITfCompositionView **ppEnum) = 0;
6643
6644    virtual HRESULT STDMETHODCALLTYPE Next(
6645        ULONG ulCount,
6646        ITfCompositionView **rgCompositionView,
6647        ULONG *pcFetched) = 0;
6648
6649    virtual HRESULT STDMETHODCALLTYPE Reset(
6650        ) = 0;
6651
6652    virtual HRESULT STDMETHODCALLTYPE Skip(
6653        ULONG ulCount) = 0;
6654
6655};
6656#ifdef __CRT_UUID_DECL
6657__CRT_UUID_DECL(IEnumITfCompositionView, 0x5efd22ba, 0x7838, 0x46cb, 0x88,0xe2, 0xca,0xdb,0x14,0x12,0x4f,0x8f)
6658#endif
6659#else
6660typedef struct IEnumITfCompositionViewVtbl {
6661    BEGIN_INTERFACE
6662
6663    /*** IUnknown methods ***/
6664    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6665        IEnumITfCompositionView* This,
6666        REFIID riid,
6667        void **ppvObject);
6668
6669    ULONG (STDMETHODCALLTYPE *AddRef)(
6670        IEnumITfCompositionView* This);
6671
6672    ULONG (STDMETHODCALLTYPE *Release)(
6673        IEnumITfCompositionView* This);
6674
6675    /*** IEnumITfCompositionView methods ***/
6676    HRESULT (STDMETHODCALLTYPE *Clone)(
6677        IEnumITfCompositionView* This,
6678        IEnumITfCompositionView **ppEnum);
6679
6680    HRESULT (STDMETHODCALLTYPE *Next)(
6681        IEnumITfCompositionView* This,
6682        ULONG ulCount,
6683        ITfCompositionView **rgCompositionView,
6684        ULONG *pcFetched);
6685
6686    HRESULT (STDMETHODCALLTYPE *Reset)(
6687        IEnumITfCompositionView* This);
6688
6689    HRESULT (STDMETHODCALLTYPE *Skip)(
6690        IEnumITfCompositionView* This,
6691        ULONG ulCount);
6692
6693    END_INTERFACE
6694} IEnumITfCompositionViewVtbl;
6695interface IEnumITfCompositionView {
6696    CONST_VTBL IEnumITfCompositionViewVtbl* lpVtbl;
6697};
6698
6699#ifdef COBJMACROS
6700#ifndef WIDL_C_INLINE_WRAPPERS
6701/*** IUnknown methods ***/
6702#define IEnumITfCompositionView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6703#define IEnumITfCompositionView_AddRef(This) (This)->lpVtbl->AddRef(This)
6704#define IEnumITfCompositionView_Release(This) (This)->lpVtbl->Release(This)
6705/*** IEnumITfCompositionView methods ***/
6706#define IEnumITfCompositionView_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
6707#define IEnumITfCompositionView_Next(This,ulCount,rgCompositionView,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgCompositionView,pcFetched)
6708#define IEnumITfCompositionView_Reset(This) (This)->lpVtbl->Reset(This)
6709#define IEnumITfCompositionView_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
6710#else
6711/*** IUnknown methods ***/
6712static FORCEINLINE HRESULT IEnumITfCompositionView_QueryInterface(IEnumITfCompositionView* This,REFIID riid,void **ppvObject) {
6713    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6714}
6715static FORCEINLINE ULONG IEnumITfCompositionView_AddRef(IEnumITfCompositionView* This) {
6716    return This->lpVtbl->AddRef(This);
6717}
6718static FORCEINLINE ULONG IEnumITfCompositionView_Release(IEnumITfCompositionView* This) {
6719    return This->lpVtbl->Release(This);
6720}
6721/*** IEnumITfCompositionView methods ***/
6722static FORCEINLINE HRESULT IEnumITfCompositionView_Clone(IEnumITfCompositionView* This,IEnumITfCompositionView **ppEnum) {
6723    return This->lpVtbl->Clone(This,ppEnum);
6724}
6725static FORCEINLINE HRESULT IEnumITfCompositionView_Next(IEnumITfCompositionView* This,ULONG ulCount,ITfCompositionView **rgCompositionView,ULONG *pcFetched) {
6726    return This->lpVtbl->Next(This,ulCount,rgCompositionView,pcFetched);
6727}
6728static FORCEINLINE HRESULT IEnumITfCompositionView_Reset(IEnumITfCompositionView* This) {
6729    return This->lpVtbl->Reset(This);
6730}
6731static FORCEINLINE HRESULT IEnumITfCompositionView_Skip(IEnumITfCompositionView* This,ULONG ulCount) {
6732    return This->lpVtbl->Skip(This,ulCount);
6733}
6734#endif
6735#endif
6736
6737#endif
6738
6739HRESULT STDMETHODCALLTYPE IEnumITfCompositionView_Clone_Proxy(
6740    IEnumITfCompositionView* This,
6741    IEnumITfCompositionView **ppEnum);
6742void __RPC_STUB IEnumITfCompositionView_Clone_Stub(
6743    IRpcStubBuffer* This,
6744    IRpcChannelBuffer* pRpcChannelBuffer,
6745    PRPC_MESSAGE pRpcMessage,
6746    DWORD* pdwStubPhase);
6747HRESULT STDMETHODCALLTYPE IEnumITfCompositionView_Next_Proxy(
6748    IEnumITfCompositionView* This,
6749    ULONG ulCount,
6750    ITfCompositionView **rgCompositionView,
6751    ULONG *pcFetched);
6752void __RPC_STUB IEnumITfCompositionView_Next_Stub(
6753    IRpcStubBuffer* This,
6754    IRpcChannelBuffer* pRpcChannelBuffer,
6755    PRPC_MESSAGE pRpcMessage,
6756    DWORD* pdwStubPhase);
6757HRESULT STDMETHODCALLTYPE IEnumITfCompositionView_Reset_Proxy(
6758    IEnumITfCompositionView* This);
6759void __RPC_STUB IEnumITfCompositionView_Reset_Stub(
6760    IRpcStubBuffer* This,
6761    IRpcChannelBuffer* pRpcChannelBuffer,
6762    PRPC_MESSAGE pRpcMessage,
6763    DWORD* pdwStubPhase);
6764HRESULT STDMETHODCALLTYPE IEnumITfCompositionView_Skip_Proxy(
6765    IEnumITfCompositionView* This,
6766    ULONG ulCount);
6767void __RPC_STUB IEnumITfCompositionView_Skip_Stub(
6768    IRpcStubBuffer* This,
6769    IRpcChannelBuffer* pRpcChannelBuffer,
6770    PRPC_MESSAGE pRpcMessage,
6771    DWORD* pdwStubPhase);
6772
6773#endif  /* __IEnumITfCompositionView_INTERFACE_DEFINED__ */
6774
6775/*****************************************************************************
6776 * ITfComposition interface
6777 */
6778#ifndef __ITfComposition_INTERFACE_DEFINED__
6779#define __ITfComposition_INTERFACE_DEFINED__
6780
6781DEFINE_GUID(IID_ITfComposition, 0x20168d64, 0x5a8f, 0x4a5a, 0xb7,0xbd, 0xcf,0xa2,0x9f,0x4d,0x0f,0xd9);
6782#if defined(__cplusplus) && !defined(CINTERFACE)
6783MIDL_INTERFACE("20168d64-5a8f-4a5a-b7bd-cfa29f4d0fd9")
6784ITfComposition : public IUnknown
6785{
6786    virtual HRESULT STDMETHODCALLTYPE GetRange(
6787        ITfRange **ppRange) = 0;
6788
6789    virtual HRESULT STDMETHODCALLTYPE ShiftStart(
6790        TfEditCookie ecWrite,
6791        ITfRange *pNewStart) = 0;
6792
6793    virtual HRESULT STDMETHODCALLTYPE ShiftEnd(
6794        TfEditCookie ecWrite,
6795        ITfRange *pNewEnd) = 0;
6796
6797    virtual HRESULT STDMETHODCALLTYPE EndComposition(
6798        TfEditCookie ecWrite) = 0;
6799
6800};
6801#ifdef __CRT_UUID_DECL
6802__CRT_UUID_DECL(ITfComposition, 0x20168d64, 0x5a8f, 0x4a5a, 0xb7,0xbd, 0xcf,0xa2,0x9f,0x4d,0x0f,0xd9)
6803#endif
6804#else
6805typedef struct ITfCompositionVtbl {
6806    BEGIN_INTERFACE
6807
6808    /*** IUnknown methods ***/
6809    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6810        ITfComposition* This,
6811        REFIID riid,
6812        void **ppvObject);
6813
6814    ULONG (STDMETHODCALLTYPE *AddRef)(
6815        ITfComposition* This);
6816
6817    ULONG (STDMETHODCALLTYPE *Release)(
6818        ITfComposition* This);
6819
6820    /*** ITfComposition methods ***/
6821    HRESULT (STDMETHODCALLTYPE *GetRange)(
6822        ITfComposition* This,
6823        ITfRange **ppRange);
6824
6825    HRESULT (STDMETHODCALLTYPE *ShiftStart)(
6826        ITfComposition* This,
6827        TfEditCookie ecWrite,
6828        ITfRange *pNewStart);
6829
6830    HRESULT (STDMETHODCALLTYPE *ShiftEnd)(
6831        ITfComposition* This,
6832        TfEditCookie ecWrite,
6833        ITfRange *pNewEnd);
6834
6835    HRESULT (STDMETHODCALLTYPE *EndComposition)(
6836        ITfComposition* This,
6837        TfEditCookie ecWrite);
6838
6839    END_INTERFACE
6840} ITfCompositionVtbl;
6841interface ITfComposition {
6842    CONST_VTBL ITfCompositionVtbl* lpVtbl;
6843};
6844
6845#ifdef COBJMACROS
6846#ifndef WIDL_C_INLINE_WRAPPERS
6847/*** IUnknown methods ***/
6848#define ITfComposition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6849#define ITfComposition_AddRef(This) (This)->lpVtbl->AddRef(This)
6850#define ITfComposition_Release(This) (This)->lpVtbl->Release(This)
6851/*** ITfComposition methods ***/
6852#define ITfComposition_GetRange(This,ppRange) (This)->lpVtbl->GetRange(This,ppRange)
6853#define ITfComposition_ShiftStart(This,ecWrite,pNewStart) (This)->lpVtbl->ShiftStart(This,ecWrite,pNewStart)
6854#define ITfComposition_ShiftEnd(This,ecWrite,pNewEnd) (This)->lpVtbl->ShiftEnd(This,ecWrite,pNewEnd)
6855#define ITfComposition_EndComposition(This,ecWrite) (This)->lpVtbl->EndComposition(This,ecWrite)
6856#else
6857/*** IUnknown methods ***/
6858static FORCEINLINE HRESULT ITfComposition_QueryInterface(ITfComposition* This,REFIID riid,void **ppvObject) {
6859    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6860}
6861static FORCEINLINE ULONG ITfComposition_AddRef(ITfComposition* This) {
6862    return This->lpVtbl->AddRef(This);
6863}
6864static FORCEINLINE ULONG ITfComposition_Release(ITfComposition* This) {
6865    return This->lpVtbl->Release(This);
6866}
6867/*** ITfComposition methods ***/
6868static FORCEINLINE HRESULT ITfComposition_GetRange(ITfComposition* This,ITfRange **ppRange) {
6869    return This->lpVtbl->GetRange(This,ppRange);
6870}
6871static FORCEINLINE HRESULT ITfComposition_ShiftStart(ITfComposition* This,TfEditCookie ecWrite,ITfRange *pNewStart) {
6872    return This->lpVtbl->ShiftStart(This,ecWrite,pNewStart);
6873}
6874static FORCEINLINE HRESULT ITfComposition_ShiftEnd(ITfComposition* This,TfEditCookie ecWrite,ITfRange *pNewEnd) {
6875    return This->lpVtbl->ShiftEnd(This,ecWrite,pNewEnd);
6876}
6877static FORCEINLINE HRESULT ITfComposition_EndComposition(ITfComposition* This,TfEditCookie ecWrite) {
6878    return This->lpVtbl->EndComposition(This,ecWrite);
6879}
6880#endif
6881#endif
6882
6883#endif
6884
6885HRESULT STDMETHODCALLTYPE ITfComposition_GetRange_Proxy(
6886    ITfComposition* This,
6887    ITfRange **ppRange);
6888void __RPC_STUB ITfComposition_GetRange_Stub(
6889    IRpcStubBuffer* This,
6890    IRpcChannelBuffer* pRpcChannelBuffer,
6891    PRPC_MESSAGE pRpcMessage,
6892    DWORD* pdwStubPhase);
6893HRESULT STDMETHODCALLTYPE ITfComposition_ShiftStart_Proxy(
6894    ITfComposition* This,
6895    TfEditCookie ecWrite,
6896    ITfRange *pNewStart);
6897void __RPC_STUB ITfComposition_ShiftStart_Stub(
6898    IRpcStubBuffer* This,
6899    IRpcChannelBuffer* pRpcChannelBuffer,
6900    PRPC_MESSAGE pRpcMessage,
6901    DWORD* pdwStubPhase);
6902HRESULT STDMETHODCALLTYPE ITfComposition_ShiftEnd_Proxy(
6903    ITfComposition* This,
6904    TfEditCookie ecWrite,
6905    ITfRange *pNewEnd);
6906void __RPC_STUB ITfComposition_ShiftEnd_Stub(
6907    IRpcStubBuffer* This,
6908    IRpcChannelBuffer* pRpcChannelBuffer,
6909    PRPC_MESSAGE pRpcMessage,
6910    DWORD* pdwStubPhase);
6911HRESULT STDMETHODCALLTYPE ITfComposition_EndComposition_Proxy(
6912    ITfComposition* This,
6913    TfEditCookie ecWrite);
6914void __RPC_STUB ITfComposition_EndComposition_Stub(
6915    IRpcStubBuffer* This,
6916    IRpcChannelBuffer* pRpcChannelBuffer,
6917    PRPC_MESSAGE pRpcMessage,
6918    DWORD* pdwStubPhase);
6919
6920#endif  /* __ITfComposition_INTERFACE_DEFINED__ */
6921
6922/*****************************************************************************
6923 * ITfCompositionSink interface
6924 */
6925#ifndef __ITfCompositionSink_INTERFACE_DEFINED__
6926#define __ITfCompositionSink_INTERFACE_DEFINED__
6927
6928DEFINE_GUID(IID_ITfCompositionSink, 0xa781718c, 0x579a, 0x4b15, 0xa2,0x80, 0x32,0xb8,0x57,0x7a,0xcc,0x5e);
6929#if defined(__cplusplus) && !defined(CINTERFACE)
6930MIDL_INTERFACE("a781718c-579a-4b15-a280-32b8577acc5e")
6931ITfCompositionSink : public IUnknown
6932{
6933    virtual HRESULT STDMETHODCALLTYPE OnCompositionTerminated(
6934        TfEditCookie ecWrite,
6935        ITfComposition *pComposition) = 0;
6936
6937};
6938#ifdef __CRT_UUID_DECL
6939__CRT_UUID_DECL(ITfCompositionSink, 0xa781718c, 0x579a, 0x4b15, 0xa2,0x80, 0x32,0xb8,0x57,0x7a,0xcc,0x5e)
6940#endif
6941#else
6942typedef struct ITfCompositionSinkVtbl {
6943    BEGIN_INTERFACE
6944
6945    /*** IUnknown methods ***/
6946    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6947        ITfCompositionSink* This,
6948        REFIID riid,
6949        void **ppvObject);
6950
6951    ULONG (STDMETHODCALLTYPE *AddRef)(
6952        ITfCompositionSink* This);
6953
6954    ULONG (STDMETHODCALLTYPE *Release)(
6955        ITfCompositionSink* This);
6956
6957    /*** ITfCompositionSink methods ***/
6958    HRESULT (STDMETHODCALLTYPE *OnCompositionTerminated)(
6959        ITfCompositionSink* This,
6960        TfEditCookie ecWrite,
6961        ITfComposition *pComposition);
6962
6963    END_INTERFACE
6964} ITfCompositionSinkVtbl;
6965interface ITfCompositionSink {
6966    CONST_VTBL ITfCompositionSinkVtbl* lpVtbl;
6967};
6968
6969#ifdef COBJMACROS
6970#ifndef WIDL_C_INLINE_WRAPPERS
6971/*** IUnknown methods ***/
6972#define ITfCompositionSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6973#define ITfCompositionSink_AddRef(This) (This)->lpVtbl->AddRef(This)
6974#define ITfCompositionSink_Release(This) (This)->lpVtbl->Release(This)
6975/*** ITfCompositionSink methods ***/
6976#define ITfCompositionSink_OnCompositionTerminated(This,ecWrite,pComposition) (This)->lpVtbl->OnCompositionTerminated(This,ecWrite,pComposition)
6977#else
6978/*** IUnknown methods ***/
6979static FORCEINLINE HRESULT ITfCompositionSink_QueryInterface(ITfCompositionSink* This,REFIID riid,void **ppvObject) {
6980    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6981}
6982static FORCEINLINE ULONG ITfCompositionSink_AddRef(ITfCompositionSink* This) {
6983    return This->lpVtbl->AddRef(This);
6984}
6985static FORCEINLINE ULONG ITfCompositionSink_Release(ITfCompositionSink* This) {
6986    return This->lpVtbl->Release(This);
6987}
6988/*** ITfCompositionSink methods ***/
6989static FORCEINLINE HRESULT ITfCompositionSink_OnCompositionTerminated(ITfCompositionSink* This,TfEditCookie ecWrite,ITfComposition *pComposition) {
6990    return This->lpVtbl->OnCompositionTerminated(This,ecWrite,pComposition);
6991}
6992#endif
6993#endif
6994
6995#endif
6996
6997HRESULT STDMETHODCALLTYPE ITfCompositionSink_OnCompositionTerminated_Proxy(
6998    ITfCompositionSink* This,
6999    TfEditCookie ecWrite,
7000    ITfComposition *pComposition);
7001void __RPC_STUB ITfCompositionSink_OnCompositionTerminated_Stub(
7002    IRpcStubBuffer* This,
7003    IRpcChannelBuffer* pRpcChannelBuffer,
7004    PRPC_MESSAGE pRpcMessage,
7005    DWORD* pdwStubPhase);
7006
7007#endif  /* __ITfCompositionSink_INTERFACE_DEFINED__ */
7008
7009/*****************************************************************************
7010 * ITfContextComposition interface
7011 */
7012#ifndef __ITfContextComposition_INTERFACE_DEFINED__
7013#define __ITfContextComposition_INTERFACE_DEFINED__
7014
7015DEFINE_GUID(IID_ITfContextComposition, 0xd40c8aae, 0xac92, 0x4fc7, 0x9a,0x11, 0x0e,0xe0,0xe2,0x3a,0xa3,0x9b);
7016#if defined(__cplusplus) && !defined(CINTERFACE)
7017MIDL_INTERFACE("d40c8aae-ac92-4fc7-9a11-0ee0e23aa39b")
7018ITfContextComposition : public IUnknown
7019{
7020    virtual HRESULT STDMETHODCALLTYPE StartComposition(
7021        TfEditCookie ecWrite,
7022        ITfRange *pCompositionRange,
7023        ITfCompositionSink *pSink,
7024        ITfComposition **ppComposition) = 0;
7025
7026    virtual HRESULT STDMETHODCALLTYPE EnumCompositions(
7027        IEnumITfCompositionView **ppEnum) = 0;
7028
7029    virtual HRESULT STDMETHODCALLTYPE FindComposition(
7030        TfEditCookie ecRead,
7031        ITfRange *pTestRange,
7032        IEnumITfCompositionView **ppEnum) = 0;
7033
7034    virtual HRESULT STDMETHODCALLTYPE TakeOwnership(
7035        TfEditCookie ecWrite,
7036        ITfCompositionView *pComposition,
7037        ITfCompositionSink *pSink,
7038        ITfComposition **ppComposition) = 0;
7039
7040};
7041#ifdef __CRT_UUID_DECL
7042__CRT_UUID_DECL(ITfContextComposition, 0xd40c8aae, 0xac92, 0x4fc7, 0x9a,0x11, 0x0e,0xe0,0xe2,0x3a,0xa3,0x9b)
7043#endif
7044#else
7045typedef struct ITfContextCompositionVtbl {
7046    BEGIN_INTERFACE
7047
7048    /*** IUnknown methods ***/
7049    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7050        ITfContextComposition* This,
7051        REFIID riid,
7052        void **ppvObject);
7053
7054    ULONG (STDMETHODCALLTYPE *AddRef)(
7055        ITfContextComposition* This);
7056
7057    ULONG (STDMETHODCALLTYPE *Release)(
7058        ITfContextComposition* This);
7059
7060    /*** ITfContextComposition methods ***/
7061    HRESULT (STDMETHODCALLTYPE *StartComposition)(
7062        ITfContextComposition* This,
7063        TfEditCookie ecWrite,
7064        ITfRange *pCompositionRange,
7065        ITfCompositionSink *pSink,
7066        ITfComposition **ppComposition);
7067
7068    HRESULT (STDMETHODCALLTYPE *EnumCompositions)(
7069        ITfContextComposition* This,
7070        IEnumITfCompositionView **ppEnum);
7071
7072    HRESULT (STDMETHODCALLTYPE *FindComposition)(
7073        ITfContextComposition* This,
7074        TfEditCookie ecRead,
7075        ITfRange *pTestRange,
7076        IEnumITfCompositionView **ppEnum);
7077
7078    HRESULT (STDMETHODCALLTYPE *TakeOwnership)(
7079        ITfContextComposition* This,
7080        TfEditCookie ecWrite,
7081        ITfCompositionView *pComposition,
7082        ITfCompositionSink *pSink,
7083        ITfComposition **ppComposition);
7084
7085    END_INTERFACE
7086} ITfContextCompositionVtbl;
7087interface ITfContextComposition {
7088    CONST_VTBL ITfContextCompositionVtbl* lpVtbl;
7089};
7090
7091#ifdef COBJMACROS
7092#ifndef WIDL_C_INLINE_WRAPPERS
7093/*** IUnknown methods ***/
7094#define ITfContextComposition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7095#define ITfContextComposition_AddRef(This) (This)->lpVtbl->AddRef(This)
7096#define ITfContextComposition_Release(This) (This)->lpVtbl->Release(This)
7097/*** ITfContextComposition methods ***/
7098#define ITfContextComposition_StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition) (This)->lpVtbl->StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition)
7099#define ITfContextComposition_EnumCompositions(This,ppEnum) (This)->lpVtbl->EnumCompositions(This,ppEnum)
7100#define ITfContextComposition_FindComposition(This,ecRead,pTestRange,ppEnum) (This)->lpVtbl->FindComposition(This,ecRead,pTestRange,ppEnum)
7101#define ITfContextComposition_TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition) (This)->lpVtbl->TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition)
7102#else
7103/*** IUnknown methods ***/
7104static FORCEINLINE HRESULT ITfContextComposition_QueryInterface(ITfContextComposition* This,REFIID riid,void **ppvObject) {
7105    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7106}
7107static FORCEINLINE ULONG ITfContextComposition_AddRef(ITfContextComposition* This) {
7108    return This->lpVtbl->AddRef(This);
7109}
7110static FORCEINLINE ULONG ITfContextComposition_Release(ITfContextComposition* This) {
7111    return This->lpVtbl->Release(This);
7112}
7113/*** ITfContextComposition methods ***/
7114static FORCEINLINE HRESULT ITfContextComposition_StartComposition(ITfContextComposition* This,TfEditCookie ecWrite,ITfRange *pCompositionRange,ITfCompositionSink *pSink,ITfComposition **ppComposition) {
7115    return This->lpVtbl->StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition);
7116}
7117static FORCEINLINE HRESULT ITfContextComposition_EnumCompositions(ITfContextComposition* This,IEnumITfCompositionView **ppEnum) {
7118    return This->lpVtbl->EnumCompositions(This,ppEnum);
7119}
7120static FORCEINLINE HRESULT ITfContextComposition_FindComposition(ITfContextComposition* This,TfEditCookie ecRead,ITfRange *pTestRange,IEnumITfCompositionView **ppEnum) {
7121    return This->lpVtbl->FindComposition(This,ecRead,pTestRange,ppEnum);
7122}
7123static FORCEINLINE HRESULT ITfContextComposition_TakeOwnership(ITfContextComposition* This,TfEditCookie ecWrite,ITfCompositionView *pComposition,ITfCompositionSink *pSink,ITfComposition **ppComposition) {
7124    return This->lpVtbl->TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition);
7125}
7126#endif
7127#endif
7128
7129#endif
7130
7131HRESULT STDMETHODCALLTYPE ITfContextComposition_StartComposition_Proxy(
7132    ITfContextComposition* This,
7133    TfEditCookie ecWrite,
7134    ITfRange *pCompositionRange,
7135    ITfCompositionSink *pSink,
7136    ITfComposition **ppComposition);
7137void __RPC_STUB ITfContextComposition_StartComposition_Stub(
7138    IRpcStubBuffer* This,
7139    IRpcChannelBuffer* pRpcChannelBuffer,
7140    PRPC_MESSAGE pRpcMessage,
7141    DWORD* pdwStubPhase);
7142HRESULT STDMETHODCALLTYPE ITfContextComposition_EnumCompositions_Proxy(
7143    ITfContextComposition* This,
7144    IEnumITfCompositionView **ppEnum);
7145void __RPC_STUB ITfContextComposition_EnumCompositions_Stub(
7146    IRpcStubBuffer* This,
7147    IRpcChannelBuffer* pRpcChannelBuffer,
7148    PRPC_MESSAGE pRpcMessage,
7149    DWORD* pdwStubPhase);
7150HRESULT STDMETHODCALLTYPE ITfContextComposition_FindComposition_Proxy(
7151    ITfContextComposition* This,
7152    TfEditCookie ecRead,
7153    ITfRange *pTestRange,
7154    IEnumITfCompositionView **ppEnum);
7155void __RPC_STUB ITfContextComposition_FindComposition_Stub(
7156    IRpcStubBuffer* This,
7157    IRpcChannelBuffer* pRpcChannelBuffer,
7158    PRPC_MESSAGE pRpcMessage,
7159    DWORD* pdwStubPhase);
7160HRESULT STDMETHODCALLTYPE ITfContextComposition_TakeOwnership_Proxy(
7161    ITfContextComposition* This,
7162    TfEditCookie ecWrite,
7163    ITfCompositionView *pComposition,
7164    ITfCompositionSink *pSink,
7165    ITfComposition **ppComposition);
7166void __RPC_STUB ITfContextComposition_TakeOwnership_Stub(
7167    IRpcStubBuffer* This,
7168    IRpcChannelBuffer* pRpcChannelBuffer,
7169    PRPC_MESSAGE pRpcMessage,
7170    DWORD* pdwStubPhase);
7171
7172#endif  /* __ITfContextComposition_INTERFACE_DEFINED__ */
7173
7174/*****************************************************************************
7175 * ITfContextOwnerCompositionServices interface
7176 */
7177#ifndef __ITfContextOwnerCompositionServices_INTERFACE_DEFINED__
7178#define __ITfContextOwnerCompositionServices_INTERFACE_DEFINED__
7179
7180DEFINE_GUID(IID_ITfContextOwnerCompositionServices, 0x86462810, 0x593b, 0x4916, 0x97,0x64, 0x19,0xc0,0x8e,0x9c,0xe1,0x10);
7181#if defined(__cplusplus) && !defined(CINTERFACE)
7182MIDL_INTERFACE("86462810-593b-4916-9764-19c08e9ce110")
7183ITfContextOwnerCompositionServices : public ITfContextComposition
7184{
7185    virtual HRESULT STDMETHODCALLTYPE TerminateComposition(
7186        ITfCompositionView *pComposition) = 0;
7187
7188};
7189#ifdef __CRT_UUID_DECL
7190__CRT_UUID_DECL(ITfContextOwnerCompositionServices, 0x86462810, 0x593b, 0x4916, 0x97,0x64, 0x19,0xc0,0x8e,0x9c,0xe1,0x10)
7191#endif
7192#else
7193typedef struct ITfContextOwnerCompositionServicesVtbl {
7194    BEGIN_INTERFACE
7195
7196    /*** IUnknown methods ***/
7197    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7198        ITfContextOwnerCompositionServices* This,
7199        REFIID riid,
7200        void **ppvObject);
7201
7202    ULONG (STDMETHODCALLTYPE *AddRef)(
7203        ITfContextOwnerCompositionServices* This);
7204
7205    ULONG (STDMETHODCALLTYPE *Release)(
7206        ITfContextOwnerCompositionServices* This);
7207
7208    /*** ITfContextComposition methods ***/
7209    HRESULT (STDMETHODCALLTYPE *StartComposition)(
7210        ITfContextOwnerCompositionServices* This,
7211        TfEditCookie ecWrite,
7212        ITfRange *pCompositionRange,
7213        ITfCompositionSink *pSink,
7214        ITfComposition **ppComposition);
7215
7216    HRESULT (STDMETHODCALLTYPE *EnumCompositions)(
7217        ITfContextOwnerCompositionServices* This,
7218        IEnumITfCompositionView **ppEnum);
7219
7220    HRESULT (STDMETHODCALLTYPE *FindComposition)(
7221        ITfContextOwnerCompositionServices* This,
7222        TfEditCookie ecRead,
7223        ITfRange *pTestRange,
7224        IEnumITfCompositionView **ppEnum);
7225
7226    HRESULT (STDMETHODCALLTYPE *TakeOwnership)(
7227        ITfContextOwnerCompositionServices* This,
7228        TfEditCookie ecWrite,
7229        ITfCompositionView *pComposition,
7230        ITfCompositionSink *pSink,
7231        ITfComposition **ppComposition);
7232
7233    /*** ITfContextOwnerCompositionServices methods ***/
7234    HRESULT (STDMETHODCALLTYPE *TerminateComposition)(
7235        ITfContextOwnerCompositionServices* This,
7236        ITfCompositionView *pComposition);
7237
7238    END_INTERFACE
7239} ITfContextOwnerCompositionServicesVtbl;
7240interface ITfContextOwnerCompositionServices {
7241    CONST_VTBL ITfContextOwnerCompositionServicesVtbl* lpVtbl;
7242};
7243
7244#ifdef COBJMACROS
7245#ifndef WIDL_C_INLINE_WRAPPERS
7246/*** IUnknown methods ***/
7247#define ITfContextOwnerCompositionServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7248#define ITfContextOwnerCompositionServices_AddRef(This) (This)->lpVtbl->AddRef(This)
7249#define ITfContextOwnerCompositionServices_Release(This) (This)->lpVtbl->Release(This)
7250/*** ITfContextComposition methods ***/
7251#define ITfContextOwnerCompositionServices_StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition) (This)->lpVtbl->StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition)
7252#define ITfContextOwnerCompositionServices_EnumCompositions(This,ppEnum) (This)->lpVtbl->EnumCompositions(This,ppEnum)
7253#define ITfContextOwnerCompositionServices_FindComposition(This,ecRead,pTestRange,ppEnum) (This)->lpVtbl->FindComposition(This,ecRead,pTestRange,ppEnum)
7254#define ITfContextOwnerCompositionServices_TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition) (This)->lpVtbl->TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition)
7255/*** ITfContextOwnerCompositionServices methods ***/
7256#define ITfContextOwnerCompositionServices_TerminateComposition(This,pComposition) (This)->lpVtbl->TerminateComposition(This,pComposition)
7257#else
7258/*** IUnknown methods ***/
7259static FORCEINLINE HRESULT ITfContextOwnerCompositionServices_QueryInterface(ITfContextOwnerCompositionServices* This,REFIID riid,void **ppvObject) {
7260    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7261}
7262static FORCEINLINE ULONG ITfContextOwnerCompositionServices_AddRef(ITfContextOwnerCompositionServices* This) {
7263    return This->lpVtbl->AddRef(This);
7264}
7265static FORCEINLINE ULONG ITfContextOwnerCompositionServices_Release(ITfContextOwnerCompositionServices* This) {
7266    return This->lpVtbl->Release(This);
7267}
7268/*** ITfContextComposition methods ***/
7269static FORCEINLINE HRESULT ITfContextOwnerCompositionServices_StartComposition(ITfContextOwnerCompositionServices* This,TfEditCookie ecWrite,ITfRange *pCompositionRange,ITfCompositionSink *pSink,ITfComposition **ppComposition) {
7270    return This->lpVtbl->StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition);
7271}
7272static FORCEINLINE HRESULT ITfContextOwnerCompositionServices_EnumCompositions(ITfContextOwnerCompositionServices* This,IEnumITfCompositionView **ppEnum) {
7273    return This->lpVtbl->EnumCompositions(This,ppEnum);
7274}
7275static FORCEINLINE HRESULT ITfContextOwnerCompositionServices_FindComposition(ITfContextOwnerCompositionServices* This,TfEditCookie ecRead,ITfRange *pTestRange,IEnumITfCompositionView **ppEnum) {
7276    return This->lpVtbl->FindComposition(This,ecRead,pTestRange,ppEnum);
7277}
7278static FORCEINLINE HRESULT ITfContextOwnerCompositionServices_TakeOwnership(ITfContextOwnerCompositionServices* This,TfEditCookie ecWrite,ITfCompositionView *pComposition,ITfCompositionSink *pSink,ITfComposition **ppComposition) {
7279    return This->lpVtbl->TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition);
7280}
7281/*** ITfContextOwnerCompositionServices methods ***/
7282static FORCEINLINE HRESULT ITfContextOwnerCompositionServices_TerminateComposition(ITfContextOwnerCompositionServices* This,ITfCompositionView *pComposition) {
7283    return This->lpVtbl->TerminateComposition(This,pComposition);
7284}
7285#endif
7286#endif
7287
7288#endif
7289
7290HRESULT STDMETHODCALLTYPE ITfContextOwnerCompositionServices_TerminateComposition_Proxy(
7291    ITfContextOwnerCompositionServices* This,
7292    ITfCompositionView *pComposition);
7293void __RPC_STUB ITfContextOwnerCompositionServices_TerminateComposition_Stub(
7294    IRpcStubBuffer* This,
7295    IRpcChannelBuffer* pRpcChannelBuffer,
7296    PRPC_MESSAGE pRpcMessage,
7297    DWORD* pdwStubPhase);
7298
7299#endif  /* __ITfContextOwnerCompositionServices_INTERFACE_DEFINED__ */
7300
7301/*****************************************************************************
7302 * ITfPersistentPropertyLoaderACP interface
7303 */
7304#ifndef __ITfPersistentPropertyLoaderACP_INTERFACE_DEFINED__
7305#define __ITfPersistentPropertyLoaderACP_INTERFACE_DEFINED__
7306
7307DEFINE_GUID(IID_ITfPersistentPropertyLoaderACP, 0x4ef89150, 0x0807, 0x11d3, 0x8d,0xf0, 0x00,0x10,0x5a,0x27,0x99,0xb5);
7308#if defined(__cplusplus) && !defined(CINTERFACE)
7309MIDL_INTERFACE("4ef89150-0807-11d3-8df0-00105a2799b5")
7310ITfPersistentPropertyLoaderACP : public IUnknown
7311{
7312    virtual HRESULT STDMETHODCALLTYPE LoadProperty(
7313        const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
7314        IStream **ppStream) = 0;
7315
7316};
7317#ifdef __CRT_UUID_DECL
7318__CRT_UUID_DECL(ITfPersistentPropertyLoaderACP, 0x4ef89150, 0x0807, 0x11d3, 0x8d,0xf0, 0x00,0x10,0x5a,0x27,0x99,0xb5)
7319#endif
7320#else
7321typedef struct ITfPersistentPropertyLoaderACPVtbl {
7322    BEGIN_INTERFACE
7323
7324    /*** IUnknown methods ***/
7325    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7326        ITfPersistentPropertyLoaderACP* This,
7327        REFIID riid,
7328        void **ppvObject);
7329
7330    ULONG (STDMETHODCALLTYPE *AddRef)(
7331        ITfPersistentPropertyLoaderACP* This);
7332
7333    ULONG (STDMETHODCALLTYPE *Release)(
7334        ITfPersistentPropertyLoaderACP* This);
7335
7336    /*** ITfPersistentPropertyLoaderACP methods ***/
7337    HRESULT (STDMETHODCALLTYPE *LoadProperty)(
7338        ITfPersistentPropertyLoaderACP* This,
7339        const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
7340        IStream **ppStream);
7341
7342    END_INTERFACE
7343} ITfPersistentPropertyLoaderACPVtbl;
7344interface ITfPersistentPropertyLoaderACP {
7345    CONST_VTBL ITfPersistentPropertyLoaderACPVtbl* lpVtbl;
7346};
7347
7348#ifdef COBJMACROS
7349#ifndef WIDL_C_INLINE_WRAPPERS
7350/*** IUnknown methods ***/
7351#define ITfPersistentPropertyLoaderACP_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7352#define ITfPersistentPropertyLoaderACP_AddRef(This) (This)->lpVtbl->AddRef(This)
7353#define ITfPersistentPropertyLoaderACP_Release(This) (This)->lpVtbl->Release(This)
7354/*** ITfPersistentPropertyLoaderACP methods ***/
7355#define ITfPersistentPropertyLoaderACP_LoadProperty(This,pHdr,ppStream) (This)->lpVtbl->LoadProperty(This,pHdr,ppStream)
7356#else
7357/*** IUnknown methods ***/
7358static FORCEINLINE HRESULT ITfPersistentPropertyLoaderACP_QueryInterface(ITfPersistentPropertyLoaderACP* This,REFIID riid,void **ppvObject) {
7359    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7360}
7361static FORCEINLINE ULONG ITfPersistentPropertyLoaderACP_AddRef(ITfPersistentPropertyLoaderACP* This) {
7362    return This->lpVtbl->AddRef(This);
7363}
7364static FORCEINLINE ULONG ITfPersistentPropertyLoaderACP_Release(ITfPersistentPropertyLoaderACP* This) {
7365    return This->lpVtbl->Release(This);
7366}
7367/*** ITfPersistentPropertyLoaderACP methods ***/
7368static FORCEINLINE HRESULT ITfPersistentPropertyLoaderACP_LoadProperty(ITfPersistentPropertyLoaderACP* This,const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,IStream **ppStream) {
7369    return This->lpVtbl->LoadProperty(This,pHdr,ppStream);
7370}
7371#endif
7372#endif
7373
7374#endif
7375
7376HRESULT STDMETHODCALLTYPE ITfPersistentPropertyLoaderACP_LoadProperty_Proxy(
7377    ITfPersistentPropertyLoaderACP* This,
7378    const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
7379    IStream **ppStream);
7380void __RPC_STUB ITfPersistentPropertyLoaderACP_LoadProperty_Stub(
7381    IRpcStubBuffer* This,
7382    IRpcChannelBuffer* pRpcChannelBuffer,
7383    PRPC_MESSAGE pRpcMessage,
7384    DWORD* pdwStubPhase);
7385
7386#endif  /* __ITfPersistentPropertyLoaderACP_INTERFACE_DEFINED__ */
7387
7388/*****************************************************************************
7389 * ITfContextOwnerServices interface
7390 */
7391#ifndef __ITfContextOwnerServices_INTERFACE_DEFINED__
7392#define __ITfContextOwnerServices_INTERFACE_DEFINED__
7393
7394DEFINE_GUID(IID_ITfContextOwnerServices, 0xb23eb630, 0x3e1c, 0x11d3, 0xa7,0x45, 0x00,0x50,0x04,0x0a,0xb4,0x07);
7395#if defined(__cplusplus) && !defined(CINTERFACE)
7396MIDL_INTERFACE("b23eb630-3e1c-11d3-a745-0050040ab407")
7397ITfContextOwnerServices : public IUnknown
7398{
7399    virtual HRESULT STDMETHODCALLTYPE OnLayoutChange(
7400        ) = 0;
7401
7402    virtual HRESULT STDMETHODCALLTYPE OnStatusChange(
7403        DWORD dwFlags) = 0;
7404
7405    virtual HRESULT STDMETHODCALLTYPE OnAttributeChange(
7406        REFGUID rguidAttribute) = 0;
7407
7408    virtual HRESULT STDMETHODCALLTYPE Serialize(
7409        ITfProperty *pProp,
7410        ITfRange *pRange,
7411        TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
7412        IStream *pStream) = 0;
7413
7414    virtual HRESULT STDMETHODCALLTYPE Unserialize(
7415        ITfProperty *pProp,
7416        const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
7417        IStream *pStream,
7418        ITfPersistentPropertyLoaderACP *pLoader) = 0;
7419
7420    virtual HRESULT STDMETHODCALLTYPE ForceLoadProperty(
7421        ITfProperty *pProp) = 0;
7422
7423    virtual HRESULT STDMETHODCALLTYPE CreateRange(
7424        LONG acpStart,
7425        LONG acpEnd,
7426        ITfRangeACP **ppRange) = 0;
7427
7428};
7429#ifdef __CRT_UUID_DECL
7430__CRT_UUID_DECL(ITfContextOwnerServices, 0xb23eb630, 0x3e1c, 0x11d3, 0xa7,0x45, 0x00,0x50,0x04,0x0a,0xb4,0x07)
7431#endif
7432#else
7433typedef struct ITfContextOwnerServicesVtbl {
7434    BEGIN_INTERFACE
7435
7436    /*** IUnknown methods ***/
7437    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7438        ITfContextOwnerServices* This,
7439        REFIID riid,
7440        void **ppvObject);
7441
7442    ULONG (STDMETHODCALLTYPE *AddRef)(
7443        ITfContextOwnerServices* This);
7444
7445    ULONG (STDMETHODCALLTYPE *Release)(
7446        ITfContextOwnerServices* This);
7447
7448    /*** ITfContextOwnerServices methods ***/
7449    HRESULT (STDMETHODCALLTYPE *OnLayoutChange)(
7450        ITfContextOwnerServices* This);
7451
7452    HRESULT (STDMETHODCALLTYPE *OnStatusChange)(
7453        ITfContextOwnerServices* This,
7454        DWORD dwFlags);
7455
7456    HRESULT (STDMETHODCALLTYPE *OnAttributeChange)(
7457        ITfContextOwnerServices* This,
7458        REFGUID rguidAttribute);
7459
7460    HRESULT (STDMETHODCALLTYPE *Serialize)(
7461        ITfContextOwnerServices* This,
7462        ITfProperty *pProp,
7463        ITfRange *pRange,
7464        TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
7465        IStream *pStream);
7466
7467    HRESULT (STDMETHODCALLTYPE *Unserialize)(
7468        ITfContextOwnerServices* This,
7469        ITfProperty *pProp,
7470        const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
7471        IStream *pStream,
7472        ITfPersistentPropertyLoaderACP *pLoader);
7473
7474    HRESULT (STDMETHODCALLTYPE *ForceLoadProperty)(
7475        ITfContextOwnerServices* This,
7476        ITfProperty *pProp);
7477
7478    HRESULT (STDMETHODCALLTYPE *CreateRange)(
7479        ITfContextOwnerServices* This,
7480        LONG acpStart,
7481        LONG acpEnd,
7482        ITfRangeACP **ppRange);
7483
7484    END_INTERFACE
7485} ITfContextOwnerServicesVtbl;
7486interface ITfContextOwnerServices {
7487    CONST_VTBL ITfContextOwnerServicesVtbl* lpVtbl;
7488};
7489
7490#ifdef COBJMACROS
7491#ifndef WIDL_C_INLINE_WRAPPERS
7492/*** IUnknown methods ***/
7493#define ITfContextOwnerServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7494#define ITfContextOwnerServices_AddRef(This) (This)->lpVtbl->AddRef(This)
7495#define ITfContextOwnerServices_Release(This) (This)->lpVtbl->Release(This)
7496/*** ITfContextOwnerServices methods ***/
7497#define ITfContextOwnerServices_OnLayoutChange(This) (This)->lpVtbl->OnLayoutChange(This)
7498#define ITfContextOwnerServices_OnStatusChange(This,dwFlags) (This)->lpVtbl->OnStatusChange(This,dwFlags)
7499#define ITfContextOwnerServices_OnAttributeChange(This,rguidAttribute) (This)->lpVtbl->OnAttributeChange(This,rguidAttribute)
7500#define ITfContextOwnerServices_Serialize(This,pProp,pRange,pHdr,pStream) (This)->lpVtbl->Serialize(This,pProp,pRange,pHdr,pStream)
7501#define ITfContextOwnerServices_Unserialize(This,pProp,pHdr,pStream,pLoader) (This)->lpVtbl->Unserialize(This,pProp,pHdr,pStream,pLoader)
7502#define ITfContextOwnerServices_ForceLoadProperty(This,pProp) (This)->lpVtbl->ForceLoadProperty(This,pProp)
7503#define ITfContextOwnerServices_CreateRange(This,acpStart,acpEnd,ppRange) (This)->lpVtbl->CreateRange(This,acpStart,acpEnd,ppRange)
7504#else
7505/*** IUnknown methods ***/
7506static FORCEINLINE HRESULT ITfContextOwnerServices_QueryInterface(ITfContextOwnerServices* This,REFIID riid,void **ppvObject) {
7507    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7508}
7509static FORCEINLINE ULONG ITfContextOwnerServices_AddRef(ITfContextOwnerServices* This) {
7510    return This->lpVtbl->AddRef(This);
7511}
7512static FORCEINLINE ULONG ITfContextOwnerServices_Release(ITfContextOwnerServices* This) {
7513    return This->lpVtbl->Release(This);
7514}
7515/*** ITfContextOwnerServices methods ***/
7516static FORCEINLINE HRESULT ITfContextOwnerServices_OnLayoutChange(ITfContextOwnerServices* This) {
7517    return This->lpVtbl->OnLayoutChange(This);
7518}
7519static FORCEINLINE HRESULT ITfContextOwnerServices_OnStatusChange(ITfContextOwnerServices* This,DWORD dwFlags) {
7520    return This->lpVtbl->OnStatusChange(This,dwFlags);
7521}
7522static FORCEINLINE HRESULT ITfContextOwnerServices_OnAttributeChange(ITfContextOwnerServices* This,REFGUID rguidAttribute) {
7523    return This->lpVtbl->OnAttributeChange(This,rguidAttribute);
7524}
7525static FORCEINLINE HRESULT ITfContextOwnerServices_Serialize(ITfContextOwnerServices* This,ITfProperty *pProp,ITfRange *pRange,TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,IStream *pStream) {
7526    return This->lpVtbl->Serialize(This,pProp,pRange,pHdr,pStream);
7527}
7528static FORCEINLINE HRESULT ITfContextOwnerServices_Unserialize(ITfContextOwnerServices* This,ITfProperty *pProp,const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,IStream *pStream,ITfPersistentPropertyLoaderACP *pLoader) {
7529    return This->lpVtbl->Unserialize(This,pProp,pHdr,pStream,pLoader);
7530}
7531static FORCEINLINE HRESULT ITfContextOwnerServices_ForceLoadProperty(ITfContextOwnerServices* This,ITfProperty *pProp) {
7532    return This->lpVtbl->ForceLoadProperty(This,pProp);
7533}
7534static FORCEINLINE HRESULT ITfContextOwnerServices_CreateRange(ITfContextOwnerServices* This,LONG acpStart,LONG acpEnd,ITfRangeACP **ppRange) {
7535    return This->lpVtbl->CreateRange(This,acpStart,acpEnd,ppRange);
7536}
7537#endif
7538#endif
7539
7540#endif
7541
7542HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_OnLayoutChange_Proxy(
7543    ITfContextOwnerServices* This);
7544void __RPC_STUB ITfContextOwnerServices_OnLayoutChange_Stub(
7545    IRpcStubBuffer* This,
7546    IRpcChannelBuffer* pRpcChannelBuffer,
7547    PRPC_MESSAGE pRpcMessage,
7548    DWORD* pdwStubPhase);
7549HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_OnStatusChange_Proxy(
7550    ITfContextOwnerServices* This,
7551    DWORD dwFlags);
7552void __RPC_STUB ITfContextOwnerServices_OnStatusChange_Stub(
7553    IRpcStubBuffer* This,
7554    IRpcChannelBuffer* pRpcChannelBuffer,
7555    PRPC_MESSAGE pRpcMessage,
7556    DWORD* pdwStubPhase);
7557HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_OnAttributeChange_Proxy(
7558    ITfContextOwnerServices* This,
7559    REFGUID rguidAttribute);
7560void __RPC_STUB ITfContextOwnerServices_OnAttributeChange_Stub(
7561    IRpcStubBuffer* This,
7562    IRpcChannelBuffer* pRpcChannelBuffer,
7563    PRPC_MESSAGE pRpcMessage,
7564    DWORD* pdwStubPhase);
7565HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_Serialize_Proxy(
7566    ITfContextOwnerServices* This,
7567    ITfProperty *pProp,
7568    ITfRange *pRange,
7569    TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
7570    IStream *pStream);
7571void __RPC_STUB ITfContextOwnerServices_Serialize_Stub(
7572    IRpcStubBuffer* This,
7573    IRpcChannelBuffer* pRpcChannelBuffer,
7574    PRPC_MESSAGE pRpcMessage,
7575    DWORD* pdwStubPhase);
7576HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_Unserialize_Proxy(
7577    ITfContextOwnerServices* This,
7578    ITfProperty *pProp,
7579    const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
7580    IStream *pStream,
7581    ITfPersistentPropertyLoaderACP *pLoader);
7582void __RPC_STUB ITfContextOwnerServices_Unserialize_Stub(
7583    IRpcStubBuffer* This,
7584    IRpcChannelBuffer* pRpcChannelBuffer,
7585    PRPC_MESSAGE pRpcMessage,
7586    DWORD* pdwStubPhase);
7587HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_ForceLoadProperty_Proxy(
7588    ITfContextOwnerServices* This,
7589    ITfProperty *pProp);
7590void __RPC_STUB ITfContextOwnerServices_ForceLoadProperty_Stub(
7591    IRpcStubBuffer* This,
7592    IRpcChannelBuffer* pRpcChannelBuffer,
7593    PRPC_MESSAGE pRpcMessage,
7594    DWORD* pdwStubPhase);
7595HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_CreateRange_Proxy(
7596    ITfContextOwnerServices* This,
7597    LONG acpStart,
7598    LONG acpEnd,
7599    ITfRangeACP **ppRange);
7600void __RPC_STUB ITfContextOwnerServices_CreateRange_Stub(
7601    IRpcStubBuffer* This,
7602    IRpcChannelBuffer* pRpcChannelBuffer,
7603    PRPC_MESSAGE pRpcMessage,
7604    DWORD* pdwStubPhase);
7605
7606#endif  /* __ITfContextOwnerServices_INTERFACE_DEFINED__ */
7607
7608/*****************************************************************************
7609 * ITfReadOnlyProperty interface
7610 */
7611#ifndef __ITfReadOnlyProperty_INTERFACE_DEFINED__
7612#define __ITfReadOnlyProperty_INTERFACE_DEFINED__
7613
7614DEFINE_GUID(IID_ITfReadOnlyProperty, 0x17d49a3d, 0xf8b8, 0x4b2f, 0xb2,0x54, 0x52,0x31,0x9d,0xd6,0x4c,0x53);
7615#if defined(__cplusplus) && !defined(CINTERFACE)
7616MIDL_INTERFACE("17d49a3d-f8b8-4b2f-b254-52319dd64c53")
7617ITfReadOnlyProperty : public IUnknown
7618{
7619    virtual HRESULT STDMETHODCALLTYPE GetType(
7620        GUID *pguid) = 0;
7621
7622    virtual HRESULT STDMETHODCALLTYPE EnumRanges(
7623        TfEditCookie ec,
7624        IEnumTfRanges **ppEnum,
7625        ITfRange *pTargetRange) = 0;
7626
7627    virtual HRESULT STDMETHODCALLTYPE GetValue(
7628        TfEditCookie ec,
7629        ITfRange *pRange,
7630        VARIANT *pvarValue) = 0;
7631
7632    virtual HRESULT STDMETHODCALLTYPE GetContext(
7633        ITfContext **ppContext) = 0;
7634
7635};
7636#ifdef __CRT_UUID_DECL
7637__CRT_UUID_DECL(ITfReadOnlyProperty, 0x17d49a3d, 0xf8b8, 0x4b2f, 0xb2,0x54, 0x52,0x31,0x9d,0xd6,0x4c,0x53)
7638#endif
7639#else
7640typedef struct ITfReadOnlyPropertyVtbl {
7641    BEGIN_INTERFACE
7642
7643    /*** IUnknown methods ***/
7644    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7645        ITfReadOnlyProperty* This,
7646        REFIID riid,
7647        void **ppvObject);
7648
7649    ULONG (STDMETHODCALLTYPE *AddRef)(
7650        ITfReadOnlyProperty* This);
7651
7652    ULONG (STDMETHODCALLTYPE *Release)(
7653        ITfReadOnlyProperty* This);
7654
7655    /*** ITfReadOnlyProperty methods ***/
7656    HRESULT (STDMETHODCALLTYPE *GetType)(
7657        ITfReadOnlyProperty* This,
7658        GUID *pguid);
7659
7660    HRESULT (STDMETHODCALLTYPE *EnumRanges)(
7661        ITfReadOnlyProperty* This,
7662        TfEditCookie ec,
7663        IEnumTfRanges **ppEnum,
7664        ITfRange *pTargetRange);
7665
7666    HRESULT (STDMETHODCALLTYPE *GetValue)(
7667        ITfReadOnlyProperty* This,
7668        TfEditCookie ec,
7669        ITfRange *pRange,
7670        VARIANT *pvarValue);
7671
7672    HRESULT (STDMETHODCALLTYPE *GetContext)(
7673        ITfReadOnlyProperty* This,
7674        ITfContext **ppContext);
7675
7676    END_INTERFACE
7677} ITfReadOnlyPropertyVtbl;
7678interface ITfReadOnlyProperty {
7679    CONST_VTBL ITfReadOnlyPropertyVtbl* lpVtbl;
7680};
7681
7682#ifdef COBJMACROS
7683#ifndef WIDL_C_INLINE_WRAPPERS
7684/*** IUnknown methods ***/
7685#define ITfReadOnlyProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7686#define ITfReadOnlyProperty_AddRef(This) (This)->lpVtbl->AddRef(This)
7687#define ITfReadOnlyProperty_Release(This) (This)->lpVtbl->Release(This)
7688/*** ITfReadOnlyProperty methods ***/
7689#define ITfReadOnlyProperty_GetType(This,pguid) (This)->lpVtbl->GetType(This,pguid)
7690#define ITfReadOnlyProperty_EnumRanges(This,ec,ppEnum,pTargetRange) (This)->lpVtbl->EnumRanges(This,ec,ppEnum,pTargetRange)
7691#define ITfReadOnlyProperty_GetValue(This,ec,pRange,pvarValue) (This)->lpVtbl->GetValue(This,ec,pRange,pvarValue)
7692#define ITfReadOnlyProperty_GetContext(This,ppContext) (This)->lpVtbl->GetContext(This,ppContext)
7693#else
7694/*** IUnknown methods ***/
7695static FORCEINLINE HRESULT ITfReadOnlyProperty_QueryInterface(ITfReadOnlyProperty* This,REFIID riid,void **ppvObject) {
7696    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7697}
7698static FORCEINLINE ULONG ITfReadOnlyProperty_AddRef(ITfReadOnlyProperty* This) {
7699    return This->lpVtbl->AddRef(This);
7700}
7701static FORCEINLINE ULONG ITfReadOnlyProperty_Release(ITfReadOnlyProperty* This) {
7702    return This->lpVtbl->Release(This);
7703}
7704/*** ITfReadOnlyProperty methods ***/
7705static FORCEINLINE HRESULT ITfReadOnlyProperty_GetType(ITfReadOnlyProperty* This,GUID *pguid) {
7706    return This->lpVtbl->GetType(This,pguid);
7707}
7708static FORCEINLINE HRESULT ITfReadOnlyProperty_EnumRanges(ITfReadOnlyProperty* This,TfEditCookie ec,IEnumTfRanges **ppEnum,ITfRange *pTargetRange) {
7709    return This->lpVtbl->EnumRanges(This,ec,ppEnum,pTargetRange);
7710}
7711static FORCEINLINE HRESULT ITfReadOnlyProperty_GetValue(ITfReadOnlyProperty* This,TfEditCookie ec,ITfRange *pRange,VARIANT *pvarValue) {
7712    return This->lpVtbl->GetValue(This,ec,pRange,pvarValue);
7713}
7714static FORCEINLINE HRESULT ITfReadOnlyProperty_GetContext(ITfReadOnlyProperty* This,ITfContext **ppContext) {
7715    return This->lpVtbl->GetContext(This,ppContext);
7716}
7717#endif
7718#endif
7719
7720#endif
7721
7722HRESULT STDMETHODCALLTYPE ITfReadOnlyProperty_GetType_Proxy(
7723    ITfReadOnlyProperty* This,
7724    GUID *pguid);
7725void __RPC_STUB ITfReadOnlyProperty_GetType_Stub(
7726    IRpcStubBuffer* This,
7727    IRpcChannelBuffer* pRpcChannelBuffer,
7728    PRPC_MESSAGE pRpcMessage,
7729    DWORD* pdwStubPhase);
7730HRESULT STDMETHODCALLTYPE ITfReadOnlyProperty_EnumRanges_Proxy(
7731    ITfReadOnlyProperty* This,
7732    TfEditCookie ec,
7733    IEnumTfRanges **ppEnum,
7734    ITfRange *pTargetRange);
7735void __RPC_STUB ITfReadOnlyProperty_EnumRanges_Stub(
7736    IRpcStubBuffer* This,
7737    IRpcChannelBuffer* pRpcChannelBuffer,
7738    PRPC_MESSAGE pRpcMessage,
7739    DWORD* pdwStubPhase);
7740HRESULT STDMETHODCALLTYPE ITfReadOnlyProperty_GetValue_Proxy(
7741    ITfReadOnlyProperty* This,
7742    TfEditCookie ec,
7743    ITfRange *pRange,
7744    VARIANT *pvarValue);
7745void __RPC_STUB ITfReadOnlyProperty_GetValue_Stub(
7746    IRpcStubBuffer* This,
7747    IRpcChannelBuffer* pRpcChannelBuffer,
7748    PRPC_MESSAGE pRpcMessage,
7749    DWORD* pdwStubPhase);
7750HRESULT STDMETHODCALLTYPE ITfReadOnlyProperty_GetContext_Proxy(
7751    ITfReadOnlyProperty* This,
7752    ITfContext **ppContext);
7753void __RPC_STUB ITfReadOnlyProperty_GetContext_Stub(
7754    IRpcStubBuffer* This,
7755    IRpcChannelBuffer* pRpcChannelBuffer,
7756    PRPC_MESSAGE pRpcMessage,
7757    DWORD* pdwStubPhase);
7758
7759#endif  /* __ITfReadOnlyProperty_INTERFACE_DEFINED__ */
7760
7761/*****************************************************************************
7762 * ITfProperty interface
7763 */
7764#ifndef __ITfProperty_INTERFACE_DEFINED__
7765#define __ITfProperty_INTERFACE_DEFINED__
7766
7767DEFINE_GUID(IID_ITfProperty, 0xe2449660, 0x9542, 0x11d2, 0xbf,0x46, 0x00,0x10,0x5a,0x27,0x99,0xb5);
7768#if defined(__cplusplus) && !defined(CINTERFACE)
7769MIDL_INTERFACE("e2449660-9542-11d2-bf46-00105a2799b5")
7770ITfProperty : public ITfReadOnlyProperty
7771{
7772    virtual HRESULT STDMETHODCALLTYPE FindRange(
7773        TfEditCookie ec,
7774        ITfRange *pRange,
7775        ITfRange **ppRange,
7776        TfAnchor aPos) = 0;
7777
7778    virtual HRESULT STDMETHODCALLTYPE SetValueStore(
7779        TfEditCookie ec,
7780        ITfRange *pRange,
7781        ITfPropertyStore *pPropStore) = 0;
7782
7783    virtual HRESULT STDMETHODCALLTYPE SetValue(
7784        TfEditCookie ec,
7785        ITfRange *pRange,
7786        const VARIANT *pvarValue) = 0;
7787
7788    virtual HRESULT STDMETHODCALLTYPE Clear(
7789        TfEditCookie ec,
7790        ITfRange *pRange) = 0;
7791
7792};
7793#ifdef __CRT_UUID_DECL
7794__CRT_UUID_DECL(ITfProperty, 0xe2449660, 0x9542, 0x11d2, 0xbf,0x46, 0x00,0x10,0x5a,0x27,0x99,0xb5)
7795#endif
7796#else
7797typedef struct ITfPropertyVtbl {
7798    BEGIN_INTERFACE
7799
7800    /*** IUnknown methods ***/
7801    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7802        ITfProperty* This,
7803        REFIID riid,
7804        void **ppvObject);
7805
7806    ULONG (STDMETHODCALLTYPE *AddRef)(
7807        ITfProperty* This);
7808
7809    ULONG (STDMETHODCALLTYPE *Release)(
7810        ITfProperty* This);
7811
7812    /*** ITfReadOnlyProperty methods ***/
7813    HRESULT (STDMETHODCALLTYPE *GetType)(
7814        ITfProperty* This,
7815        GUID *pguid);
7816
7817    HRESULT (STDMETHODCALLTYPE *EnumRanges)(
7818        ITfProperty* This,
7819        TfEditCookie ec,
7820        IEnumTfRanges **ppEnum,
7821        ITfRange *pTargetRange);
7822
7823    HRESULT (STDMETHODCALLTYPE *GetValue)(
7824        ITfProperty* This,
7825        TfEditCookie ec,
7826        ITfRange *pRange,
7827        VARIANT *pvarValue);
7828
7829    HRESULT (STDMETHODCALLTYPE *GetContext)(
7830        ITfProperty* This,
7831        ITfContext **ppContext);
7832
7833    /*** ITfProperty methods ***/
7834    HRESULT (STDMETHODCALLTYPE *FindRange)(
7835        ITfProperty* This,
7836        TfEditCookie ec,
7837        ITfRange *pRange,
7838        ITfRange **ppRange,
7839        TfAnchor aPos);
7840
7841    HRESULT (STDMETHODCALLTYPE *SetValueStore)(
7842        ITfProperty* This,
7843        TfEditCookie ec,
7844        ITfRange *pRange,
7845        ITfPropertyStore *pPropStore);
7846
7847    HRESULT (STDMETHODCALLTYPE *SetValue)(
7848        ITfProperty* This,
7849        TfEditCookie ec,
7850        ITfRange *pRange,
7851        const VARIANT *pvarValue);
7852
7853    HRESULT (STDMETHODCALLTYPE *Clear)(
7854        ITfProperty* This,
7855        TfEditCookie ec,
7856        ITfRange *pRange);
7857
7858    END_INTERFACE
7859} ITfPropertyVtbl;
7860interface ITfProperty {
7861    CONST_VTBL ITfPropertyVtbl* lpVtbl;
7862};
7863
7864#ifdef COBJMACROS
7865#ifndef WIDL_C_INLINE_WRAPPERS
7866/*** IUnknown methods ***/
7867#define ITfProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7868#define ITfProperty_AddRef(This) (This)->lpVtbl->AddRef(This)
7869#define ITfProperty_Release(This) (This)->lpVtbl->Release(This)
7870/*** ITfReadOnlyProperty methods ***/
7871#define ITfProperty_GetType(This,pguid) (This)->lpVtbl->GetType(This,pguid)
7872#define ITfProperty_EnumRanges(This,ec,ppEnum,pTargetRange) (This)->lpVtbl->EnumRanges(This,ec,ppEnum,pTargetRange)
7873#define ITfProperty_GetValue(This,ec,pRange,pvarValue) (This)->lpVtbl->GetValue(This,ec,pRange,pvarValue)
7874#define ITfProperty_GetContext(This,ppContext) (This)->lpVtbl->GetContext(This,ppContext)
7875/*** ITfProperty methods ***/
7876#define ITfProperty_FindRange(This,ec,pRange,ppRange,aPos) (This)->lpVtbl->FindRange(This,ec,pRange,ppRange,aPos)
7877#define ITfProperty_SetValueStore(This,ec,pRange,pPropStore) (This)->lpVtbl->SetValueStore(This,ec,pRange,pPropStore)
7878#define ITfProperty_SetValue(This,ec,pRange,pvarValue) (This)->lpVtbl->SetValue(This,ec,pRange,pvarValue)
7879#define ITfProperty_Clear(This,ec,pRange) (This)->lpVtbl->Clear(This,ec,pRange)
7880#else
7881/*** IUnknown methods ***/
7882static FORCEINLINE HRESULT ITfProperty_QueryInterface(ITfProperty* This,REFIID riid,void **ppvObject) {
7883    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7884}
7885static FORCEINLINE ULONG ITfProperty_AddRef(ITfProperty* This) {
7886    return This->lpVtbl->AddRef(This);
7887}
7888static FORCEINLINE ULONG ITfProperty_Release(ITfProperty* This) {
7889    return This->lpVtbl->Release(This);
7890}
7891/*** ITfReadOnlyProperty methods ***/
7892static FORCEINLINE HRESULT ITfProperty_GetType(ITfProperty* This,GUID *pguid) {
7893    return This->lpVtbl->GetType(This,pguid);
7894}
7895static FORCEINLINE HRESULT ITfProperty_EnumRanges(ITfProperty* This,TfEditCookie ec,IEnumTfRanges **ppEnum,ITfRange *pTargetRange) {
7896    return This->lpVtbl->EnumRanges(This,ec,ppEnum,pTargetRange);
7897}
7898static FORCEINLINE HRESULT ITfProperty_GetValue(ITfProperty* This,TfEditCookie ec,ITfRange *pRange,VARIANT *pvarValue) {
7899    return This->lpVtbl->GetValue(This,ec,pRange,pvarValue);
7900}
7901static FORCEINLINE HRESULT ITfProperty_GetContext(ITfProperty* This,ITfContext **ppContext) {
7902    return This->lpVtbl->GetContext(This,ppContext);
7903}
7904/*** ITfProperty methods ***/
7905static FORCEINLINE HRESULT ITfProperty_FindRange(ITfProperty* This,TfEditCookie ec,ITfRange *pRange,ITfRange **ppRange,TfAnchor aPos) {
7906    return This->lpVtbl->FindRange(This,ec,pRange,ppRange,aPos);
7907}
7908static FORCEINLINE HRESULT ITfProperty_SetValueStore(ITfProperty* This,TfEditCookie ec,ITfRange *pRange,ITfPropertyStore *pPropStore) {
7909    return This->lpVtbl->SetValueStore(This,ec,pRange,pPropStore);
7910}
7911static FORCEINLINE HRESULT ITfProperty_SetValue(ITfProperty* This,TfEditCookie ec,ITfRange *pRange,const VARIANT *pvarValue) {
7912    return This->lpVtbl->SetValue(This,ec,pRange,pvarValue);
7913}
7914static FORCEINLINE HRESULT ITfProperty_Clear(ITfProperty* This,TfEditCookie ec,ITfRange *pRange) {
7915    return This->lpVtbl->Clear(This,ec,pRange);
7916}
7917#endif
7918#endif
7919
7920#endif
7921
7922HRESULT STDMETHODCALLTYPE ITfProperty_FindRange_Proxy(
7923    ITfProperty* This,
7924    TfEditCookie ec,
7925    ITfRange *pRange,
7926    ITfRange **ppRange,
7927    TfAnchor aPos);
7928void __RPC_STUB ITfProperty_FindRange_Stub(
7929    IRpcStubBuffer* This,
7930    IRpcChannelBuffer* pRpcChannelBuffer,
7931    PRPC_MESSAGE pRpcMessage,
7932    DWORD* pdwStubPhase);
7933HRESULT STDMETHODCALLTYPE ITfProperty_SetValueStore_Proxy(
7934    ITfProperty* This,
7935    TfEditCookie ec,
7936    ITfRange *pRange,
7937    ITfPropertyStore *pPropStore);
7938void __RPC_STUB ITfProperty_SetValueStore_Stub(
7939    IRpcStubBuffer* This,
7940    IRpcChannelBuffer* pRpcChannelBuffer,
7941    PRPC_MESSAGE pRpcMessage,
7942    DWORD* pdwStubPhase);
7943HRESULT STDMETHODCALLTYPE ITfProperty_SetValue_Proxy(
7944    ITfProperty* This,
7945    TfEditCookie ec,
7946    ITfRange *pRange,
7947    const VARIANT *pvarValue);
7948void __RPC_STUB ITfProperty_SetValue_Stub(
7949    IRpcStubBuffer* This,
7950    IRpcChannelBuffer* pRpcChannelBuffer,
7951    PRPC_MESSAGE pRpcMessage,
7952    DWORD* pdwStubPhase);
7953HRESULT STDMETHODCALLTYPE ITfProperty_Clear_Proxy(
7954    ITfProperty* This,
7955    TfEditCookie ec,
7956    ITfRange *pRange);
7957void __RPC_STUB ITfProperty_Clear_Stub(
7958    IRpcStubBuffer* This,
7959    IRpcChannelBuffer* pRpcChannelBuffer,
7960    PRPC_MESSAGE pRpcMessage,
7961    DWORD* pdwStubPhase);
7962
7963#endif  /* __ITfProperty_INTERFACE_DEFINED__ */
7964
7965/*****************************************************************************
7966 * ITfCompartment interface
7967 */
7968#ifndef __ITfCompartment_INTERFACE_DEFINED__
7969#define __ITfCompartment_INTERFACE_DEFINED__
7970
7971DEFINE_GUID(IID_ITfCompartment, 0xbb08f7a9, 0x607a, 0x4384, 0x86,0x23, 0x05,0x68,0x92,0xb6,0x43,0x71);
7972#if defined(__cplusplus) && !defined(CINTERFACE)
7973MIDL_INTERFACE("bb08f7a9-607a-4384-8623-056892b64371")
7974ITfCompartment : public IUnknown
7975{
7976    virtual HRESULT STDMETHODCALLTYPE SetValue(
7977        TfClientId tid,
7978        const VARIANT *pvarValue) = 0;
7979
7980    virtual HRESULT STDMETHODCALLTYPE GetValue(
7981        VARIANT *pvarValue) = 0;
7982
7983};
7984#ifdef __CRT_UUID_DECL
7985__CRT_UUID_DECL(ITfCompartment, 0xbb08f7a9, 0x607a, 0x4384, 0x86,0x23, 0x05,0x68,0x92,0xb6,0x43,0x71)
7986#endif
7987#else
7988typedef struct ITfCompartmentVtbl {
7989    BEGIN_INTERFACE
7990
7991    /*** IUnknown methods ***/
7992    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7993        ITfCompartment* This,
7994        REFIID riid,
7995        void **ppvObject);
7996
7997    ULONG (STDMETHODCALLTYPE *AddRef)(
7998        ITfCompartment* This);
7999
8000    ULONG (STDMETHODCALLTYPE *Release)(
8001        ITfCompartment* This);
8002
8003    /*** ITfCompartment methods ***/
8004    HRESULT (STDMETHODCALLTYPE *SetValue)(
8005        ITfCompartment* This,
8006        TfClientId tid,
8007        const VARIANT *pvarValue);
8008
8009    HRESULT (STDMETHODCALLTYPE *GetValue)(
8010        ITfCompartment* This,
8011        VARIANT *pvarValue);
8012
8013    END_INTERFACE
8014} ITfCompartmentVtbl;
8015interface ITfCompartment {
8016    CONST_VTBL ITfCompartmentVtbl* lpVtbl;
8017};
8018
8019#ifdef COBJMACROS
8020#ifndef WIDL_C_INLINE_WRAPPERS
8021/*** IUnknown methods ***/
8022#define ITfCompartment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8023#define ITfCompartment_AddRef(This) (This)->lpVtbl->AddRef(This)
8024#define ITfCompartment_Release(This) (This)->lpVtbl->Release(This)
8025/*** ITfCompartment methods ***/
8026#define ITfCompartment_SetValue(This,tid,pvarValue) (This)->lpVtbl->SetValue(This,tid,pvarValue)
8027#define ITfCompartment_GetValue(This,pvarValue) (This)->lpVtbl->GetValue(This,pvarValue)
8028#else
8029/*** IUnknown methods ***/
8030static FORCEINLINE HRESULT ITfCompartment_QueryInterface(ITfCompartment* This,REFIID riid,void **ppvObject) {
8031    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8032}
8033static FORCEINLINE ULONG ITfCompartment_AddRef(ITfCompartment* This) {
8034    return This->lpVtbl->AddRef(This);
8035}
8036static FORCEINLINE ULONG ITfCompartment_Release(ITfCompartment* This) {
8037    return This->lpVtbl->Release(This);
8038}
8039/*** ITfCompartment methods ***/
8040static FORCEINLINE HRESULT ITfCompartment_SetValue(ITfCompartment* This,TfClientId tid,const VARIANT *pvarValue) {
8041    return This->lpVtbl->SetValue(This,tid,pvarValue);
8042}
8043static FORCEINLINE HRESULT ITfCompartment_GetValue(ITfCompartment* This,VARIANT *pvarValue) {
8044    return This->lpVtbl->GetValue(This,pvarValue);
8045}
8046#endif
8047#endif
8048
8049#endif
8050
8051HRESULT STDMETHODCALLTYPE ITfCompartment_SetValue_Proxy(
8052    ITfCompartment* This,
8053    TfClientId tid,
8054    const VARIANT *pvarValue);
8055void __RPC_STUB ITfCompartment_SetValue_Stub(
8056    IRpcStubBuffer* This,
8057    IRpcChannelBuffer* pRpcChannelBuffer,
8058    PRPC_MESSAGE pRpcMessage,
8059    DWORD* pdwStubPhase);
8060HRESULT STDMETHODCALLTYPE ITfCompartment_GetValue_Proxy(
8061    ITfCompartment* This,
8062    VARIANT *pvarValue);
8063void __RPC_STUB ITfCompartment_GetValue_Stub(
8064    IRpcStubBuffer* This,
8065    IRpcChannelBuffer* pRpcChannelBuffer,
8066    PRPC_MESSAGE pRpcMessage,
8067    DWORD* pdwStubPhase);
8068
8069#endif  /* __ITfCompartment_INTERFACE_DEFINED__ */
8070
8071/*****************************************************************************
8072 * ITfCompartmentMgr interface
8073 */
8074#ifndef __ITfCompartmentMgr_INTERFACE_DEFINED__
8075#define __ITfCompartmentMgr_INTERFACE_DEFINED__
8076
8077DEFINE_GUID(IID_ITfCompartmentMgr, 0x7dcf57ac, 0x18ad, 0x438b, 0x82,0x4d, 0x97,0x9b,0xff,0xb7,0x4b,0x7c);
8078#if defined(__cplusplus) && !defined(CINTERFACE)
8079MIDL_INTERFACE("7dcf57ac-18ad-438b-824d-979bffb74b7c")
8080ITfCompartmentMgr : public IUnknown
8081{
8082    virtual HRESULT STDMETHODCALLTYPE GetCompartment(
8083        REFGUID rguid,
8084        ITfCompartment **ppcomp) = 0;
8085
8086    virtual HRESULT STDMETHODCALLTYPE ClearCompartment(
8087        TfClientId tid,
8088        REFGUID rguid) = 0;
8089
8090    virtual HRESULT STDMETHODCALLTYPE EnumCompartments(
8091        IEnumGUID **ppEnum) = 0;
8092
8093};
8094#ifdef __CRT_UUID_DECL
8095__CRT_UUID_DECL(ITfCompartmentMgr, 0x7dcf57ac, 0x18ad, 0x438b, 0x82,0x4d, 0x97,0x9b,0xff,0xb7,0x4b,0x7c)
8096#endif
8097#else
8098typedef struct ITfCompartmentMgrVtbl {
8099    BEGIN_INTERFACE
8100
8101    /*** IUnknown methods ***/
8102    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8103        ITfCompartmentMgr* This,
8104        REFIID riid,
8105        void **ppvObject);
8106
8107    ULONG (STDMETHODCALLTYPE *AddRef)(
8108        ITfCompartmentMgr* This);
8109
8110    ULONG (STDMETHODCALLTYPE *Release)(
8111        ITfCompartmentMgr* This);
8112
8113    /*** ITfCompartmentMgr methods ***/
8114    HRESULT (STDMETHODCALLTYPE *GetCompartment)(
8115        ITfCompartmentMgr* This,
8116        REFGUID rguid,
8117        ITfCompartment **ppcomp);
8118
8119    HRESULT (STDMETHODCALLTYPE *ClearCompartment)(
8120        ITfCompartmentMgr* This,
8121        TfClientId tid,
8122        REFGUID rguid);
8123
8124    HRESULT (STDMETHODCALLTYPE *EnumCompartments)(
8125        ITfCompartmentMgr* This,
8126        IEnumGUID **ppEnum);
8127
8128    END_INTERFACE
8129} ITfCompartmentMgrVtbl;
8130interface ITfCompartmentMgr {
8131    CONST_VTBL ITfCompartmentMgrVtbl* lpVtbl;
8132};
8133
8134#ifdef COBJMACROS
8135#ifndef WIDL_C_INLINE_WRAPPERS
8136/*** IUnknown methods ***/
8137#define ITfCompartmentMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8138#define ITfCompartmentMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
8139#define ITfCompartmentMgr_Release(This) (This)->lpVtbl->Release(This)
8140/*** ITfCompartmentMgr methods ***/
8141#define ITfCompartmentMgr_GetCompartment(This,rguid,ppcomp) (This)->lpVtbl->GetCompartment(This,rguid,ppcomp)
8142#define ITfCompartmentMgr_ClearCompartment(This,tid,rguid) (This)->lpVtbl->ClearCompartment(This,tid,rguid)
8143#define ITfCompartmentMgr_EnumCompartments(This,ppEnum) (This)->lpVtbl->EnumCompartments(This,ppEnum)
8144#else
8145/*** IUnknown methods ***/
8146static FORCEINLINE HRESULT ITfCompartmentMgr_QueryInterface(ITfCompartmentMgr* This,REFIID riid,void **ppvObject) {
8147    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8148}
8149static FORCEINLINE ULONG ITfCompartmentMgr_AddRef(ITfCompartmentMgr* This) {
8150    return This->lpVtbl->AddRef(This);
8151}
8152static FORCEINLINE ULONG ITfCompartmentMgr_Release(ITfCompartmentMgr* This) {
8153    return This->lpVtbl->Release(This);
8154}
8155/*** ITfCompartmentMgr methods ***/
8156static FORCEINLINE HRESULT ITfCompartmentMgr_GetCompartment(ITfCompartmentMgr* This,REFGUID rguid,ITfCompartment **ppcomp) {
8157    return This->lpVtbl->GetCompartment(This,rguid,ppcomp);
8158}
8159static FORCEINLINE HRESULT ITfCompartmentMgr_ClearCompartment(ITfCompartmentMgr* This,TfClientId tid,REFGUID rguid) {
8160    return This->lpVtbl->ClearCompartment(This,tid,rguid);
8161}
8162static FORCEINLINE HRESULT ITfCompartmentMgr_EnumCompartments(ITfCompartmentMgr* This,IEnumGUID **ppEnum) {
8163    return This->lpVtbl->EnumCompartments(This,ppEnum);
8164}
8165#endif
8166#endif
8167
8168#endif
8169
8170HRESULT STDMETHODCALLTYPE ITfCompartmentMgr_GetCompartment_Proxy(
8171    ITfCompartmentMgr* This,
8172    REFGUID rguid,
8173    ITfCompartment **ppcomp);
8174void __RPC_STUB ITfCompartmentMgr_GetCompartment_Stub(
8175    IRpcStubBuffer* This,
8176    IRpcChannelBuffer* pRpcChannelBuffer,
8177    PRPC_MESSAGE pRpcMessage,
8178    DWORD* pdwStubPhase);
8179HRESULT STDMETHODCALLTYPE ITfCompartmentMgr_ClearCompartment_Proxy(
8180    ITfCompartmentMgr* This,
8181    TfClientId tid,
8182    REFGUID rguid);
8183void __RPC_STUB ITfCompartmentMgr_ClearCompartment_Stub(
8184    IRpcStubBuffer* This,
8185    IRpcChannelBuffer* pRpcChannelBuffer,
8186    PRPC_MESSAGE pRpcMessage,
8187    DWORD* pdwStubPhase);
8188HRESULT STDMETHODCALLTYPE ITfCompartmentMgr_EnumCompartments_Proxy(
8189    ITfCompartmentMgr* This,
8190    IEnumGUID **ppEnum);
8191void __RPC_STUB ITfCompartmentMgr_EnumCompartments_Stub(
8192    IRpcStubBuffer* This,
8193    IRpcChannelBuffer* pRpcChannelBuffer,
8194    PRPC_MESSAGE pRpcMessage,
8195    DWORD* pdwStubPhase);
8196
8197#endif  /* __ITfCompartmentMgr_INTERFACE_DEFINED__ */
8198
8199/*****************************************************************************
8200 * ITfCompartmentEventSink interface
8201 */
8202#ifndef __ITfCompartmentEventSink_INTERFACE_DEFINED__
8203#define __ITfCompartmentEventSink_INTERFACE_DEFINED__
8204
8205DEFINE_GUID(IID_ITfCompartmentEventSink, 0x743abd5f, 0xf26d, 0x48df, 0x8c,0xc5, 0x23,0x84,0x92,0x41,0x9b,0x64);
8206#if defined(__cplusplus) && !defined(CINTERFACE)
8207MIDL_INTERFACE("743abd5f-f26d-48df-8cc5-238492419b64")
8208ITfCompartmentEventSink : public IUnknown
8209{
8210    virtual HRESULT STDMETHODCALLTYPE OnChange(
8211        REFGUID rguid) = 0;
8212
8213};
8214#ifdef __CRT_UUID_DECL
8215__CRT_UUID_DECL(ITfCompartmentEventSink, 0x743abd5f, 0xf26d, 0x48df, 0x8c,0xc5, 0x23,0x84,0x92,0x41,0x9b,0x64)
8216#endif
8217#else
8218typedef struct ITfCompartmentEventSinkVtbl {
8219    BEGIN_INTERFACE
8220
8221    /*** IUnknown methods ***/
8222    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8223        ITfCompartmentEventSink* This,
8224        REFIID riid,
8225        void **ppvObject);
8226
8227    ULONG (STDMETHODCALLTYPE *AddRef)(
8228        ITfCompartmentEventSink* This);
8229
8230    ULONG (STDMETHODCALLTYPE *Release)(
8231        ITfCompartmentEventSink* This);
8232
8233    /*** ITfCompartmentEventSink methods ***/
8234    HRESULT (STDMETHODCALLTYPE *OnChange)(
8235        ITfCompartmentEventSink* This,
8236        REFGUID rguid);
8237
8238    END_INTERFACE
8239} ITfCompartmentEventSinkVtbl;
8240interface ITfCompartmentEventSink {
8241    CONST_VTBL ITfCompartmentEventSinkVtbl* lpVtbl;
8242};
8243
8244#ifdef COBJMACROS
8245#ifndef WIDL_C_INLINE_WRAPPERS
8246/*** IUnknown methods ***/
8247#define ITfCompartmentEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8248#define ITfCompartmentEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
8249#define ITfCompartmentEventSink_Release(This) (This)->lpVtbl->Release(This)
8250/*** ITfCompartmentEventSink methods ***/
8251#define ITfCompartmentEventSink_OnChange(This,rguid) (This)->lpVtbl->OnChange(This,rguid)
8252#else
8253/*** IUnknown methods ***/
8254static FORCEINLINE HRESULT ITfCompartmentEventSink_QueryInterface(ITfCompartmentEventSink* This,REFIID riid,void **ppvObject) {
8255    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8256}
8257static FORCEINLINE ULONG ITfCompartmentEventSink_AddRef(ITfCompartmentEventSink* This) {
8258    return This->lpVtbl->AddRef(This);
8259}
8260static FORCEINLINE ULONG ITfCompartmentEventSink_Release(ITfCompartmentEventSink* This) {
8261    return This->lpVtbl->Release(This);
8262}
8263/*** ITfCompartmentEventSink methods ***/
8264static FORCEINLINE HRESULT ITfCompartmentEventSink_OnChange(ITfCompartmentEventSink* This,REFGUID rguid) {
8265    return This->lpVtbl->OnChange(This,rguid);
8266}
8267#endif
8268#endif
8269
8270#endif
8271
8272HRESULT STDMETHODCALLTYPE ITfCompartmentEventSink_OnChange_Proxy(
8273    ITfCompartmentEventSink* This,
8274    REFGUID rguid);
8275void __RPC_STUB ITfCompartmentEventSink_OnChange_Stub(
8276    IRpcStubBuffer* This,
8277    IRpcChannelBuffer* pRpcChannelBuffer,
8278    PRPC_MESSAGE pRpcMessage,
8279    DWORD* pdwStubPhase);
8280
8281#endif  /* __ITfCompartmentEventSink_INTERFACE_DEFINED__ */
8282
8283/*****************************************************************************
8284 * IEnumTfContexts interface
8285 */
8286#ifndef __IEnumTfContexts_INTERFACE_DEFINED__
8287#define __IEnumTfContexts_INTERFACE_DEFINED__
8288
8289DEFINE_GUID(IID_IEnumTfContexts, 0x8f1a7ea6, 0x1654, 0x4502, 0xa8,0x6e, 0xb2,0x90,0x23,0x44,0xd5,0x07);
8290#if defined(__cplusplus) && !defined(CINTERFACE)
8291MIDL_INTERFACE("8f1a7ea6-1654-4502-a86e-b2902344d507")
8292IEnumTfContexts : public IUnknown
8293{
8294    virtual HRESULT STDMETHODCALLTYPE Clone(
8295        IEnumTfContexts **ppEnum) = 0;
8296
8297    virtual HRESULT STDMETHODCALLTYPE Next(
8298        ULONG ulCount,
8299        ITfContext **rgContext,
8300        ULONG *pcFetched) = 0;
8301
8302    virtual HRESULT STDMETHODCALLTYPE Reset(
8303        ) = 0;
8304
8305    virtual HRESULT STDMETHODCALLTYPE Skip(
8306        ULONG ulCount) = 0;
8307
8308};
8309#ifdef __CRT_UUID_DECL
8310__CRT_UUID_DECL(IEnumTfContexts, 0x8f1a7ea6, 0x1654, 0x4502, 0xa8,0x6e, 0xb2,0x90,0x23,0x44,0xd5,0x07)
8311#endif
8312#else
8313typedef struct IEnumTfContextsVtbl {
8314    BEGIN_INTERFACE
8315
8316    /*** IUnknown methods ***/
8317    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8318        IEnumTfContexts* This,
8319        REFIID riid,
8320        void **ppvObject);
8321
8322    ULONG (STDMETHODCALLTYPE *AddRef)(
8323        IEnumTfContexts* This);
8324
8325    ULONG (STDMETHODCALLTYPE *Release)(
8326        IEnumTfContexts* This);
8327
8328    /*** IEnumTfContexts methods ***/
8329    HRESULT (STDMETHODCALLTYPE *Clone)(
8330        IEnumTfContexts* This,
8331        IEnumTfContexts **ppEnum);
8332
8333    HRESULT (STDMETHODCALLTYPE *Next)(
8334        IEnumTfContexts* This,
8335        ULONG ulCount,
8336        ITfContext **rgContext,
8337        ULONG *pcFetched);
8338
8339    HRESULT (STDMETHODCALLTYPE *Reset)(
8340        IEnumTfContexts* This);
8341
8342    HRESULT (STDMETHODCALLTYPE *Skip)(
8343        IEnumTfContexts* This,
8344        ULONG ulCount);
8345
8346    END_INTERFACE
8347} IEnumTfContextsVtbl;
8348interface IEnumTfContexts {
8349    CONST_VTBL IEnumTfContextsVtbl* lpVtbl;
8350};
8351
8352#ifdef COBJMACROS
8353#ifndef WIDL_C_INLINE_WRAPPERS
8354/*** IUnknown methods ***/
8355#define IEnumTfContexts_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8356#define IEnumTfContexts_AddRef(This) (This)->lpVtbl->AddRef(This)
8357#define IEnumTfContexts_Release(This) (This)->lpVtbl->Release(This)
8358/*** IEnumTfContexts methods ***/
8359#define IEnumTfContexts_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
8360#define IEnumTfContexts_Next(This,ulCount,rgContext,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgContext,pcFetched)
8361#define IEnumTfContexts_Reset(This) (This)->lpVtbl->Reset(This)
8362#define IEnumTfContexts_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
8363#else
8364/*** IUnknown methods ***/
8365static FORCEINLINE HRESULT IEnumTfContexts_QueryInterface(IEnumTfContexts* This,REFIID riid,void **ppvObject) {
8366    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8367}
8368static FORCEINLINE ULONG IEnumTfContexts_AddRef(IEnumTfContexts* This) {
8369    return This->lpVtbl->AddRef(This);
8370}
8371static FORCEINLINE ULONG IEnumTfContexts_Release(IEnumTfContexts* This) {
8372    return This->lpVtbl->Release(This);
8373}
8374/*** IEnumTfContexts methods ***/
8375static FORCEINLINE HRESULT IEnumTfContexts_Clone(IEnumTfContexts* This,IEnumTfContexts **ppEnum) {
8376    return This->lpVtbl->Clone(This,ppEnum);
8377}
8378static FORCEINLINE HRESULT IEnumTfContexts_Next(IEnumTfContexts* This,ULONG ulCount,ITfContext **rgContext,ULONG *pcFetched) {
8379    return This->lpVtbl->Next(This,ulCount,rgContext,pcFetched);
8380}
8381static FORCEINLINE HRESULT IEnumTfContexts_Reset(IEnumTfContexts* This) {
8382    return This->lpVtbl->Reset(This);
8383}
8384static FORCEINLINE HRESULT IEnumTfContexts_Skip(IEnumTfContexts* This,ULONG ulCount) {
8385    return This->lpVtbl->Skip(This,ulCount);
8386}
8387#endif
8388#endif
8389
8390#endif
8391
8392HRESULT STDMETHODCALLTYPE IEnumTfContexts_Clone_Proxy(
8393    IEnumTfContexts* This,
8394    IEnumTfContexts **ppEnum);
8395void __RPC_STUB IEnumTfContexts_Clone_Stub(
8396    IRpcStubBuffer* This,
8397    IRpcChannelBuffer* pRpcChannelBuffer,
8398    PRPC_MESSAGE pRpcMessage,
8399    DWORD* pdwStubPhase);
8400HRESULT STDMETHODCALLTYPE IEnumTfContexts_Next_Proxy(
8401    IEnumTfContexts* This,
8402    ULONG ulCount,
8403    ITfContext **rgContext,
8404    ULONG *pcFetched);
8405void __RPC_STUB IEnumTfContexts_Next_Stub(
8406    IRpcStubBuffer* This,
8407    IRpcChannelBuffer* pRpcChannelBuffer,
8408    PRPC_MESSAGE pRpcMessage,
8409    DWORD* pdwStubPhase);
8410HRESULT STDMETHODCALLTYPE IEnumTfContexts_Reset_Proxy(
8411    IEnumTfContexts* This);
8412void __RPC_STUB IEnumTfContexts_Reset_Stub(
8413    IRpcStubBuffer* This,
8414    IRpcChannelBuffer* pRpcChannelBuffer,
8415    PRPC_MESSAGE pRpcMessage,
8416    DWORD* pdwStubPhase);
8417HRESULT STDMETHODCALLTYPE IEnumTfContexts_Skip_Proxy(
8418    IEnumTfContexts* This,
8419    ULONG ulCount);
8420void __RPC_STUB IEnumTfContexts_Skip_Stub(
8421    IRpcStubBuffer* This,
8422    IRpcChannelBuffer* pRpcChannelBuffer,
8423    PRPC_MESSAGE pRpcMessage,
8424    DWORD* pdwStubPhase);
8425
8426#endif  /* __IEnumTfContexts_INTERFACE_DEFINED__ */
8427
8428/*****************************************************************************
8429 * IEnumTfDocumentMgrs interface
8430 */
8431#ifndef __IEnumTfDocumentMgrs_INTERFACE_DEFINED__
8432#define __IEnumTfDocumentMgrs_INTERFACE_DEFINED__
8433
8434DEFINE_GUID(IID_IEnumTfDocumentMgrs, 0xaa80e808, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e);
8435#if defined(__cplusplus) && !defined(CINTERFACE)
8436MIDL_INTERFACE("aa80e808-2021-11d2-93e0-0060b067b86e")
8437IEnumTfDocumentMgrs : public IUnknown
8438{
8439    virtual HRESULT STDMETHODCALLTYPE Clone(
8440        IEnumTfDocumentMgrs **ppEnum) = 0;
8441
8442    virtual HRESULT STDMETHODCALLTYPE Next(
8443        ULONG ulCount,
8444        ITfDocumentMgr **rgDocumentMgr,
8445        ULONG *pcFetched) = 0;
8446
8447    virtual HRESULT STDMETHODCALLTYPE Reset(
8448        ) = 0;
8449
8450    virtual HRESULT STDMETHODCALLTYPE Skip(
8451        ULONG ulCount) = 0;
8452
8453};
8454#ifdef __CRT_UUID_DECL
8455__CRT_UUID_DECL(IEnumTfDocumentMgrs, 0xaa80e808, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e)
8456#endif
8457#else
8458typedef struct IEnumTfDocumentMgrsVtbl {
8459    BEGIN_INTERFACE
8460
8461    /*** IUnknown methods ***/
8462    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8463        IEnumTfDocumentMgrs* This,
8464        REFIID riid,
8465        void **ppvObject);
8466
8467    ULONG (STDMETHODCALLTYPE *AddRef)(
8468        IEnumTfDocumentMgrs* This);
8469
8470    ULONG (STDMETHODCALLTYPE *Release)(
8471        IEnumTfDocumentMgrs* This);
8472
8473    /*** IEnumTfDocumentMgrs methods ***/
8474    HRESULT (STDMETHODCALLTYPE *Clone)(
8475        IEnumTfDocumentMgrs* This,
8476        IEnumTfDocumentMgrs **ppEnum);
8477
8478    HRESULT (STDMETHODCALLTYPE *Next)(
8479        IEnumTfDocumentMgrs* This,
8480        ULONG ulCount,
8481        ITfDocumentMgr **rgDocumentMgr,
8482        ULONG *pcFetched);
8483
8484    HRESULT (STDMETHODCALLTYPE *Reset)(
8485        IEnumTfDocumentMgrs* This);
8486
8487    HRESULT (STDMETHODCALLTYPE *Skip)(
8488        IEnumTfDocumentMgrs* This,
8489        ULONG ulCount);
8490
8491    END_INTERFACE
8492} IEnumTfDocumentMgrsVtbl;
8493interface IEnumTfDocumentMgrs {
8494    CONST_VTBL IEnumTfDocumentMgrsVtbl* lpVtbl;
8495};
8496
8497#ifdef COBJMACROS
8498#ifndef WIDL_C_INLINE_WRAPPERS
8499/*** IUnknown methods ***/
8500#define IEnumTfDocumentMgrs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8501#define IEnumTfDocumentMgrs_AddRef(This) (This)->lpVtbl->AddRef(This)
8502#define IEnumTfDocumentMgrs_Release(This) (This)->lpVtbl->Release(This)
8503/*** IEnumTfDocumentMgrs methods ***/
8504#define IEnumTfDocumentMgrs_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
8505#define IEnumTfDocumentMgrs_Next(This,ulCount,rgDocumentMgr,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgDocumentMgr,pcFetched)
8506#define IEnumTfDocumentMgrs_Reset(This) (This)->lpVtbl->Reset(This)
8507#define IEnumTfDocumentMgrs_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount)
8508#else
8509/*** IUnknown methods ***/
8510static FORCEINLINE HRESULT IEnumTfDocumentMgrs_QueryInterface(IEnumTfDocumentMgrs* This,REFIID riid,void **ppvObject) {
8511    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8512}
8513static FORCEINLINE ULONG IEnumTfDocumentMgrs_AddRef(IEnumTfDocumentMgrs* This) {
8514    return This->lpVtbl->AddRef(This);
8515}
8516static FORCEINLINE ULONG IEnumTfDocumentMgrs_Release(IEnumTfDocumentMgrs* This) {
8517    return This->lpVtbl->Release(This);
8518}
8519/*** IEnumTfDocumentMgrs methods ***/
8520static FORCEINLINE HRESULT IEnumTfDocumentMgrs_Clone(IEnumTfDocumentMgrs* This,IEnumTfDocumentMgrs **ppEnum) {
8521    return This->lpVtbl->Clone(This,ppEnum);
8522}
8523static FORCEINLINE HRESULT IEnumTfDocumentMgrs_Next(IEnumTfDocumentMgrs* This,ULONG ulCount,ITfDocumentMgr **rgDocumentMgr,ULONG *pcFetched) {
8524    return This->lpVtbl->Next(This,ulCount,rgDocumentMgr,pcFetched);
8525}
8526static FORCEINLINE HRESULT IEnumTfDocumentMgrs_Reset(IEnumTfDocumentMgrs* This) {
8527    return This->lpVtbl->Reset(This);
8528}
8529static FORCEINLINE HRESULT IEnumTfDocumentMgrs_Skip(IEnumTfDocumentMgrs* This,ULONG ulCount) {
8530    return This->lpVtbl->Skip(This,ulCount);
8531}
8532#endif
8533#endif
8534
8535#endif
8536
8537HRESULT STDMETHODCALLTYPE IEnumTfDocumentMgrs_Clone_Proxy(
8538    IEnumTfDocumentMgrs* This,
8539    IEnumTfDocumentMgrs **ppEnum);
8540void __RPC_STUB IEnumTfDocumentMgrs_Clone_Stub(
8541    IRpcStubBuffer* This,
8542    IRpcChannelBuffer* pRpcChannelBuffer,
8543    PRPC_MESSAGE pRpcMessage,
8544    DWORD* pdwStubPhase);
8545HRESULT STDMETHODCALLTYPE IEnumTfDocumentMgrs_Next_Proxy(
8546    IEnumTfDocumentMgrs* This,
8547    ULONG ulCount,
8548    ITfDocumentMgr **rgDocumentMgr,
8549    ULONG *pcFetched);
8550void __RPC_STUB IEnumTfDocumentMgrs_Next_Stub(
8551    IRpcStubBuffer* This,
8552    IRpcChannelBuffer* pRpcChannelBuffer,
8553    PRPC_MESSAGE pRpcMessage,
8554    DWORD* pdwStubPhase);
8555HRESULT STDMETHODCALLTYPE IEnumTfDocumentMgrs_Reset_Proxy(
8556    IEnumTfDocumentMgrs* This);
8557void __RPC_STUB IEnumTfDocumentMgrs_Reset_Stub(
8558    IRpcStubBuffer* This,
8559    IRpcChannelBuffer* pRpcChannelBuffer,
8560    PRPC_MESSAGE pRpcMessage,
8561    DWORD* pdwStubPhase);
8562HRESULT STDMETHODCALLTYPE IEnumTfDocumentMgrs_Skip_Proxy(
8563    IEnumTfDocumentMgrs* This,
8564    ULONG ulCount);
8565void __RPC_STUB IEnumTfDocumentMgrs_Skip_Stub(
8566    IRpcStubBuffer* This,
8567    IRpcChannelBuffer* pRpcChannelBuffer,
8568    PRPC_MESSAGE pRpcMessage,
8569    DWORD* pdwStubPhase);
8570
8571#endif  /* __IEnumTfDocumentMgrs_INTERFACE_DEFINED__ */
8572
8573/*****************************************************************************
8574 * ITfSourceSingle interface
8575 */
8576#ifndef __ITfSourceSingle_INTERFACE_DEFINED__
8577#define __ITfSourceSingle_INTERFACE_DEFINED__
8578
8579DEFINE_GUID(IID_ITfSourceSingle, 0x73131f9c, 0x56a9, 0x49dd, 0xb0,0xee, 0xd0,0x46,0x63,0x3f,0x75,0x28);
8580#if defined(__cplusplus) && !defined(CINTERFACE)
8581MIDL_INTERFACE("73131f9c-56a9-49dd-b0ee-d046633f7528")
8582ITfSourceSingle : public IUnknown
8583{
8584    virtual HRESULT STDMETHODCALLTYPE AdviseSingleSink(
8585        TfClientId tid,
8586        REFIID riid,
8587        IUnknown *punk) = 0;
8588
8589    virtual HRESULT STDMETHODCALLTYPE UnadviseSingleSink(
8590        TfClientId tid,
8591        REFIID riid) = 0;
8592
8593};
8594#ifdef __CRT_UUID_DECL
8595__CRT_UUID_DECL(ITfSourceSingle, 0x73131f9c, 0x56a9, 0x49dd, 0xb0,0xee, 0xd0,0x46,0x63,0x3f,0x75,0x28)
8596#endif
8597#else
8598typedef struct ITfSourceSingleVtbl {
8599    BEGIN_INTERFACE
8600
8601    /*** IUnknown methods ***/
8602    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8603        ITfSourceSingle* This,
8604        REFIID riid,
8605        void **ppvObject);
8606
8607    ULONG (STDMETHODCALLTYPE *AddRef)(
8608        ITfSourceSingle* This);
8609
8610    ULONG (STDMETHODCALLTYPE *Release)(
8611        ITfSourceSingle* This);
8612
8613    /*** ITfSourceSingle methods ***/
8614    HRESULT (STDMETHODCALLTYPE *AdviseSingleSink)(
8615        ITfSourceSingle* This,
8616        TfClientId tid,
8617        REFIID riid,
8618        IUnknown *punk);
8619
8620    HRESULT (STDMETHODCALLTYPE *UnadviseSingleSink)(
8621        ITfSourceSingle* This,
8622        TfClientId tid,
8623        REFIID riid);
8624
8625    END_INTERFACE
8626} ITfSourceSingleVtbl;
8627interface ITfSourceSingle {
8628    CONST_VTBL ITfSourceSingleVtbl* lpVtbl;
8629};
8630
8631#ifdef COBJMACROS
8632#ifndef WIDL_C_INLINE_WRAPPERS
8633/*** IUnknown methods ***/
8634#define ITfSourceSingle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8635#define ITfSourceSingle_AddRef(This) (This)->lpVtbl->AddRef(This)
8636#define ITfSourceSingle_Release(This) (This)->lpVtbl->Release(This)
8637/*** ITfSourceSingle methods ***/
8638#define ITfSourceSingle_AdviseSingleSink(This,tid,riid,punk) (This)->lpVtbl->AdviseSingleSink(This,tid,riid,punk)
8639#define ITfSourceSingle_UnadviseSingleSink(This,tid,riid) (This)->lpVtbl->UnadviseSingleSink(This,tid,riid)
8640#else
8641/*** IUnknown methods ***/
8642static FORCEINLINE HRESULT ITfSourceSingle_QueryInterface(ITfSourceSingle* This,REFIID riid,void **ppvObject) {
8643    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8644}
8645static FORCEINLINE ULONG ITfSourceSingle_AddRef(ITfSourceSingle* This) {
8646    return This->lpVtbl->AddRef(This);
8647}
8648static FORCEINLINE ULONG ITfSourceSingle_Release(ITfSourceSingle* This) {
8649    return This->lpVtbl->Release(This);
8650}
8651/*** ITfSourceSingle methods ***/
8652static FORCEINLINE HRESULT ITfSourceSingle_AdviseSingleSink(ITfSourceSingle* This,TfClientId tid,REFIID riid,IUnknown *punk) {
8653    return This->lpVtbl->AdviseSingleSink(This,tid,riid,punk);
8654}
8655static FORCEINLINE HRESULT ITfSourceSingle_UnadviseSingleSink(ITfSourceSingle* This,TfClientId tid,REFIID riid) {
8656    return This->lpVtbl->UnadviseSingleSink(This,tid,riid);
8657}
8658#endif
8659#endif
8660
8661#endif
8662
8663HRESULT STDMETHODCALLTYPE ITfSourceSingle_AdviseSingleSink_Proxy(
8664    ITfSourceSingle* This,
8665    TfClientId tid,
8666    REFIID riid,
8667    IUnknown *punk);
8668void __RPC_STUB ITfSourceSingle_AdviseSingleSink_Stub(
8669    IRpcStubBuffer* This,
8670    IRpcChannelBuffer* pRpcChannelBuffer,
8671    PRPC_MESSAGE pRpcMessage,
8672    DWORD* pdwStubPhase);
8673HRESULT STDMETHODCALLTYPE ITfSourceSingle_UnadviseSingleSink_Proxy(
8674    ITfSourceSingle* This,
8675    TfClientId tid,
8676    REFIID riid);
8677void __RPC_STUB ITfSourceSingle_UnadviseSingleSink_Stub(
8678    IRpcStubBuffer* This,
8679    IRpcChannelBuffer* pRpcChannelBuffer,
8680    PRPC_MESSAGE pRpcMessage,
8681    DWORD* pdwStubPhase);
8682
8683#endif  /* __ITfSourceSingle_INTERFACE_DEFINED__ */
8684
8685/*****************************************************************************
8686 * ITfThreadFocusSink interface
8687 */
8688#ifndef __ITfThreadFocusSink_INTERFACE_DEFINED__
8689#define __ITfThreadFocusSink_INTERFACE_DEFINED__
8690
8691DEFINE_GUID(IID_ITfThreadFocusSink, 0xc0f1db0c, 0x3a20, 0x405c, 0xa3,0x03, 0x96,0xb6,0x01,0x0a,0x88,0x5f);
8692#if defined(__cplusplus) && !defined(CINTERFACE)
8693MIDL_INTERFACE("c0f1db0c-3a20-405c-a303-96b6010a885f")
8694ITfThreadFocusSink : public IUnknown
8695{
8696    virtual HRESULT STDMETHODCALLTYPE OnSetThreadFocus(
8697        ) = 0;
8698
8699    virtual HRESULT STDMETHODCALLTYPE OnKillThreadFocus(
8700        ) = 0;
8701
8702};
8703#ifdef __CRT_UUID_DECL
8704__CRT_UUID_DECL(ITfThreadFocusSink, 0xc0f1db0c, 0x3a20, 0x405c, 0xa3,0x03, 0x96,0xb6,0x01,0x0a,0x88,0x5f)
8705#endif
8706#else
8707typedef struct ITfThreadFocusSinkVtbl {
8708    BEGIN_INTERFACE
8709
8710    /*** IUnknown methods ***/
8711    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8712        ITfThreadFocusSink* This,
8713        REFIID riid,
8714        void **ppvObject);
8715
8716    ULONG (STDMETHODCALLTYPE *AddRef)(
8717        ITfThreadFocusSink* This);
8718
8719    ULONG (STDMETHODCALLTYPE *Release)(
8720        ITfThreadFocusSink* This);
8721
8722    /*** ITfThreadFocusSink methods ***/
8723    HRESULT (STDMETHODCALLTYPE *OnSetThreadFocus)(
8724        ITfThreadFocusSink* This);
8725
8726    HRESULT (STDMETHODCALLTYPE *OnKillThreadFocus)(
8727        ITfThreadFocusSink* This);
8728
8729    END_INTERFACE
8730} ITfThreadFocusSinkVtbl;
8731interface ITfThreadFocusSink {
8732    CONST_VTBL ITfThreadFocusSinkVtbl* lpVtbl;
8733};
8734
8735#ifdef COBJMACROS
8736#ifndef WIDL_C_INLINE_WRAPPERS
8737/*** IUnknown methods ***/
8738#define ITfThreadFocusSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8739#define ITfThreadFocusSink_AddRef(This) (This)->lpVtbl->AddRef(This)
8740#define ITfThreadFocusSink_Release(This) (This)->lpVtbl->Release(This)
8741/*** ITfThreadFocusSink methods ***/
8742#define ITfThreadFocusSink_OnSetThreadFocus(This) (This)->lpVtbl->OnSetThreadFocus(This)
8743#define ITfThreadFocusSink_OnKillThreadFocus(This) (This)->lpVtbl->OnKillThreadFocus(This)
8744#else
8745/*** IUnknown methods ***/
8746static FORCEINLINE HRESULT ITfThreadFocusSink_QueryInterface(ITfThreadFocusSink* This,REFIID riid,void **ppvObject) {
8747    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8748}
8749static FORCEINLINE ULONG ITfThreadFocusSink_AddRef(ITfThreadFocusSink* This) {
8750    return This->lpVtbl->AddRef(This);
8751}
8752static FORCEINLINE ULONG ITfThreadFocusSink_Release(ITfThreadFocusSink* This) {
8753    return This->lpVtbl->Release(This);
8754}
8755/*** ITfThreadFocusSink methods ***/
8756static FORCEINLINE HRESULT ITfThreadFocusSink_OnSetThreadFocus(ITfThreadFocusSink* This) {
8757    return This->lpVtbl->OnSetThreadFocus(This);
8758}
8759static FORCEINLINE HRESULT ITfThreadFocusSink_OnKillThreadFocus(ITfThreadFocusSink* This) {
8760    return This->lpVtbl->OnKillThreadFocus(This);
8761}
8762#endif
8763#endif
8764
8765#endif
8766
8767HRESULT STDMETHODCALLTYPE ITfThreadFocusSink_OnSetThreadFocus_Proxy(
8768    ITfThreadFocusSink* This);
8769void __RPC_STUB ITfThreadFocusSink_OnSetThreadFocus_Stub(
8770    IRpcStubBuffer* This,
8771    IRpcChannelBuffer* pRpcChannelBuffer,
8772    PRPC_MESSAGE pRpcMessage,
8773    DWORD* pdwStubPhase);
8774HRESULT STDMETHODCALLTYPE ITfThreadFocusSink_OnKillThreadFocus_Proxy(
8775    ITfThreadFocusSink* This);
8776void __RPC_STUB ITfThreadFocusSink_OnKillThreadFocus_Stub(
8777    IRpcStubBuffer* This,
8778    IRpcChannelBuffer* pRpcChannelBuffer,
8779    PRPC_MESSAGE pRpcMessage,
8780    DWORD* pdwStubPhase);
8781
8782#endif  /* __ITfThreadFocusSink_INTERFACE_DEFINED__ */
8783
8784/* Begin additional prototypes for all interfaces */
8785
8786ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
8787unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
8788unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
8789void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
8790ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
8791unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
8792unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
8793void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
8794ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
8795unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
8796unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
8797void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
8798
8799/* End additional prototypes */
8800
8801#ifdef __cplusplus
8802}
8803#endif
8804
8805#endif /* __msctf_h__ */
8806