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, 0