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