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