|  | /*** Autogenerated by WIDL 5.16 from include/msctf.idl - Do not edit ***/ | 
|  |  | 
|  | #ifdef _WIN32 | 
|  | #ifndef __REQUIRED_RPCNDR_H_VERSION__ | 
|  | #define __REQUIRED_RPCNDR_H_VERSION__ 475 | 
|  | #endif | 
|  | #include <rpc.h> | 
|  | #include <rpcndr.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef COM_NO_WINDOWS_H | 
|  | #include <windows.h> | 
|  | #include <ole2.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef __msctf_h__ | 
|  | #define __msctf_h__ | 
|  |  | 
|  | /* Forward declarations */ | 
|  |  | 
|  | #ifndef __ITfFunctionProvider_FWD_DEFINED__ | 
|  | #define __ITfFunctionProvider_FWD_DEFINED__ | 
|  | typedef interface ITfFunctionProvider ITfFunctionProvider; | 
|  | #ifdef __cplusplus | 
|  | interface ITfFunctionProvider; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfFunctionProviders_FWD_DEFINED__ | 
|  | #define __IEnumTfFunctionProviders_FWD_DEFINED__ | 
|  | typedef interface IEnumTfFunctionProviders IEnumTfFunctionProviders; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfFunctionProviders; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfThreadMgr_FWD_DEFINED__ | 
|  | #define __ITfThreadMgr_FWD_DEFINED__ | 
|  | typedef interface ITfThreadMgr ITfThreadMgr; | 
|  | #ifdef __cplusplus | 
|  | interface ITfThreadMgr; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfThreadMgrEx_FWD_DEFINED__ | 
|  | #define __ITfThreadMgrEx_FWD_DEFINED__ | 
|  | typedef interface ITfThreadMgrEx ITfThreadMgrEx; | 
|  | #ifdef __cplusplus | 
|  | interface ITfThreadMgrEx; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfCompositionView_FWD_DEFINED__ | 
|  | #define __ITfCompositionView_FWD_DEFINED__ | 
|  | typedef interface ITfCompositionView ITfCompositionView; | 
|  | #ifdef __cplusplus | 
|  | interface ITfCompositionView; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfDocumentMgr_FWD_DEFINED__ | 
|  | #define __ITfDocumentMgr_FWD_DEFINED__ | 
|  | typedef interface ITfDocumentMgr ITfDocumentMgr; | 
|  | #ifdef __cplusplus | 
|  | interface ITfDocumentMgr; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfContextView_FWD_DEFINED__ | 
|  | #define __ITfContextView_FWD_DEFINED__ | 
|  | typedef interface ITfContextView ITfContextView; | 
|  | #ifdef __cplusplus | 
|  | interface ITfContextView; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfContextViews_FWD_DEFINED__ | 
|  | #define __IEnumTfContextViews_FWD_DEFINED__ | 
|  | typedef interface IEnumTfContextViews IEnumTfContextViews; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfContextViews; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfProperties_FWD_DEFINED__ | 
|  | #define __IEnumTfProperties_FWD_DEFINED__ | 
|  | typedef interface IEnumTfProperties IEnumTfProperties; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfProperties; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfRangeBackup_FWD_DEFINED__ | 
|  | #define __ITfRangeBackup_FWD_DEFINED__ | 
|  | typedef interface ITfRangeBackup ITfRangeBackup; | 
|  | #ifdef __cplusplus | 
|  | interface ITfRangeBackup; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITextStoreACPServices_FWD_DEFINED__ | 
|  | #define __ITextStoreACPServices_FWD_DEFINED__ | 
|  | typedef interface ITextStoreACPServices ITextStoreACPServices; | 
|  | #ifdef __cplusplus | 
|  | interface ITextStoreACPServices; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfContext_FWD_DEFINED__ | 
|  | #define __ITfContext_FWD_DEFINED__ | 
|  | typedef interface ITfContext ITfContext; | 
|  | #ifdef __cplusplus | 
|  | interface ITfContext; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfSource_FWD_DEFINED__ | 
|  | #define __ITfSource_FWD_DEFINED__ | 
|  | typedef interface ITfSource ITfSource; | 
|  | #ifdef __cplusplus | 
|  | interface ITfSource; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfInputProcessorProfiles_FWD_DEFINED__ | 
|  | #define __ITfInputProcessorProfiles_FWD_DEFINED__ | 
|  | typedef interface ITfInputProcessorProfiles ITfInputProcessorProfiles; | 
|  | #ifdef __cplusplus | 
|  | interface ITfInputProcessorProfiles; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfInputProcessorProfiles_FWD_DEFINED__ | 
|  | #define __IEnumTfInputProcessorProfiles_FWD_DEFINED__ | 
|  | typedef interface IEnumTfInputProcessorProfiles IEnumTfInputProcessorProfiles; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfInputProcessorProfiles; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfInputProcessorProfileMgr_FWD_DEFINED__ | 
|  | #define __ITfInputProcessorProfileMgr_FWD_DEFINED__ | 
|  | typedef interface ITfInputProcessorProfileMgr ITfInputProcessorProfileMgr; | 
|  | #ifdef __cplusplus | 
|  | interface ITfInputProcessorProfileMgr; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfDisplayAttributeInfo_FWD_DEFINED__ | 
|  | #define __ITfDisplayAttributeInfo_FWD_DEFINED__ | 
|  | typedef interface ITfDisplayAttributeInfo ITfDisplayAttributeInfo; | 
|  | #ifdef __cplusplus | 
|  | interface ITfDisplayAttributeInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfDisplayAttributeInfo_FWD_DEFINED__ | 
|  | #define __IEnumTfDisplayAttributeInfo_FWD_DEFINED__ | 
|  | typedef interface IEnumTfDisplayAttributeInfo IEnumTfDisplayAttributeInfo; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfDisplayAttributeInfo; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfDisplayAttributeMgr_FWD_DEFINED__ | 
|  | #define __ITfDisplayAttributeMgr_FWD_DEFINED__ | 
|  | typedef interface ITfDisplayAttributeMgr ITfDisplayAttributeMgr; | 
|  | #ifdef __cplusplus | 
|  | interface ITfDisplayAttributeMgr; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfCategoryMgr_FWD_DEFINED__ | 
|  | #define __ITfCategoryMgr_FWD_DEFINED__ | 
|  | typedef interface ITfCategoryMgr ITfCategoryMgr; | 
|  | #ifdef __cplusplus | 
|  | interface ITfCategoryMgr; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfRanges_FWD_DEFINED__ | 
|  | #define __IEnumTfRanges_FWD_DEFINED__ | 
|  | typedef interface IEnumTfRanges IEnumTfRanges; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfRanges; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfEditRecord_FWD_DEFINED__ | 
|  | #define __ITfEditRecord_FWD_DEFINED__ | 
|  | typedef interface ITfEditRecord ITfEditRecord; | 
|  | #ifdef __cplusplus | 
|  | interface ITfEditRecord; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfTextEditSink_FWD_DEFINED__ | 
|  | #define __ITfTextEditSink_FWD_DEFINED__ | 
|  | typedef interface ITfTextEditSink ITfTextEditSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfTextEditSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfContextOwnerCompositionSink_FWD_DEFINED__ | 
|  | #define __ITfContextOwnerCompositionSink_FWD_DEFINED__ | 
|  | typedef interface ITfContextOwnerCompositionSink ITfContextOwnerCompositionSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfContextOwnerCompositionSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfActiveLanguageProfileNotifySink_FWD_DEFINED__ | 
|  | #define __ITfActiveLanguageProfileNotifySink_FWD_DEFINED__ | 
|  | typedef interface ITfActiveLanguageProfileNotifySink ITfActiveLanguageProfileNotifySink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfActiveLanguageProfileNotifySink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfLanguageProfiles_FWD_DEFINED__ | 
|  | #define __IEnumTfLanguageProfiles_FWD_DEFINED__ | 
|  | typedef interface IEnumTfLanguageProfiles IEnumTfLanguageProfiles; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfLanguageProfiles; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfTextInputProcessor_FWD_DEFINED__ | 
|  | #define __ITfTextInputProcessor_FWD_DEFINED__ | 
|  | typedef interface ITfTextInputProcessor ITfTextInputProcessor; | 
|  | #ifdef __cplusplus | 
|  | interface ITfTextInputProcessor; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfThreadMgrEventSink_FWD_DEFINED__ | 
|  | #define __ITfThreadMgrEventSink_FWD_DEFINED__ | 
|  | typedef interface ITfThreadMgrEventSink ITfThreadMgrEventSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfThreadMgrEventSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfKeystrokeMgr_FWD_DEFINED__ | 
|  | #define __ITfKeystrokeMgr_FWD_DEFINED__ | 
|  | typedef interface ITfKeystrokeMgr ITfKeystrokeMgr; | 
|  | #ifdef __cplusplus | 
|  | interface ITfKeystrokeMgr; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfKeyEventSink_FWD_DEFINED__ | 
|  | #define __ITfKeyEventSink_FWD_DEFINED__ | 
|  | typedef interface ITfKeyEventSink ITfKeyEventSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfKeyEventSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfKeyTraceEventSink_FWD_DEFINED__ | 
|  | #define __ITfKeyTraceEventSink_FWD_DEFINED__ | 
|  | typedef interface ITfKeyTraceEventSink ITfKeyTraceEventSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfKeyTraceEventSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfUIElementSink_FWD_DEFINED__ | 
|  | #define __ITfUIElementSink_FWD_DEFINED__ | 
|  | typedef interface ITfUIElementSink ITfUIElementSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfUIElementSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfMessagePump_FWD_DEFINED__ | 
|  | #define __ITfMessagePump_FWD_DEFINED__ | 
|  | typedef interface ITfMessagePump ITfMessagePump; | 
|  | #ifdef __cplusplus | 
|  | interface ITfMessagePump; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfClientId_FWD_DEFINED__ | 
|  | #define __ITfClientId_FWD_DEFINED__ | 
|  | typedef interface ITfClientId ITfClientId; | 
|  | #ifdef __cplusplus | 
|  | interface ITfClientId; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfLanguageProfileNotifySink_FWD_DEFINED__ | 
|  | #define __ITfLanguageProfileNotifySink_FWD_DEFINED__ | 
|  | typedef interface ITfLanguageProfileNotifySink ITfLanguageProfileNotifySink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfLanguageProfileNotifySink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfEditSession_FWD_DEFINED__ | 
|  | #define __ITfEditSession_FWD_DEFINED__ | 
|  | typedef interface ITfEditSession ITfEditSession; | 
|  | #ifdef __cplusplus | 
|  | interface ITfEditSession; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfRange_FWD_DEFINED__ | 
|  | #define __ITfRange_FWD_DEFINED__ | 
|  | typedef interface ITfRange ITfRange; | 
|  | #ifdef __cplusplus | 
|  | interface ITfRange; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfRangeACP_FWD_DEFINED__ | 
|  | #define __ITfRangeACP_FWD_DEFINED__ | 
|  | typedef interface ITfRangeACP ITfRangeACP; | 
|  | #ifdef __cplusplus | 
|  | interface ITfRangeACP; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfInsertAtSelection_FWD_DEFINED__ | 
|  | #define __ITfInsertAtSelection_FWD_DEFINED__ | 
|  | typedef interface ITfInsertAtSelection ITfInsertAtSelection; | 
|  | #ifdef __cplusplus | 
|  | interface ITfInsertAtSelection; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfPropertyStore_FWD_DEFINED__ | 
|  | #define __ITfPropertyStore_FWD_DEFINED__ | 
|  | typedef interface ITfPropertyStore ITfPropertyStore; | 
|  | #ifdef __cplusplus | 
|  | interface ITfPropertyStore; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumITfCompositionView_FWD_DEFINED__ | 
|  | #define __IEnumITfCompositionView_FWD_DEFINED__ | 
|  | typedef interface IEnumITfCompositionView IEnumITfCompositionView; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumITfCompositionView; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfComposition_FWD_DEFINED__ | 
|  | #define __ITfComposition_FWD_DEFINED__ | 
|  | typedef interface ITfComposition ITfComposition; | 
|  | #ifdef __cplusplus | 
|  | interface ITfComposition; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfCompositionSink_FWD_DEFINED__ | 
|  | #define __ITfCompositionSink_FWD_DEFINED__ | 
|  | typedef interface ITfCompositionSink ITfCompositionSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfCompositionSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfContextComposition_FWD_DEFINED__ | 
|  | #define __ITfContextComposition_FWD_DEFINED__ | 
|  | typedef interface ITfContextComposition ITfContextComposition; | 
|  | #ifdef __cplusplus | 
|  | interface ITfContextComposition; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfContextOwnerCompositionServices_FWD_DEFINED__ | 
|  | #define __ITfContextOwnerCompositionServices_FWD_DEFINED__ | 
|  | typedef interface ITfContextOwnerCompositionServices ITfContextOwnerCompositionServices; | 
|  | #ifdef __cplusplus | 
|  | interface ITfContextOwnerCompositionServices; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfPersistentPropertyLoaderACP_FWD_DEFINED__ | 
|  | #define __ITfPersistentPropertyLoaderACP_FWD_DEFINED__ | 
|  | typedef interface ITfPersistentPropertyLoaderACP ITfPersistentPropertyLoaderACP; | 
|  | #ifdef __cplusplus | 
|  | interface ITfPersistentPropertyLoaderACP; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfContextOwnerServices_FWD_DEFINED__ | 
|  | #define __ITfContextOwnerServices_FWD_DEFINED__ | 
|  | typedef interface ITfContextOwnerServices ITfContextOwnerServices; | 
|  | #ifdef __cplusplus | 
|  | interface ITfContextOwnerServices; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfReadOnlyProperty_FWD_DEFINED__ | 
|  | #define __ITfReadOnlyProperty_FWD_DEFINED__ | 
|  | typedef interface ITfReadOnlyProperty ITfReadOnlyProperty; | 
|  | #ifdef __cplusplus | 
|  | interface ITfReadOnlyProperty; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfProperty_FWD_DEFINED__ | 
|  | #define __ITfProperty_FWD_DEFINED__ | 
|  | typedef interface ITfProperty ITfProperty; | 
|  | #ifdef __cplusplus | 
|  | interface ITfProperty; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfCompartment_FWD_DEFINED__ | 
|  | #define __ITfCompartment_FWD_DEFINED__ | 
|  | typedef interface ITfCompartment ITfCompartment; | 
|  | #ifdef __cplusplus | 
|  | interface ITfCompartment; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfCompartmentMgr_FWD_DEFINED__ | 
|  | #define __ITfCompartmentMgr_FWD_DEFINED__ | 
|  | typedef interface ITfCompartmentMgr ITfCompartmentMgr; | 
|  | #ifdef __cplusplus | 
|  | interface ITfCompartmentMgr; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfCompartmentEventSink_FWD_DEFINED__ | 
|  | #define __ITfCompartmentEventSink_FWD_DEFINED__ | 
|  | typedef interface ITfCompartmentEventSink ITfCompartmentEventSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfCompartmentEventSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfContexts_FWD_DEFINED__ | 
|  | #define __IEnumTfContexts_FWD_DEFINED__ | 
|  | typedef interface IEnumTfContexts IEnumTfContexts; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfContexts; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfDocumentMgrs_FWD_DEFINED__ | 
|  | #define __IEnumTfDocumentMgrs_FWD_DEFINED__ | 
|  | typedef interface IEnumTfDocumentMgrs IEnumTfDocumentMgrs; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfDocumentMgrs; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfUIElement_FWD_DEFINED__ | 
|  | #define __ITfUIElement_FWD_DEFINED__ | 
|  | typedef interface ITfUIElement ITfUIElement; | 
|  | #ifdef __cplusplus | 
|  | interface ITfUIElement; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfUIElements_FWD_DEFINED__ | 
|  | #define __IEnumTfUIElements_FWD_DEFINED__ | 
|  | typedef interface IEnumTfUIElements IEnumTfUIElements; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfUIElements; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfUIElementMgr_FWD_DEFINED__ | 
|  | #define __ITfUIElementMgr_FWD_DEFINED__ | 
|  | typedef interface ITfUIElementMgr ITfUIElementMgr; | 
|  | #ifdef __cplusplus | 
|  | interface ITfUIElementMgr; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfSourceSingle_FWD_DEFINED__ | 
|  | #define __ITfSourceSingle_FWD_DEFINED__ | 
|  | typedef interface ITfSourceSingle ITfSourceSingle; | 
|  | #ifdef __cplusplus | 
|  | interface ITfSourceSingle; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfThreadFocusSink_FWD_DEFINED__ | 
|  | #define __ITfThreadFocusSink_FWD_DEFINED__ | 
|  | typedef interface ITfThreadFocusSink ITfThreadFocusSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfThreadFocusSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfInputProcessorProfileActivationSink_FWD_DEFINED__ | 
|  | #define __ITfInputProcessorProfileActivationSink_FWD_DEFINED__ | 
|  | typedef interface ITfInputProcessorProfileActivationSink ITfInputProcessorProfileActivationSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfInputProcessorProfileActivationSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfMouseSink_FWD_DEFINED__ | 
|  | #define __ITfMouseSink_FWD_DEFINED__ | 
|  | typedef interface ITfMouseSink ITfMouseSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfMouseSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfMouseTracker_FWD_DEFINED__ | 
|  | #define __ITfMouseTracker_FWD_DEFINED__ | 
|  | typedef interface ITfMouseTracker ITfMouseTracker; | 
|  | #ifdef __cplusplus | 
|  | interface ITfMouseTracker; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfMouseTrackerACP_FWD_DEFINED__ | 
|  | #define __ITfMouseTrackerACP_FWD_DEFINED__ | 
|  | typedef interface ITfMouseTrackerACP ITfMouseTrackerACP; | 
|  | #ifdef __cplusplus | 
|  | interface ITfMouseTrackerACP; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfTransitoryExtensionSink_FWD_DEFINED__ | 
|  | #define __ITfTransitoryExtensionSink_FWD_DEFINED__ | 
|  | typedef interface ITfTransitoryExtensionSink ITfTransitoryExtensionSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfTransitoryExtensionSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | /* Headers for imported files */ | 
|  |  | 
|  | #include <oaidl.h> | 
|  | #include <comcat.h> | 
|  | #include <textstor.h> | 
|  | #include <ctfutb.h> | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #define TF_E_STACKFULL MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0501) | 
|  | #define TF_E_DISCONNECTED    MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0504) | 
|  | #define TF_E_ALREADY_EXISTS  MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0506) | 
|  | #define TF_E_NOLOCK          MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201) | 
|  | HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim); | 
|  | HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim); | 
|  | HRESULT WINAPI TF_CreateInputProcessorProfiles(ITfInputProcessorProfiles **ppipr); | 
|  | HRESULT WINAPI TF_CreateLangBarMgr(ITfLangBarMgr **pppbm); | 
|  | HRESULT WINAPI TF_CreateLangBarItemMgr(ITfLangBarItemMgr **pplbim); | 
|  | HRESULT WINAPI TF_InvalidAssemblyListCacheIfExist(void); | 
|  | EXTERN_C const GUID GUID_PROP_TEXTOWNER; | 
|  | DEFINE_GUID(GUID_PROP_ATTRIBUTE,0x34b45670,0x7526,0x11d2,0xa1,0x47,0x00,0x10,0x5a,0x27,0x99,0xb5); | 
|  | EXTERN_C const GUID GUID_PROP_LANGID; | 
|  | EXTERN_C const GUID GUID_PROP_READING; | 
|  | EXTERN_C const GUID GUID_PROP_COMPOSING; | 
|  | EXTERN_C const CLSID CLSID_TF_ThreadMgr; | 
|  | EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles; | 
|  | EXTERN_C const CLSID CLSID_TF_LangBarMgr; | 
|  | EXTERN_C const CLSID CLSID_TF_CategoryMgr; | 
|  | EXTERN_C const CLSID CLSID_TF_DisplayAttributeMgr; | 
|  | EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_DISABLED; | 
|  | EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_OPENCLOSE; | 
|  | EXTERN_C const GUID GUID_COMPARTMENT_HANDWRITING_OPENCLOSE; | 
|  | EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_DISABLED; | 
|  | EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_OPENCLOSE; | 
|  | EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_GLOBALSTATE; | 
|  | EXTERN_C const GUID GUID_COMPARTMENT_PERSISTMENUENABLED; | 
|  | EXTERN_C const GUID GUID_COMPARTMENT_EMPTYCONTEXT; | 
|  | EXTERN_C const GUID GUID_COMPARTMENT_TIPUISTATUS; | 
|  | EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD; | 
|  | EXTERN_C const GUID GUID_TFCAT_TIP_SPEECH; | 
|  | EXTERN_C const GUID GUID_TFCAT_TIP_HANDWRITING; | 
|  | EXTERN_C const GUID GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER; | 
|  | typedef DWORD TfEditCookie; | 
|  | typedef DWORD TfClientId; | 
|  | typedef DWORD TfGuidAtom; | 
|  | #define TF_MOD_ALT                   0x0001 | 
|  | #define TF_MOD_CONTROL               0x0002 | 
|  | #define TF_MOD_SHIFT                 0x0004 | 
|  | #define TF_MOD_RALT                  0x0008 | 
|  | #define TF_MOD_RCONTROL              0x0010 | 
|  | #define TF_MOD_RSHIFT                0x0020 | 
|  | #define TF_MOD_LALT                  0x0040 | 
|  | #define TF_MOD_LCONTROL              0x0080 | 
|  | #define TF_MOD_LSHIFT                0x0100 | 
|  | #define TF_MOD_ON_KEYUP              0x0200 | 
|  | #define TF_MOD_IGNORE_ALL_MODIFIER   0x0400 | 
|  | #define TF_PROFILETYPE_INPUTPROCESSOR  0x0001 | 
|  | #define TF_PROFILETYPE_KEYBOARDLAYOUT  0x0002 | 
|  | #define TF_IPSINK_FLAG_ACTIVE 0x0001 | 
|  | #ifndef __ITfDocumentMgr_FWD_DEFINED__ | 
|  | #define __ITfDocumentMgr_FWD_DEFINED__ | 
|  | typedef interface ITfDocumentMgr ITfDocumentMgr; | 
|  | #ifdef __cplusplus | 
|  | interface ITfDocumentMgr; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfContext_FWD_DEFINED__ | 
|  | #define __ITfContext_FWD_DEFINED__ | 
|  | typedef interface ITfContext ITfContext; | 
|  | #ifdef __cplusplus | 
|  | interface ITfContext; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfDocumentMgrs_FWD_DEFINED__ | 
|  | #define __IEnumTfDocumentMgrs_FWD_DEFINED__ | 
|  | typedef interface IEnumTfDocumentMgrs IEnumTfDocumentMgrs; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfDocumentMgrs; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfContexts_FWD_DEFINED__ | 
|  | #define __IEnumTfContexts_FWD_DEFINED__ | 
|  | typedef interface IEnumTfContexts IEnumTfContexts; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfContexts; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfCompartmentMgr_FWD_DEFINED__ | 
|  | #define __ITfCompartmentMgr_FWD_DEFINED__ | 
|  | typedef interface ITfCompartmentMgr ITfCompartmentMgr; | 
|  | #ifdef __cplusplus | 
|  | interface ITfCompartmentMgr; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfEditSession_FWD_DEFINED__ | 
|  | #define __ITfEditSession_FWD_DEFINED__ | 
|  | typedef interface ITfEditSession ITfEditSession; | 
|  | #ifdef __cplusplus | 
|  | interface ITfEditSession; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfRange_FWD_DEFINED__ | 
|  | #define __ITfRange_FWD_DEFINED__ | 
|  | typedef interface ITfRange ITfRange; | 
|  | #ifdef __cplusplus | 
|  | interface ITfRange; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfProperty_FWD_DEFINED__ | 
|  | #define __ITfProperty_FWD_DEFINED__ | 
|  | typedef interface ITfProperty ITfProperty; | 
|  | #ifdef __cplusplus | 
|  | interface ITfProperty; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfReadOnlyProperty_FWD_DEFINED__ | 
|  | #define __ITfReadOnlyProperty_FWD_DEFINED__ | 
|  | typedef interface ITfReadOnlyProperty ITfReadOnlyProperty; | 
|  | #ifdef __cplusplus | 
|  | interface ITfReadOnlyProperty; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __IEnumTfLanguageProfiles_FWD_DEFINED__ | 
|  | #define __IEnumTfLanguageProfiles_FWD_DEFINED__ | 
|  | typedef interface IEnumTfLanguageProfiles IEnumTfLanguageProfiles; | 
|  | #ifdef __cplusplus | 
|  | interface IEnumTfLanguageProfiles; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfCompositionView_FWD_DEFINED__ | 
|  | #define __ITfCompositionView_FWD_DEFINED__ | 
|  | typedef interface ITfCompositionView ITfCompositionView; | 
|  | #ifdef __cplusplus | 
|  | interface ITfCompositionView; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfKeyEventSink_FWD_DEFINED__ | 
|  | #define __ITfKeyEventSink_FWD_DEFINED__ | 
|  | typedef interface ITfKeyEventSink ITfKeyEventSink; | 
|  | #ifdef __cplusplus | 
|  | interface ITfKeyEventSink; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfPersistentPropertyLoaderACP_FWD_DEFINED__ | 
|  | #define __ITfPersistentPropertyLoaderACP_FWD_DEFINED__ | 
|  | typedef interface ITfPersistentPropertyLoaderACP ITfPersistentPropertyLoaderACP; | 
|  | #ifdef __cplusplus | 
|  | interface ITfPersistentPropertyLoaderACP; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #ifndef __ITfRangeACP_FWD_DEFINED__ | 
|  | #define __ITfRangeACP_FWD_DEFINED__ | 
|  | typedef interface ITfRangeACP ITfRangeACP; | 
|  | #ifdef __cplusplus | 
|  | interface ITfRangeACP; | 
|  | #endif /* __cplusplus */ | 
|  | #endif | 
|  |  | 
|  | #if 0 | 
|  | typedef UINT_PTR HKL; | 
|  | #endif | 
|  | typedef struct TF_PERSISTENT_PROPERTY_HEADER_ACP { | 
|  | GUID guidType; | 
|  | LONG ichStart; | 
|  | LONG cch; | 
|  | ULONG cb; | 
|  | DWORD dwPrivate; | 
|  | CLSID clsidTIP; | 
|  | } TF_PERSISTENT_PROPERTY_HEADER_ACP; | 
|  | typedef struct TF_LANGUAGEPROFILE { | 
|  | CLSID clsid; | 
|  | LANGID langid; | 
|  | GUID catid; | 
|  | WINBOOL fActive; | 
|  | GUID guidProfile; | 
|  | } TF_LANGUAGEPROFILE; | 
|  | typedef struct TF_PRESERVEDKEY { | 
|  | UINT uVKey; | 
|  | UINT uModifiers; | 
|  | } TF_PRESERVEDKEY; | 
|  | typedef enum __WIDL_msctf_generated_name_00000012 { | 
|  | TF_ANCHOR_START = 0, | 
|  | TF_ANCHOR_END = 1 | 
|  | } TfAnchor; | 
|  | /***************************************************************************** | 
|  | * ITfFunctionProvider interface | 
|  | */ | 
|  | #ifndef __ITfFunctionProvider_INTERFACE_DEFINED__ | 
|  | #define __ITfFunctionProvider_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfFunctionProvider, 0x101d6610, 0x0990, 0x11d3, 0x8d,0xf0, 0x00,0x10,0x5a,0x27,0x99,0xb5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("101d6610-0990-11d3-8df0-00105a2799b5") | 
|  | ITfFunctionProvider : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetType( | 
|  | GUID *guid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDescription( | 
|  | BSTR *desc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFunction( | 
|  | REFGUID guid, | 
|  | REFIID riid, | 
|  | IUnknown **func) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfFunctionProvider, 0x101d6610, 0x0990, 0x11d3, 0x8d,0xf0, 0x00,0x10,0x5a,0x27,0x99,0xb5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfFunctionProviderVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfFunctionProvider *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfFunctionProvider *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfFunctionProvider *This); | 
|  |  | 
|  | /*** ITfFunctionProvider methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetType)( | 
|  | ITfFunctionProvider *This, | 
|  | GUID *guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDescription)( | 
|  | ITfFunctionProvider *This, | 
|  | BSTR *desc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFunction)( | 
|  | ITfFunctionProvider *This, | 
|  | REFGUID guid, | 
|  | REFIID riid, | 
|  | IUnknown **func); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfFunctionProviderVtbl; | 
|  |  | 
|  | interface ITfFunctionProvider { | 
|  | CONST_VTBL ITfFunctionProviderVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfFunctionProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfFunctionProvider_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfFunctionProvider_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfFunctionProvider methods ***/ | 
|  | #define ITfFunctionProvider_GetType(This,guid) (This)->lpVtbl->GetType(This,guid) | 
|  | #define ITfFunctionProvider_GetDescription(This,desc) (This)->lpVtbl->GetDescription(This,desc) | 
|  | #define ITfFunctionProvider_GetFunction(This,guid,riid,func) (This)->lpVtbl->GetFunction(This,guid,riid,func) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfFunctionProvider_QueryInterface(ITfFunctionProvider* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfFunctionProvider_AddRef(ITfFunctionProvider* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfFunctionProvider_Release(ITfFunctionProvider* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfFunctionProvider methods ***/ | 
|  | static FORCEINLINE HRESULT ITfFunctionProvider_GetType(ITfFunctionProvider* This,GUID *guid) { | 
|  | return This->lpVtbl->GetType(This,guid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfFunctionProvider_GetDescription(ITfFunctionProvider* This,BSTR *desc) { | 
|  | return This->lpVtbl->GetDescription(This,desc); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfFunctionProvider_GetFunction(ITfFunctionProvider* This,REFGUID guid,REFIID riid,IUnknown **func) { | 
|  | return This->lpVtbl->GetFunction(This,guid,riid,func); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfFunctionProvider_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumTfFunctionProviders interface | 
|  | */ | 
|  | #ifndef __IEnumTfFunctionProviders_INTERFACE_DEFINED__ | 
|  | #define __IEnumTfFunctionProviders_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumTfFunctionProviders, 0xe4b24db0, 0x0990, 0x11d3, 0x8d,0xf0, 0x00,0x10,0x5a,0x27,0x99,0xb5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("e4b24db0-0990-11d3-8df0-00105a2799b5") | 
|  | IEnumTfFunctionProviders : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumTfFunctionProviders **ret) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG count, | 
|  | ITfFunctionProvider **prov, | 
|  | ULONG *fetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG count) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumTfFunctionProviders, 0xe4b24db0, 0x0990, 0x11d3, 0x8d,0xf0, 0x00,0x10,0x5a,0x27,0x99,0xb5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumTfFunctionProvidersVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumTfFunctionProviders *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumTfFunctionProviders *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumTfFunctionProviders *This); | 
|  |  | 
|  | /*** IEnumTfFunctionProviders methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumTfFunctionProviders *This, | 
|  | IEnumTfFunctionProviders **ret); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumTfFunctionProviders *This, | 
|  | ULONG count, | 
|  | ITfFunctionProvider **prov, | 
|  | ULONG *fetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumTfFunctionProviders *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumTfFunctionProviders *This, | 
|  | ULONG count); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumTfFunctionProvidersVtbl; | 
|  |  | 
|  | interface IEnumTfFunctionProviders { | 
|  | CONST_VTBL IEnumTfFunctionProvidersVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumTfFunctionProviders_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumTfFunctionProviders_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumTfFunctionProviders_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumTfFunctionProviders methods ***/ | 
|  | #define IEnumTfFunctionProviders_Clone(This,ret) (This)->lpVtbl->Clone(This,ret) | 
|  | #define IEnumTfFunctionProviders_Next(This,count,prov,fetched) (This)->lpVtbl->Next(This,count,prov,fetched) | 
|  | #define IEnumTfFunctionProviders_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumTfFunctionProviders_Skip(This,count) (This)->lpVtbl->Skip(This,count) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfFunctionProviders_QueryInterface(IEnumTfFunctionProviders* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfFunctionProviders_AddRef(IEnumTfFunctionProviders* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfFunctionProviders_Release(IEnumTfFunctionProviders* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumTfFunctionProviders methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfFunctionProviders_Clone(IEnumTfFunctionProviders* This,IEnumTfFunctionProviders **ret) { | 
|  | return This->lpVtbl->Clone(This,ret); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfFunctionProviders_Next(IEnumTfFunctionProviders* This,ULONG count,ITfFunctionProvider **prov,ULONG *fetched) { | 
|  | return This->lpVtbl->Next(This,count,prov,fetched); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfFunctionProviders_Reset(IEnumTfFunctionProviders* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfFunctionProviders_Skip(IEnumTfFunctionProviders* This,ULONG count) { | 
|  | return This->lpVtbl->Skip(This,count); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumTfFunctionProviders_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfThreadMgr interface | 
|  | */ | 
|  | #ifndef __ITfThreadMgr_INTERFACE_DEFINED__ | 
|  | #define __ITfThreadMgr_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfThreadMgr, 0xaa80e801, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("aa80e801-2021-11d2-93e0-0060b067b86e") | 
|  | ITfThreadMgr : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Activate( | 
|  | TfClientId *ptid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Deactivate( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateDocumentMgr( | 
|  | ITfDocumentMgr **ppdim) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumDocumentMgrs( | 
|  | IEnumTfDocumentMgrs **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFocus( | 
|  | ITfDocumentMgr **ppdimFocus) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetFocus( | 
|  | ITfDocumentMgr *pdimFocus) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AssociateFocus( | 
|  | HWND hwnd, | 
|  | ITfDocumentMgr *pdimNew, | 
|  | ITfDocumentMgr **ppdimPrev) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsThreadFocus( | 
|  | WINBOOL *pfThreadFocus) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFunctionProvider( | 
|  | REFCLSID clsid, | 
|  | ITfFunctionProvider **ppFuncProv) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumFunctionProviders( | 
|  | IEnumTfFunctionProviders **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGlobalCompartment( | 
|  | ITfCompartmentMgr **ppCompMgr) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfThreadMgr, 0xaa80e801, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfThreadMgrVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfThreadMgr *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfThreadMgr *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfThreadMgr *This); | 
|  |  | 
|  | /*** ITfThreadMgr methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Activate)( | 
|  | ITfThreadMgr *This, | 
|  | TfClientId *ptid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Deactivate)( | 
|  | ITfThreadMgr *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateDocumentMgr)( | 
|  | ITfThreadMgr *This, | 
|  | ITfDocumentMgr **ppdim); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumDocumentMgrs)( | 
|  | ITfThreadMgr *This, | 
|  | IEnumTfDocumentMgrs **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFocus)( | 
|  | ITfThreadMgr *This, | 
|  | ITfDocumentMgr **ppdimFocus); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFocus)( | 
|  | ITfThreadMgr *This, | 
|  | ITfDocumentMgr *pdimFocus); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AssociateFocus)( | 
|  | ITfThreadMgr *This, | 
|  | HWND hwnd, | 
|  | ITfDocumentMgr *pdimNew, | 
|  | ITfDocumentMgr **ppdimPrev); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsThreadFocus)( | 
|  | ITfThreadMgr *This, | 
|  | WINBOOL *pfThreadFocus); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFunctionProvider)( | 
|  | ITfThreadMgr *This, | 
|  | REFCLSID clsid, | 
|  | ITfFunctionProvider **ppFuncProv); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumFunctionProviders)( | 
|  | ITfThreadMgr *This, | 
|  | IEnumTfFunctionProviders **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGlobalCompartment)( | 
|  | ITfThreadMgr *This, | 
|  | ITfCompartmentMgr **ppCompMgr); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfThreadMgrVtbl; | 
|  |  | 
|  | interface ITfThreadMgr { | 
|  | CONST_VTBL ITfThreadMgrVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfThreadMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfThreadMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfThreadMgr_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfThreadMgr methods ***/ | 
|  | #define ITfThreadMgr_Activate(This,ptid) (This)->lpVtbl->Activate(This,ptid) | 
|  | #define ITfThreadMgr_Deactivate(This) (This)->lpVtbl->Deactivate(This) | 
|  | #define ITfThreadMgr_CreateDocumentMgr(This,ppdim) (This)->lpVtbl->CreateDocumentMgr(This,ppdim) | 
|  | #define ITfThreadMgr_EnumDocumentMgrs(This,ppEnum) (This)->lpVtbl->EnumDocumentMgrs(This,ppEnum) | 
|  | #define ITfThreadMgr_GetFocus(This,ppdimFocus) (This)->lpVtbl->GetFocus(This,ppdimFocus) | 
|  | #define ITfThreadMgr_SetFocus(This,pdimFocus) (This)->lpVtbl->SetFocus(This,pdimFocus) | 
|  | #define ITfThreadMgr_AssociateFocus(This,hwnd,pdimNew,ppdimPrev) (This)->lpVtbl->AssociateFocus(This,hwnd,pdimNew,ppdimPrev) | 
|  | #define ITfThreadMgr_IsThreadFocus(This,pfThreadFocus) (This)->lpVtbl->IsThreadFocus(This,pfThreadFocus) | 
|  | #define ITfThreadMgr_GetFunctionProvider(This,clsid,ppFuncProv) (This)->lpVtbl->GetFunctionProvider(This,clsid,ppFuncProv) | 
|  | #define ITfThreadMgr_EnumFunctionProviders(This,ppEnum) (This)->lpVtbl->EnumFunctionProviders(This,ppEnum) | 
|  | #define ITfThreadMgr_GetGlobalCompartment(This,ppCompMgr) (This)->lpVtbl->GetGlobalCompartment(This,ppCompMgr) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfThreadMgr_QueryInterface(ITfThreadMgr* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfThreadMgr_AddRef(ITfThreadMgr* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfThreadMgr_Release(ITfThreadMgr* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfThreadMgr methods ***/ | 
|  | static FORCEINLINE HRESULT ITfThreadMgr_Activate(ITfThreadMgr* This,TfClientId *ptid) { | 
|  | return This->lpVtbl->Activate(This,ptid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgr_Deactivate(ITfThreadMgr* This) { | 
|  | return This->lpVtbl->Deactivate(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgr_CreateDocumentMgr(ITfThreadMgr* This,ITfDocumentMgr **ppdim) { | 
|  | return This->lpVtbl->CreateDocumentMgr(This,ppdim); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgr_EnumDocumentMgrs(ITfThreadMgr* This,IEnumTfDocumentMgrs **ppEnum) { | 
|  | return This->lpVtbl->EnumDocumentMgrs(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgr_GetFocus(ITfThreadMgr* This,ITfDocumentMgr **ppdimFocus) { | 
|  | return This->lpVtbl->GetFocus(This,ppdimFocus); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgr_SetFocus(ITfThreadMgr* This,ITfDocumentMgr *pdimFocus) { | 
|  | return This->lpVtbl->SetFocus(This,pdimFocus); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgr_AssociateFocus(ITfThreadMgr* This,HWND hwnd,ITfDocumentMgr *pdimNew,ITfDocumentMgr **ppdimPrev) { | 
|  | return This->lpVtbl->AssociateFocus(This,hwnd,pdimNew,ppdimPrev); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgr_IsThreadFocus(ITfThreadMgr* This,WINBOOL *pfThreadFocus) { | 
|  | return This->lpVtbl->IsThreadFocus(This,pfThreadFocus); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgr_GetFunctionProvider(ITfThreadMgr* This,REFCLSID clsid,ITfFunctionProvider **ppFuncProv) { | 
|  | return This->lpVtbl->GetFunctionProvider(This,clsid,ppFuncProv); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgr_EnumFunctionProviders(ITfThreadMgr* This,IEnumTfFunctionProviders **ppEnum) { | 
|  | return This->lpVtbl->EnumFunctionProviders(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgr_GetGlobalCompartment(ITfThreadMgr* This,ITfCompartmentMgr **ppCompMgr) { | 
|  | return This->lpVtbl->GetGlobalCompartment(This,ppCompMgr); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfThreadMgr_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfThreadMgrEx interface | 
|  | */ | 
|  | #ifndef __ITfThreadMgrEx_INTERFACE_DEFINED__ | 
|  | #define __ITfThreadMgrEx_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfThreadMgrEx, 0x3e90ade3, 0x7594, 0x4cb0, 0xbb,0x58, 0x69,0x62,0x8f,0x5f,0x45,0x8c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("3e90ade3-7594-4cb0-bb58-69628f5f458c") | 
|  | ITfThreadMgrEx : public ITfThreadMgr | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE ActivateEx( | 
|  | TfClientId *id, | 
|  | DWORD flags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetActiveFlags( | 
|  | DWORD *flags) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfThreadMgrEx, 0x3e90ade3, 0x7594, 0x4cb0, 0xbb,0x58, 0x69,0x62,0x8f,0x5f,0x45,0x8c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfThreadMgrExVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfThreadMgrEx *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfThreadMgrEx *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfThreadMgrEx *This); | 
|  |  | 
|  | /*** ITfThreadMgr methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Activate)( | 
|  | ITfThreadMgrEx *This, | 
|  | TfClientId *ptid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Deactivate)( | 
|  | ITfThreadMgrEx *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateDocumentMgr)( | 
|  | ITfThreadMgrEx *This, | 
|  | ITfDocumentMgr **ppdim); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumDocumentMgrs)( | 
|  | ITfThreadMgrEx *This, | 
|  | IEnumTfDocumentMgrs **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFocus)( | 
|  | ITfThreadMgrEx *This, | 
|  | ITfDocumentMgr **ppdimFocus); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetFocus)( | 
|  | ITfThreadMgrEx *This, | 
|  | ITfDocumentMgr *pdimFocus); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AssociateFocus)( | 
|  | ITfThreadMgrEx *This, | 
|  | HWND hwnd, | 
|  | ITfDocumentMgr *pdimNew, | 
|  | ITfDocumentMgr **ppdimPrev); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsThreadFocus)( | 
|  | ITfThreadMgrEx *This, | 
|  | WINBOOL *pfThreadFocus); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFunctionProvider)( | 
|  | ITfThreadMgrEx *This, | 
|  | REFCLSID clsid, | 
|  | ITfFunctionProvider **ppFuncProv); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumFunctionProviders)( | 
|  | ITfThreadMgrEx *This, | 
|  | IEnumTfFunctionProviders **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGlobalCompartment)( | 
|  | ITfThreadMgrEx *This, | 
|  | ITfCompartmentMgr **ppCompMgr); | 
|  |  | 
|  | /*** ITfThreadMgrEx methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *ActivateEx)( | 
|  | ITfThreadMgrEx *This, | 
|  | TfClientId *id, | 
|  | DWORD flags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetActiveFlags)( | 
|  | ITfThreadMgrEx *This, | 
|  | DWORD *flags); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfThreadMgrExVtbl; | 
|  |  | 
|  | interface ITfThreadMgrEx { | 
|  | CONST_VTBL ITfThreadMgrExVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfThreadMgrEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfThreadMgrEx_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfThreadMgrEx_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfThreadMgr methods ***/ | 
|  | #define ITfThreadMgrEx_Activate(This,ptid) (This)->lpVtbl->Activate(This,ptid) | 
|  | #define ITfThreadMgrEx_Deactivate(This) (This)->lpVtbl->Deactivate(This) | 
|  | #define ITfThreadMgrEx_CreateDocumentMgr(This,ppdim) (This)->lpVtbl->CreateDocumentMgr(This,ppdim) | 
|  | #define ITfThreadMgrEx_EnumDocumentMgrs(This,ppEnum) (This)->lpVtbl->EnumDocumentMgrs(This,ppEnum) | 
|  | #define ITfThreadMgrEx_GetFocus(This,ppdimFocus) (This)->lpVtbl->GetFocus(This,ppdimFocus) | 
|  | #define ITfThreadMgrEx_SetFocus(This,pdimFocus) (This)->lpVtbl->SetFocus(This,pdimFocus) | 
|  | #define ITfThreadMgrEx_AssociateFocus(This,hwnd,pdimNew,ppdimPrev) (This)->lpVtbl->AssociateFocus(This,hwnd,pdimNew,ppdimPrev) | 
|  | #define ITfThreadMgrEx_IsThreadFocus(This,pfThreadFocus) (This)->lpVtbl->IsThreadFocus(This,pfThreadFocus) | 
|  | #define ITfThreadMgrEx_GetFunctionProvider(This,clsid,ppFuncProv) (This)->lpVtbl->GetFunctionProvider(This,clsid,ppFuncProv) | 
|  | #define ITfThreadMgrEx_EnumFunctionProviders(This,ppEnum) (This)->lpVtbl->EnumFunctionProviders(This,ppEnum) | 
|  | #define ITfThreadMgrEx_GetGlobalCompartment(This,ppCompMgr) (This)->lpVtbl->GetGlobalCompartment(This,ppCompMgr) | 
|  | /*** ITfThreadMgrEx methods ***/ | 
|  | #define ITfThreadMgrEx_ActivateEx(This,id,flags) (This)->lpVtbl->ActivateEx(This,id,flags) | 
|  | #define ITfThreadMgrEx_GetActiveFlags(This,flags) (This)->lpVtbl->GetActiveFlags(This,flags) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_QueryInterface(ITfThreadMgrEx* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfThreadMgrEx_AddRef(ITfThreadMgrEx* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfThreadMgrEx_Release(ITfThreadMgrEx* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfThreadMgr methods ***/ | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_Activate(ITfThreadMgrEx* This,TfClientId *ptid) { | 
|  | return This->lpVtbl->Activate(This,ptid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_Deactivate(ITfThreadMgrEx* This) { | 
|  | return This->lpVtbl->Deactivate(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_CreateDocumentMgr(ITfThreadMgrEx* This,ITfDocumentMgr **ppdim) { | 
|  | return This->lpVtbl->CreateDocumentMgr(This,ppdim); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_EnumDocumentMgrs(ITfThreadMgrEx* This,IEnumTfDocumentMgrs **ppEnum) { | 
|  | return This->lpVtbl->EnumDocumentMgrs(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_GetFocus(ITfThreadMgrEx* This,ITfDocumentMgr **ppdimFocus) { | 
|  | return This->lpVtbl->GetFocus(This,ppdimFocus); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_SetFocus(ITfThreadMgrEx* This,ITfDocumentMgr *pdimFocus) { | 
|  | return This->lpVtbl->SetFocus(This,pdimFocus); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_AssociateFocus(ITfThreadMgrEx* This,HWND hwnd,ITfDocumentMgr *pdimNew,ITfDocumentMgr **ppdimPrev) { | 
|  | return This->lpVtbl->AssociateFocus(This,hwnd,pdimNew,ppdimPrev); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_IsThreadFocus(ITfThreadMgrEx* This,WINBOOL *pfThreadFocus) { | 
|  | return This->lpVtbl->IsThreadFocus(This,pfThreadFocus); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_GetFunctionProvider(ITfThreadMgrEx* This,REFCLSID clsid,ITfFunctionProvider **ppFuncProv) { | 
|  | return This->lpVtbl->GetFunctionProvider(This,clsid,ppFuncProv); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_EnumFunctionProviders(ITfThreadMgrEx* This,IEnumTfFunctionProviders **ppEnum) { | 
|  | return This->lpVtbl->EnumFunctionProviders(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_GetGlobalCompartment(ITfThreadMgrEx* This,ITfCompartmentMgr **ppCompMgr) { | 
|  | return This->lpVtbl->GetGlobalCompartment(This,ppCompMgr); | 
|  | } | 
|  | /*** ITfThreadMgrEx methods ***/ | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_ActivateEx(ITfThreadMgrEx* This,TfClientId *id,DWORD flags) { | 
|  | return This->lpVtbl->ActivateEx(This,id,flags); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEx_GetActiveFlags(ITfThreadMgrEx* This,DWORD *flags) { | 
|  | return This->lpVtbl->GetActiveFlags(This,flags); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfThreadMgrEx_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfCompositionView interface | 
|  | */ | 
|  | #ifndef __ITfCompositionView_INTERFACE_DEFINED__ | 
|  | #define __ITfCompositionView_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfCompositionView, 0xd7540241, 0xf9a1, 0x4364, 0xbe,0xfc, 0xdb,0xcd,0x2c,0x43,0x95,0xb7); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("d7540241-f9a1-4364-befc-dbcd2c4395b7") | 
|  | ITfCompositionView : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetOwnerClsid( | 
|  | CLSID *pclsid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetRange( | 
|  | ITfRange **ppRange) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfCompositionView, 0xd7540241, 0xf9a1, 0x4364, 0xbe,0xfc, 0xdb,0xcd,0x2c,0x43,0x95,0xb7) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfCompositionViewVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfCompositionView *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfCompositionView *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfCompositionView *This); | 
|  |  | 
|  | /*** ITfCompositionView methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetOwnerClsid)( | 
|  | ITfCompositionView *This, | 
|  | CLSID *pclsid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetRange)( | 
|  | ITfCompositionView *This, | 
|  | ITfRange **ppRange); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfCompositionViewVtbl; | 
|  |  | 
|  | interface ITfCompositionView { | 
|  | CONST_VTBL ITfCompositionViewVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfCompositionView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfCompositionView_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfCompositionView_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfCompositionView methods ***/ | 
|  | #define ITfCompositionView_GetOwnerClsid(This,pclsid) (This)->lpVtbl->GetOwnerClsid(This,pclsid) | 
|  | #define ITfCompositionView_GetRange(This,ppRange) (This)->lpVtbl->GetRange(This,ppRange) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfCompositionView_QueryInterface(ITfCompositionView* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfCompositionView_AddRef(ITfCompositionView* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfCompositionView_Release(ITfCompositionView* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfCompositionView methods ***/ | 
|  | static FORCEINLINE HRESULT ITfCompositionView_GetOwnerClsid(ITfCompositionView* This,CLSID *pclsid) { | 
|  | return This->lpVtbl->GetOwnerClsid(This,pclsid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCompositionView_GetRange(ITfCompositionView* This,ITfRange **ppRange) { | 
|  | return This->lpVtbl->GetRange(This,ppRange); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfCompositionView_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfDocumentMgr interface | 
|  | */ | 
|  | #ifndef __ITfDocumentMgr_INTERFACE_DEFINED__ | 
|  | #define __ITfDocumentMgr_INTERFACE_DEFINED__ | 
|  |  | 
|  | #define TF_POPF_ALL (0x1) | 
|  |  | 
|  | DEFINE_GUID(IID_ITfDocumentMgr, 0xaa80e7f4, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("aa80e7f4-2021-11d2-93e0-0060b067b86e") | 
|  | ITfDocumentMgr : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateContext( | 
|  | TfClientId tidOwner, | 
|  | DWORD dwFlags, | 
|  | IUnknown *punk, | 
|  | ITfContext **ppic, | 
|  | TfEditCookie *pecTextStore) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Push( | 
|  | ITfContext *pic) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Pop( | 
|  | DWORD dwFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTop( | 
|  | ITfContext **ppic) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetBase( | 
|  | ITfContext **ppic) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumContexts( | 
|  | IEnumTfContexts **ppEnum) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfDocumentMgr, 0xaa80e7f4, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfDocumentMgrVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfDocumentMgr *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfDocumentMgr *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfDocumentMgr *This); | 
|  |  | 
|  | /*** ITfDocumentMgr methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *CreateContext)( | 
|  | ITfDocumentMgr *This, | 
|  | TfClientId tidOwner, | 
|  | DWORD dwFlags, | 
|  | IUnknown *punk, | 
|  | ITfContext **ppic, | 
|  | TfEditCookie *pecTextStore); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Push)( | 
|  | ITfDocumentMgr *This, | 
|  | ITfContext *pic); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Pop)( | 
|  | ITfDocumentMgr *This, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTop)( | 
|  | ITfDocumentMgr *This, | 
|  | ITfContext **ppic); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetBase)( | 
|  | ITfDocumentMgr *This, | 
|  | ITfContext **ppic); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumContexts)( | 
|  | ITfDocumentMgr *This, | 
|  | IEnumTfContexts **ppEnum); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfDocumentMgrVtbl; | 
|  |  | 
|  | interface ITfDocumentMgr { | 
|  | CONST_VTBL ITfDocumentMgrVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfDocumentMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfDocumentMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfDocumentMgr_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfDocumentMgr methods ***/ | 
|  | #define ITfDocumentMgr_CreateContext(This,tidOwner,dwFlags,punk,ppic,pecTextStore) (This)->lpVtbl->CreateContext(This,tidOwner,dwFlags,punk,ppic,pecTextStore) | 
|  | #define ITfDocumentMgr_Push(This,pic) (This)->lpVtbl->Push(This,pic) | 
|  | #define ITfDocumentMgr_Pop(This,dwFlags) (This)->lpVtbl->Pop(This,dwFlags) | 
|  | #define ITfDocumentMgr_GetTop(This,ppic) (This)->lpVtbl->GetTop(This,ppic) | 
|  | #define ITfDocumentMgr_GetBase(This,ppic) (This)->lpVtbl->GetBase(This,ppic) | 
|  | #define ITfDocumentMgr_EnumContexts(This,ppEnum) (This)->lpVtbl->EnumContexts(This,ppEnum) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfDocumentMgr_QueryInterface(ITfDocumentMgr* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfDocumentMgr_AddRef(ITfDocumentMgr* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfDocumentMgr_Release(ITfDocumentMgr* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfDocumentMgr methods ***/ | 
|  | static FORCEINLINE HRESULT ITfDocumentMgr_CreateContext(ITfDocumentMgr* This,TfClientId tidOwner,DWORD dwFlags,IUnknown *punk,ITfContext **ppic,TfEditCookie *pecTextStore) { | 
|  | return This->lpVtbl->CreateContext(This,tidOwner,dwFlags,punk,ppic,pecTextStore); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfDocumentMgr_Push(ITfDocumentMgr* This,ITfContext *pic) { | 
|  | return This->lpVtbl->Push(This,pic); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfDocumentMgr_Pop(ITfDocumentMgr* This,DWORD dwFlags) { | 
|  | return This->lpVtbl->Pop(This,dwFlags); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfDocumentMgr_GetTop(ITfDocumentMgr* This,ITfContext **ppic) { | 
|  | return This->lpVtbl->GetTop(This,ppic); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfDocumentMgr_GetBase(ITfDocumentMgr* This,ITfContext **ppic) { | 
|  | return This->lpVtbl->GetBase(This,ppic); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfDocumentMgr_EnumContexts(ITfDocumentMgr* This,IEnumTfContexts **ppEnum) { | 
|  | return This->lpVtbl->EnumContexts(This,ppEnum); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfDocumentMgr_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfContextView interface | 
|  | */ | 
|  | #ifndef __ITfContextView_INTERFACE_DEFINED__ | 
|  | #define __ITfContextView_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfContextView, 0x2433bf8e, 0x0f9b, 0x435c, 0xba,0x2c, 0x18,0x06,0x11,0x97,0x8c,0x30); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("2433bf8e-0f9b-435c-ba2c-180611978c30") | 
|  | ITfContextView : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetRangeFromPoint( | 
|  | TfEditCookie cookie, | 
|  | const POINT *pt, | 
|  | DWORD flags, | 
|  | ITfRange **range) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTextExt( | 
|  | TfEditCookie cookie, | 
|  | ITfRange *range, | 
|  | RECT *rect, | 
|  | WINBOOL *clipped) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetScreenExt( | 
|  | RECT *rect) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetWnd( | 
|  | HWND *hwnd) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfContextView, 0x2433bf8e, 0x0f9b, 0x435c, 0xba,0x2c, 0x18,0x06,0x11,0x97,0x8c,0x30) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfContextViewVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfContextView *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfContextView *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfContextView *This); | 
|  |  | 
|  | /*** ITfContextView methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetRangeFromPoint)( | 
|  | ITfContextView *This, | 
|  | TfEditCookie cookie, | 
|  | const POINT *pt, | 
|  | DWORD flags, | 
|  | ITfRange **range); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTextExt)( | 
|  | ITfContextView *This, | 
|  | TfEditCookie cookie, | 
|  | ITfRange *range, | 
|  | RECT *rect, | 
|  | WINBOOL *clipped); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetScreenExt)( | 
|  | ITfContextView *This, | 
|  | RECT *rect); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetWnd)( | 
|  | ITfContextView *This, | 
|  | HWND *hwnd); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfContextViewVtbl; | 
|  |  | 
|  | interface ITfContextView { | 
|  | CONST_VTBL ITfContextViewVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfContextView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfContextView_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfContextView_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfContextView methods ***/ | 
|  | #define ITfContextView_GetRangeFromPoint(This,cookie,pt,flags,range) (This)->lpVtbl->GetRangeFromPoint(This,cookie,pt,flags,range) | 
|  | #define ITfContextView_GetTextExt(This,cookie,range,rect,clipped) (This)->lpVtbl->GetTextExt(This,cookie,range,rect,clipped) | 
|  | #define ITfContextView_GetScreenExt(This,rect) (This)->lpVtbl->GetScreenExt(This,rect) | 
|  | #define ITfContextView_GetWnd(This,hwnd) (This)->lpVtbl->GetWnd(This,hwnd) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContextView_QueryInterface(ITfContextView* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfContextView_AddRef(ITfContextView* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfContextView_Release(ITfContextView* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfContextView methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContextView_GetRangeFromPoint(ITfContextView* This,TfEditCookie cookie,const POINT *pt,DWORD flags,ITfRange **range) { | 
|  | return This->lpVtbl->GetRangeFromPoint(This,cookie,pt,flags,range); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextView_GetTextExt(ITfContextView* This,TfEditCookie cookie,ITfRange *range,RECT *rect,WINBOOL *clipped) { | 
|  | return This->lpVtbl->GetTextExt(This,cookie,range,rect,clipped); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextView_GetScreenExt(ITfContextView* This,RECT *rect) { | 
|  | return This->lpVtbl->GetScreenExt(This,rect); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextView_GetWnd(ITfContextView* This,HWND *hwnd) { | 
|  | return This->lpVtbl->GetWnd(This,hwnd); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfContextView_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumTfContextViews interface | 
|  | */ | 
|  | #ifndef __IEnumTfContextViews_INTERFACE_DEFINED__ | 
|  | #define __IEnumTfContextViews_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumTfContextViews, 0xf0c0f8dd, 0xcf38, 0x44e1, 0xbb,0x0f, 0x68,0xcf,0x0d,0x55,0x1c,0x78); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("f0c0f8dd-cf38-44e1-bb0f-68cf0d551c78") | 
|  | IEnumTfContextViews : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumTfContextViews **ret) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG count, | 
|  | ITfContextView **views, | 
|  | ULONG *fetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG count) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumTfContextViews, 0xf0c0f8dd, 0xcf38, 0x44e1, 0xbb,0x0f, 0x68,0xcf,0x0d,0x55,0x1c,0x78) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumTfContextViewsVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumTfContextViews *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumTfContextViews *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumTfContextViews *This); | 
|  |  | 
|  | /*** IEnumTfContextViews methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumTfContextViews *This, | 
|  | IEnumTfContextViews **ret); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumTfContextViews *This, | 
|  | ULONG count, | 
|  | ITfContextView **views, | 
|  | ULONG *fetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumTfContextViews *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumTfContextViews *This, | 
|  | ULONG count); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumTfContextViewsVtbl; | 
|  |  | 
|  | interface IEnumTfContextViews { | 
|  | CONST_VTBL IEnumTfContextViewsVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumTfContextViews_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumTfContextViews_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumTfContextViews_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumTfContextViews methods ***/ | 
|  | #define IEnumTfContextViews_Clone(This,ret) (This)->lpVtbl->Clone(This,ret) | 
|  | #define IEnumTfContextViews_Next(This,count,views,fetched) (This)->lpVtbl->Next(This,count,views,fetched) | 
|  | #define IEnumTfContextViews_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumTfContextViews_Skip(This,count) (This)->lpVtbl->Skip(This,count) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfContextViews_QueryInterface(IEnumTfContextViews* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfContextViews_AddRef(IEnumTfContextViews* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfContextViews_Release(IEnumTfContextViews* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumTfContextViews methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfContextViews_Clone(IEnumTfContextViews* This,IEnumTfContextViews **ret) { | 
|  | return This->lpVtbl->Clone(This,ret); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfContextViews_Next(IEnumTfContextViews* This,ULONG count,ITfContextView **views,ULONG *fetched) { | 
|  | return This->lpVtbl->Next(This,count,views,fetched); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfContextViews_Reset(IEnumTfContextViews* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfContextViews_Skip(IEnumTfContextViews* This,ULONG count) { | 
|  | return This->lpVtbl->Skip(This,count); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumTfContextViews_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumTfProperties interface | 
|  | */ | 
|  | #ifndef __IEnumTfProperties_INTERFACE_DEFINED__ | 
|  | #define __IEnumTfProperties_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumTfProperties, 0x19188cb0, 0xaca9, 0x11d2, 0xaf,0xc5, 0x00,0x10,0x5a,0x27,0x99,0xb5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("19188cb0-aca9-11d2-afc5-00105a2799b5") | 
|  | IEnumTfProperties : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumTfProperties **ret) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG count, | 
|  | ITfProperty **props, | 
|  | ULONG *fetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG count) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumTfProperties, 0x19188cb0, 0xaca9, 0x11d2, 0xaf,0xc5, 0x00,0x10,0x5a,0x27,0x99,0xb5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumTfPropertiesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumTfProperties *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumTfProperties *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumTfProperties *This); | 
|  |  | 
|  | /*** IEnumTfProperties methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumTfProperties *This, | 
|  | IEnumTfProperties **ret); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumTfProperties *This, | 
|  | ULONG count, | 
|  | ITfProperty **props, | 
|  | ULONG *fetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumTfProperties *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumTfProperties *This, | 
|  | ULONG count); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumTfPropertiesVtbl; | 
|  |  | 
|  | interface IEnumTfProperties { | 
|  | CONST_VTBL IEnumTfPropertiesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumTfProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumTfProperties_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumTfProperties_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumTfProperties methods ***/ | 
|  | #define IEnumTfProperties_Clone(This,ret) (This)->lpVtbl->Clone(This,ret) | 
|  | #define IEnumTfProperties_Next(This,count,props,fetched) (This)->lpVtbl->Next(This,count,props,fetched) | 
|  | #define IEnumTfProperties_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumTfProperties_Skip(This,count) (This)->lpVtbl->Skip(This,count) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfProperties_QueryInterface(IEnumTfProperties* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfProperties_AddRef(IEnumTfProperties* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfProperties_Release(IEnumTfProperties* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumTfProperties methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfProperties_Clone(IEnumTfProperties* This,IEnumTfProperties **ret) { | 
|  | return This->lpVtbl->Clone(This,ret); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfProperties_Next(IEnumTfProperties* This,ULONG count,ITfProperty **props,ULONG *fetched) { | 
|  | return This->lpVtbl->Next(This,count,props,fetched); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfProperties_Reset(IEnumTfProperties* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfProperties_Skip(IEnumTfProperties* This,ULONG count) { | 
|  | return This->lpVtbl->Skip(This,count); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumTfProperties_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfRangeBackup interface | 
|  | */ | 
|  | #ifndef __ITfRangeBackup_INTERFACE_DEFINED__ | 
|  | #define __ITfRangeBackup_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfRangeBackup, 0x463a506d, 0x6992, 0x49d2, 0x9b,0x88, 0x93,0xd5,0x5e,0x70,0xbb,0x16); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("463a506d-6992-49d2-9b88-93d55e70bb16") | 
|  | ITfRangeBackup : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Restore( | 
|  | TfEditCookie cookie, | 
|  | ITfRange *range) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfRangeBackup, 0x463a506d, 0x6992, 0x49d2, 0x9b,0x88, 0x93,0xd5,0x5e,0x70,0xbb,0x16) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfRangeBackupVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfRangeBackup *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfRangeBackup *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfRangeBackup *This); | 
|  |  | 
|  | /*** ITfRangeBackup methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Restore)( | 
|  | ITfRangeBackup *This, | 
|  | TfEditCookie cookie, | 
|  | ITfRange *range); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfRangeBackupVtbl; | 
|  |  | 
|  | interface ITfRangeBackup { | 
|  | CONST_VTBL ITfRangeBackupVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfRangeBackup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfRangeBackup_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfRangeBackup_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfRangeBackup methods ***/ | 
|  | #define ITfRangeBackup_Restore(This,cookie,range) (This)->lpVtbl->Restore(This,cookie,range) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfRangeBackup_QueryInterface(ITfRangeBackup* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfRangeBackup_AddRef(ITfRangeBackup* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfRangeBackup_Release(ITfRangeBackup* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfRangeBackup methods ***/ | 
|  | static FORCEINLINE HRESULT ITfRangeBackup_Restore(ITfRangeBackup* This,TfEditCookie cookie,ITfRange *range) { | 
|  | return This->lpVtbl->Restore(This,cookie,range); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfRangeBackup_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITextStoreACPServices interface | 
|  | */ | 
|  | #ifndef __ITextStoreACPServices_INTERFACE_DEFINED__ | 
|  | #define __ITextStoreACPServices_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITextStoreACPServices, 0xaa80e901, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("aa80e901-2021-11d2-93e0-0060b067b86e") | 
|  | ITextStoreACPServices : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Serialize( | 
|  | ITfProperty *prop, | 
|  | ITfRange *range, | 
|  | TF_PERSISTENT_PROPERTY_HEADER_ACP *header, | 
|  | IStream *stream) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Unserialize( | 
|  | ITfProperty *prop, | 
|  | const TF_PERSISTENT_PROPERTY_HEADER_ACP *header, | 
|  | IStream *stream, | 
|  | ITfPersistentPropertyLoaderACP *loader) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ForceLoadProperty( | 
|  | ITfProperty *prop) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateRange( | 
|  | LONG start, | 
|  | LONG end, | 
|  | ITfRangeACP **range) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITextStoreACPServices, 0xaa80e901, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITextStoreACPServicesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITextStoreACPServices *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITextStoreACPServices *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITextStoreACPServices *This); | 
|  |  | 
|  | /*** ITextStoreACPServices methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Serialize)( | 
|  | ITextStoreACPServices *This, | 
|  | ITfProperty *prop, | 
|  | ITfRange *range, | 
|  | TF_PERSISTENT_PROPERTY_HEADER_ACP *header, | 
|  | IStream *stream); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Unserialize)( | 
|  | ITextStoreACPServices *This, | 
|  | ITfProperty *prop, | 
|  | const TF_PERSISTENT_PROPERTY_HEADER_ACP *header, | 
|  | IStream *stream, | 
|  | ITfPersistentPropertyLoaderACP *loader); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ForceLoadProperty)( | 
|  | ITextStoreACPServices *This, | 
|  | ITfProperty *prop); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateRange)( | 
|  | ITextStoreACPServices *This, | 
|  | LONG start, | 
|  | LONG end, | 
|  | ITfRangeACP **range); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITextStoreACPServicesVtbl; | 
|  |  | 
|  | interface ITextStoreACPServices { | 
|  | CONST_VTBL ITextStoreACPServicesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITextStoreACPServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITextStoreACPServices_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITextStoreACPServices_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITextStoreACPServices methods ***/ | 
|  | #define ITextStoreACPServices_Serialize(This,prop,range,header,stream) (This)->lpVtbl->Serialize(This,prop,range,header,stream) | 
|  | #define ITextStoreACPServices_Unserialize(This,prop,header,stream,loader) (This)->lpVtbl->Unserialize(This,prop,header,stream,loader) | 
|  | #define ITextStoreACPServices_ForceLoadProperty(This,prop) (This)->lpVtbl->ForceLoadProperty(This,prop) | 
|  | #define ITextStoreACPServices_CreateRange(This,start,end,range) (This)->lpVtbl->CreateRange(This,start,end,range) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITextStoreACPServices_QueryInterface(ITextStoreACPServices* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITextStoreACPServices_AddRef(ITextStoreACPServices* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITextStoreACPServices_Release(ITextStoreACPServices* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITextStoreACPServices methods ***/ | 
|  | static FORCEINLINE HRESULT ITextStoreACPServices_Serialize(ITextStoreACPServices* This,ITfProperty *prop,ITfRange *range,TF_PERSISTENT_PROPERTY_HEADER_ACP *header,IStream *stream) { | 
|  | return This->lpVtbl->Serialize(This,prop,range,header,stream); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITextStoreACPServices_Unserialize(ITextStoreACPServices* This,ITfProperty *prop,const TF_PERSISTENT_PROPERTY_HEADER_ACP *header,IStream *stream,ITfPersistentPropertyLoaderACP *loader) { | 
|  | return This->lpVtbl->Unserialize(This,prop,header,stream,loader); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITextStoreACPServices_ForceLoadProperty(ITextStoreACPServices* This,ITfProperty *prop) { | 
|  | return This->lpVtbl->ForceLoadProperty(This,prop); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITextStoreACPServices_CreateRange(ITextStoreACPServices* This,LONG start,LONG end,ITfRangeACP **range) { | 
|  | return This->lpVtbl->CreateRange(This,start,end,range); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITextStoreACPServices_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfContext interface | 
|  | */ | 
|  | #ifndef __ITfContext_INTERFACE_DEFINED__ | 
|  | #define __ITfContext_INTERFACE_DEFINED__ | 
|  |  | 
|  | #define TF_ES_ASYNCDONTCARE (0x0) | 
|  |  | 
|  | #define TF_ES_SYNC (0x1) | 
|  |  | 
|  | #define TF_ES_READ (0x2) | 
|  |  | 
|  | #define TF_ES_READWRITE (0x6) | 
|  |  | 
|  | #define TF_ES_ASYNC (0x8) | 
|  |  | 
|  | typedef enum __WIDL_msctf_generated_name_00000013 { | 
|  | TF_AE_NONE = 0, | 
|  | TF_AE_START = 1, | 
|  | TF_AE_END = 2 | 
|  | } TfActiveSelEnd; | 
|  | typedef struct TF_SELECTIONSTYLE { | 
|  | TfActiveSelEnd ase; | 
|  | WINBOOL fInterimChar; | 
|  | } TF_SELECTIONSTYLE; | 
|  | typedef struct TF_SELECTION { | 
|  | ITfRange *range; | 
|  | TF_SELECTIONSTYLE style; | 
|  | } TF_SELECTION; | 
|  | #define TF_DEFAULT_SELECTION (TS_DEFAULT_SELECTION) | 
|  |  | 
|  | typedef TS_STATUS TF_STATUS; | 
|  | #define TF_SD_READONLY (TS_SD_READONLY) | 
|  |  | 
|  | #define TF_SD_LOADING (TS_SD_LOADING) | 
|  |  | 
|  | #define TF_SS_DISJOINTSEL (TS_SS_DISJOINTSEL) | 
|  |  | 
|  | #define TF_SS_REGIONS (TS_SS_REGIONS) | 
|  |  | 
|  | #define TF_SS_TRANSITORY (TS_SS_TRANSITORY) | 
|  |  | 
|  | DEFINE_GUID(IID_ITfContext, 0xaa80e7fd, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("aa80e7fd-2021-11d2-93e0-0060b067b86e") | 
|  | ITfContext : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE RequestEditSession( | 
|  | TfClientId tid, | 
|  | ITfEditSession *pes, | 
|  | DWORD dwFlags, | 
|  | HRESULT *phrSession) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE InWriteSession( | 
|  | TfClientId tid, | 
|  | WINBOOL *pfWriteSession) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSelection( | 
|  | TfEditCookie ec, | 
|  | ULONG ulIndex, | 
|  | ULONG ulCount, | 
|  | TF_SELECTION *pSelection, | 
|  | ULONG *pcFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetSelection( | 
|  | TfEditCookie ec, | 
|  | ULONG ulCount, | 
|  | const TF_SELECTION *pSelection) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStart( | 
|  | TfEditCookie ec, | 
|  | ITfRange **ppStart) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetEnd( | 
|  | TfEditCookie ec, | 
|  | ITfRange **ppEnd) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetActiveView( | 
|  | ITfContextView **ppView) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumViews( | 
|  | IEnumTfContextViews **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetStatus( | 
|  | TF_STATUS *pdcs) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetProperty( | 
|  | REFGUID guidProp, | 
|  | ITfProperty **ppProp) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAppProperty( | 
|  | REFGUID guidProp, | 
|  | ITfReadOnlyProperty **ppProp) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE TrackProperties( | 
|  | const GUID **prgProp, | 
|  | ULONG cProp, | 
|  | const GUID **prgAppProp, | 
|  | ULONG cAppProp, | 
|  | ITfReadOnlyProperty **ppProperty) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumProperties( | 
|  | IEnumTfProperties **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDocumentMgr( | 
|  | ITfDocumentMgr **ppDm) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateRangeBackup( | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | ITfRangeBackup **ppBackup) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfContext, 0xaa80e7fd, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfContextVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfContext *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfContext *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfContext *This); | 
|  |  | 
|  | /*** ITfContext methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *RequestEditSession)( | 
|  | ITfContext *This, | 
|  | TfClientId tid, | 
|  | ITfEditSession *pes, | 
|  | DWORD dwFlags, | 
|  | HRESULT *phrSession); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *InWriteSession)( | 
|  | ITfContext *This, | 
|  | TfClientId tid, | 
|  | WINBOOL *pfWriteSession); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetSelection)( | 
|  | ITfContext *This, | 
|  | TfEditCookie ec, | 
|  | ULONG ulIndex, | 
|  | ULONG ulCount, | 
|  | TF_SELECTION *pSelection, | 
|  | ULONG *pcFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetSelection)( | 
|  | ITfContext *This, | 
|  | TfEditCookie ec, | 
|  | ULONG ulCount, | 
|  | const TF_SELECTION *pSelection); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStart)( | 
|  | ITfContext *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange **ppStart); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEnd)( | 
|  | ITfContext *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange **ppEnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetActiveView)( | 
|  | ITfContext *This, | 
|  | ITfContextView **ppView); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumViews)( | 
|  | ITfContext *This, | 
|  | IEnumTfContextViews **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetStatus)( | 
|  | ITfContext *This, | 
|  | TF_STATUS *pdcs); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetProperty)( | 
|  | ITfContext *This, | 
|  | REFGUID guidProp, | 
|  | ITfProperty **ppProp); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAppProperty)( | 
|  | ITfContext *This, | 
|  | REFGUID guidProp, | 
|  | ITfReadOnlyProperty **ppProp); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *TrackProperties)( | 
|  | ITfContext *This, | 
|  | const GUID **prgProp, | 
|  | ULONG cProp, | 
|  | const GUID **prgAppProp, | 
|  | ULONG cAppProp, | 
|  | ITfReadOnlyProperty **ppProperty); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumProperties)( | 
|  | ITfContext *This, | 
|  | IEnumTfProperties **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDocumentMgr)( | 
|  | ITfContext *This, | 
|  | ITfDocumentMgr **ppDm); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateRangeBackup)( | 
|  | ITfContext *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | ITfRangeBackup **ppBackup); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfContextVtbl; | 
|  |  | 
|  | interface ITfContext { | 
|  | CONST_VTBL ITfContextVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfContext_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfContext_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfContext methods ***/ | 
|  | #define ITfContext_RequestEditSession(This,tid,pes,dwFlags,phrSession) (This)->lpVtbl->RequestEditSession(This,tid,pes,dwFlags,phrSession) | 
|  | #define ITfContext_InWriteSession(This,tid,pfWriteSession) (This)->lpVtbl->InWriteSession(This,tid,pfWriteSession) | 
|  | #define ITfContext_GetSelection(This,ec,ulIndex,ulCount,pSelection,pcFetched) (This)->lpVtbl->GetSelection(This,ec,ulIndex,ulCount,pSelection,pcFetched) | 
|  | #define ITfContext_SetSelection(This,ec,ulCount,pSelection) (This)->lpVtbl->SetSelection(This,ec,ulCount,pSelection) | 
|  | #define ITfContext_GetStart(This,ec,ppStart) (This)->lpVtbl->GetStart(This,ec,ppStart) | 
|  | #define ITfContext_GetEnd(This,ec,ppEnd) (This)->lpVtbl->GetEnd(This,ec,ppEnd) | 
|  | #define ITfContext_GetActiveView(This,ppView) (This)->lpVtbl->GetActiveView(This,ppView) | 
|  | #define ITfContext_EnumViews(This,ppEnum) (This)->lpVtbl->EnumViews(This,ppEnum) | 
|  | #define ITfContext_GetStatus(This,pdcs) (This)->lpVtbl->GetStatus(This,pdcs) | 
|  | #define ITfContext_GetProperty(This,guidProp,ppProp) (This)->lpVtbl->GetProperty(This,guidProp,ppProp) | 
|  | #define ITfContext_GetAppProperty(This,guidProp,ppProp) (This)->lpVtbl->GetAppProperty(This,guidProp,ppProp) | 
|  | #define ITfContext_TrackProperties(This,prgProp,cProp,prgAppProp,cAppProp,ppProperty) (This)->lpVtbl->TrackProperties(This,prgProp,cProp,prgAppProp,cAppProp,ppProperty) | 
|  | #define ITfContext_EnumProperties(This,ppEnum) (This)->lpVtbl->EnumProperties(This,ppEnum) | 
|  | #define ITfContext_GetDocumentMgr(This,ppDm) (This)->lpVtbl->GetDocumentMgr(This,ppDm) | 
|  | #define ITfContext_CreateRangeBackup(This,ec,pRange,ppBackup) (This)->lpVtbl->CreateRangeBackup(This,ec,pRange,ppBackup) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContext_QueryInterface(ITfContext* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfContext_AddRef(ITfContext* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfContext_Release(ITfContext* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfContext methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContext_RequestEditSession(ITfContext* This,TfClientId tid,ITfEditSession *pes,DWORD dwFlags,HRESULT *phrSession) { | 
|  | return This->lpVtbl->RequestEditSession(This,tid,pes,dwFlags,phrSession); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_InWriteSession(ITfContext* This,TfClientId tid,WINBOOL *pfWriteSession) { | 
|  | return This->lpVtbl->InWriteSession(This,tid,pfWriteSession); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_GetSelection(ITfContext* This,TfEditCookie ec,ULONG ulIndex,ULONG ulCount,TF_SELECTION *pSelection,ULONG *pcFetched) { | 
|  | return This->lpVtbl->GetSelection(This,ec,ulIndex,ulCount,pSelection,pcFetched); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_SetSelection(ITfContext* This,TfEditCookie ec,ULONG ulCount,const TF_SELECTION *pSelection) { | 
|  | return This->lpVtbl->SetSelection(This,ec,ulCount,pSelection); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_GetStart(ITfContext* This,TfEditCookie ec,ITfRange **ppStart) { | 
|  | return This->lpVtbl->GetStart(This,ec,ppStart); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_GetEnd(ITfContext* This,TfEditCookie ec,ITfRange **ppEnd) { | 
|  | return This->lpVtbl->GetEnd(This,ec,ppEnd); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_GetActiveView(ITfContext* This,ITfContextView **ppView) { | 
|  | return This->lpVtbl->GetActiveView(This,ppView); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_EnumViews(ITfContext* This,IEnumTfContextViews **ppEnum) { | 
|  | return This->lpVtbl->EnumViews(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_GetStatus(ITfContext* This,TF_STATUS *pdcs) { | 
|  | return This->lpVtbl->GetStatus(This,pdcs); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_GetProperty(ITfContext* This,REFGUID guidProp,ITfProperty **ppProp) { | 
|  | return This->lpVtbl->GetProperty(This,guidProp,ppProp); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_GetAppProperty(ITfContext* This,REFGUID guidProp,ITfReadOnlyProperty **ppProp) { | 
|  | return This->lpVtbl->GetAppProperty(This,guidProp,ppProp); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_TrackProperties(ITfContext* This,const GUID **prgProp,ULONG cProp,const GUID **prgAppProp,ULONG cAppProp,ITfReadOnlyProperty **ppProperty) { | 
|  | return This->lpVtbl->TrackProperties(This,prgProp,cProp,prgAppProp,cAppProp,ppProperty); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_EnumProperties(ITfContext* This,IEnumTfProperties **ppEnum) { | 
|  | return This->lpVtbl->EnumProperties(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_GetDocumentMgr(ITfContext* This,ITfDocumentMgr **ppDm) { | 
|  | return This->lpVtbl->GetDocumentMgr(This,ppDm); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContext_CreateRangeBackup(ITfContext* This,TfEditCookie ec,ITfRange *pRange,ITfRangeBackup **ppBackup) { | 
|  | return This->lpVtbl->CreateRangeBackup(This,ec,pRange,ppBackup); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfContext_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #define TF_INVALID_COOKIE (0xffffffff) | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfSource interface | 
|  | */ | 
|  | #ifndef __ITfSource_INTERFACE_DEFINED__ | 
|  | #define __ITfSource_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfSource, 0x4ea48a35, 0x60ae, 0x446f, 0x8f,0xd6, 0xe6,0xa8,0xd8,0x24,0x59,0xf7); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("4ea48a35-60ae-446f-8fd6-e6a8d82459f7") | 
|  | ITfSource : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE AdviseSink( | 
|  | REFIID riid, | 
|  | IUnknown *punk, | 
|  | DWORD *pdwCookie) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnadviseSink( | 
|  | DWORD dwCookie) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfSource, 0x4ea48a35, 0x60ae, 0x446f, 0x8f,0xd6, 0xe6,0xa8,0xd8,0x24,0x59,0xf7) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfSourceVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfSource *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfSource *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfSource *This); | 
|  |  | 
|  | /*** ITfSource methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *AdviseSink)( | 
|  | ITfSource *This, | 
|  | REFIID riid, | 
|  | IUnknown *punk, | 
|  | DWORD *pdwCookie); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnadviseSink)( | 
|  | ITfSource *This, | 
|  | DWORD dwCookie); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfSourceVtbl; | 
|  |  | 
|  | interface ITfSource { | 
|  | CONST_VTBL ITfSourceVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfSource_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfSource_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfSource methods ***/ | 
|  | #define ITfSource_AdviseSink(This,riid,punk,pdwCookie) (This)->lpVtbl->AdviseSink(This,riid,punk,pdwCookie) | 
|  | #define ITfSource_UnadviseSink(This,dwCookie) (This)->lpVtbl->UnadviseSink(This,dwCookie) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfSource_QueryInterface(ITfSource* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfSource_AddRef(ITfSource* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfSource_Release(ITfSource* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfSource methods ***/ | 
|  | static FORCEINLINE HRESULT ITfSource_AdviseSink(ITfSource* This,REFIID riid,IUnknown *punk,DWORD *pdwCookie) { | 
|  | return This->lpVtbl->AdviseSink(This,riid,punk,pdwCookie); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfSource_UnadviseSink(ITfSource* This,DWORD dwCookie) { | 
|  | return This->lpVtbl->UnadviseSink(This,dwCookie); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfSource_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfInputProcessorProfiles interface | 
|  | */ | 
|  | #ifndef __ITfInputProcessorProfiles_INTERFACE_DEFINED__ | 
|  | #define __ITfInputProcessorProfiles_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfInputProcessorProfiles, 0x1f02b6c5, 0x7842, 0x4ee6, 0x8a,0x0b, 0x9a,0x24,0x18,0x3a,0x95,0xca); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("1f02b6c5-7842-4ee6-8a0b-9a24183a95ca") | 
|  | ITfInputProcessorProfiles : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Register( | 
|  | REFCLSID rclsid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Unregister( | 
|  | REFCLSID rclsid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AddLanguageProfile( | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | const WCHAR *pchDesc, | 
|  | ULONG cchDesc, | 
|  | const WCHAR *pchIconFile, | 
|  | ULONG cchFile, | 
|  | ULONG uIconIndex) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RemoveLanguageProfile( | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumInputProcessorInfo( | 
|  | IEnumGUID **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDefaultLanguageProfile( | 
|  | LANGID langid, | 
|  | REFGUID catid, | 
|  | CLSID *pclsid, | 
|  | GUID *pguidProfile) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetDefaultLanguageProfile( | 
|  | LANGID langid, | 
|  | REFCLSID rclsid, | 
|  | REFGUID guidProfiles) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ActivateLanguageProfile( | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfiles) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetActiveLanguageProfile( | 
|  | REFCLSID rclsid, | 
|  | LANGID *plangid, | 
|  | GUID *pguidProfile) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetLanguageProfileDescription( | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | BSTR *pbstrProfile) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCurrentLanguage( | 
|  | LANGID *plangid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ChangeCurrentLanguage( | 
|  | LANGID langid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetLanguageList( | 
|  | LANGID **ppLangId, | 
|  | ULONG *pulCount) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumLanguageProfiles( | 
|  | LANGID langid, | 
|  | IEnumTfLanguageProfiles **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnableLanguageProfile( | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | WINBOOL fEnable) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsEnabledLanguageProfile( | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | WINBOOL *pfEnable) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnableLanguageProfileByDefault( | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | WINBOOL fEnable) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SubstituteKeyboardLayout( | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | HKL hKL) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfInputProcessorProfiles, 0x1f02b6c5, 0x7842, 0x4ee6, 0x8a,0x0b, 0x9a,0x24,0x18,0x3a,0x95,0xca) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfInputProcessorProfilesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfInputProcessorProfiles *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfInputProcessorProfiles *This); | 
|  |  | 
|  | /*** ITfInputProcessorProfiles methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Register)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | REFCLSID rclsid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Unregister)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | REFCLSID rclsid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AddLanguageProfile)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | const WCHAR *pchDesc, | 
|  | ULONG cchDesc, | 
|  | const WCHAR *pchIconFile, | 
|  | ULONG cchFile, | 
|  | ULONG uIconIndex); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RemoveLanguageProfile)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumInputProcessorInfo)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | IEnumGUID **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDefaultLanguageProfile)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | LANGID langid, | 
|  | REFGUID catid, | 
|  | CLSID *pclsid, | 
|  | GUID *pguidProfile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetDefaultLanguageProfile)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | LANGID langid, | 
|  | REFCLSID rclsid, | 
|  | REFGUID guidProfiles); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ActivateLanguageProfile)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfiles); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetActiveLanguageProfile)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | REFCLSID rclsid, | 
|  | LANGID *plangid, | 
|  | GUID *pguidProfile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLanguageProfileDescription)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | BSTR *pbstrProfile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCurrentLanguage)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | LANGID *plangid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ChangeCurrentLanguage)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | LANGID langid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetLanguageList)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | LANGID **ppLangId, | 
|  | ULONG *pulCount); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumLanguageProfiles)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | LANGID langid, | 
|  | IEnumTfLanguageProfiles **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableLanguageProfile)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | WINBOOL fEnable); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsEnabledLanguageProfile)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | WINBOOL *pfEnable); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnableLanguageProfileByDefault)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | WINBOOL fEnable); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SubstituteKeyboardLayout)( | 
|  | ITfInputProcessorProfiles *This, | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | HKL hKL); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfInputProcessorProfilesVtbl; | 
|  |  | 
|  | interface ITfInputProcessorProfiles { | 
|  | CONST_VTBL ITfInputProcessorProfilesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfInputProcessorProfiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfInputProcessorProfiles_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfInputProcessorProfiles_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfInputProcessorProfiles methods ***/ | 
|  | #define ITfInputProcessorProfiles_Register(This,rclsid) (This)->lpVtbl->Register(This,rclsid) | 
|  | #define ITfInputProcessorProfiles_Unregister(This,rclsid) (This)->lpVtbl->Unregister(This,rclsid) | 
|  | #define ITfInputProcessorProfiles_AddLanguageProfile(This,rclsid,langid,guidProfile,pchDesc,cchDesc,pchIconFile,cchFile,uIconIndex) (This)->lpVtbl->AddLanguageProfile(This,rclsid,langid,guidProfile,pchDesc,cchDesc,pchIconFile,cchFile,uIconIndex) | 
|  | #define ITfInputProcessorProfiles_RemoveLanguageProfile(This,rclsid,langid,guidProfile) (This)->lpVtbl->RemoveLanguageProfile(This,rclsid,langid,guidProfile) | 
|  | #define ITfInputProcessorProfiles_EnumInputProcessorInfo(This,ppEnum) (This)->lpVtbl->EnumInputProcessorInfo(This,ppEnum) | 
|  | #define ITfInputProcessorProfiles_GetDefaultLanguageProfile(This,langid,catid,pclsid,pguidProfile) (This)->lpVtbl->GetDefaultLanguageProfile(This,langid,catid,pclsid,pguidProfile) | 
|  | #define ITfInputProcessorProfiles_SetDefaultLanguageProfile(This,langid,rclsid,guidProfiles) (This)->lpVtbl->SetDefaultLanguageProfile(This,langid,rclsid,guidProfiles) | 
|  | #define ITfInputProcessorProfiles_ActivateLanguageProfile(This,rclsid,langid,guidProfiles) (This)->lpVtbl->ActivateLanguageProfile(This,rclsid,langid,guidProfiles) | 
|  | #define ITfInputProcessorProfiles_GetActiveLanguageProfile(This,rclsid,plangid,pguidProfile) (This)->lpVtbl->GetActiveLanguageProfile(This,rclsid,plangid,pguidProfile) | 
|  | #define ITfInputProcessorProfiles_GetLanguageProfileDescription(This,rclsid,langid,guidProfile,pbstrProfile) (This)->lpVtbl->GetLanguageProfileDescription(This,rclsid,langid,guidProfile,pbstrProfile) | 
|  | #define ITfInputProcessorProfiles_GetCurrentLanguage(This,plangid) (This)->lpVtbl->GetCurrentLanguage(This,plangid) | 
|  | #define ITfInputProcessorProfiles_ChangeCurrentLanguage(This,langid) (This)->lpVtbl->ChangeCurrentLanguage(This,langid) | 
|  | #define ITfInputProcessorProfiles_GetLanguageList(This,ppLangId,pulCount) (This)->lpVtbl->GetLanguageList(This,ppLangId,pulCount) | 
|  | #define ITfInputProcessorProfiles_EnumLanguageProfiles(This,langid,ppEnum) (This)->lpVtbl->EnumLanguageProfiles(This,langid,ppEnum) | 
|  | #define ITfInputProcessorProfiles_EnableLanguageProfile(This,rclsid,langid,guidProfile,fEnable) (This)->lpVtbl->EnableLanguageProfile(This,rclsid,langid,guidProfile,fEnable) | 
|  | #define ITfInputProcessorProfiles_IsEnabledLanguageProfile(This,rclsid,langid,guidProfile,pfEnable) (This)->lpVtbl->IsEnabledLanguageProfile(This,rclsid,langid,guidProfile,pfEnable) | 
|  | #define ITfInputProcessorProfiles_EnableLanguageProfileByDefault(This,rclsid,langid,guidProfile,fEnable) (This)->lpVtbl->EnableLanguageProfileByDefault(This,rclsid,langid,guidProfile,fEnable) | 
|  | #define ITfInputProcessorProfiles_SubstituteKeyboardLayout(This,rclsid,langid,guidProfile,hKL) (This)->lpVtbl->SubstituteKeyboardLayout(This,rclsid,langid,guidProfile,hKL) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_QueryInterface(ITfInputProcessorProfiles* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfInputProcessorProfiles_AddRef(ITfInputProcessorProfiles* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfInputProcessorProfiles_Release(ITfInputProcessorProfiles* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfInputProcessorProfiles methods ***/ | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_Register(ITfInputProcessorProfiles* This,REFCLSID rclsid) { | 
|  | return This->lpVtbl->Register(This,rclsid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_Unregister(ITfInputProcessorProfiles* This,REFCLSID rclsid) { | 
|  | return This->lpVtbl->Unregister(This,rclsid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_AddLanguageProfile(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,const WCHAR *pchDesc,ULONG cchDesc,const WCHAR *pchIconFile,ULONG cchFile,ULONG uIconIndex) { | 
|  | return This->lpVtbl->AddLanguageProfile(This,rclsid,langid,guidProfile,pchDesc,cchDesc,pchIconFile,cchFile,uIconIndex); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_RemoveLanguageProfile(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile) { | 
|  | return This->lpVtbl->RemoveLanguageProfile(This,rclsid,langid,guidProfile); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_EnumInputProcessorInfo(ITfInputProcessorProfiles* This,IEnumGUID **ppEnum) { | 
|  | return This->lpVtbl->EnumInputProcessorInfo(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_GetDefaultLanguageProfile(ITfInputProcessorProfiles* This,LANGID langid,REFGUID catid,CLSID *pclsid,GUID *pguidProfile) { | 
|  | return This->lpVtbl->GetDefaultLanguageProfile(This,langid,catid,pclsid,pguidProfile); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_SetDefaultLanguageProfile(ITfInputProcessorProfiles* This,LANGID langid,REFCLSID rclsid,REFGUID guidProfiles) { | 
|  | return This->lpVtbl->SetDefaultLanguageProfile(This,langid,rclsid,guidProfiles); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_ActivateLanguageProfile(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfiles) { | 
|  | return This->lpVtbl->ActivateLanguageProfile(This,rclsid,langid,guidProfiles); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_GetActiveLanguageProfile(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID *plangid,GUID *pguidProfile) { | 
|  | return This->lpVtbl->GetActiveLanguageProfile(This,rclsid,plangid,pguidProfile); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_GetLanguageProfileDescription(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,BSTR *pbstrProfile) { | 
|  | return This->lpVtbl->GetLanguageProfileDescription(This,rclsid,langid,guidProfile,pbstrProfile); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_GetCurrentLanguage(ITfInputProcessorProfiles* This,LANGID *plangid) { | 
|  | return This->lpVtbl->GetCurrentLanguage(This,plangid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_ChangeCurrentLanguage(ITfInputProcessorProfiles* This,LANGID langid) { | 
|  | return This->lpVtbl->ChangeCurrentLanguage(This,langid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_GetLanguageList(ITfInputProcessorProfiles* This,LANGID **ppLangId,ULONG *pulCount) { | 
|  | return This->lpVtbl->GetLanguageList(This,ppLangId,pulCount); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_EnumLanguageProfiles(ITfInputProcessorProfiles* This,LANGID langid,IEnumTfLanguageProfiles **ppEnum) { | 
|  | return This->lpVtbl->EnumLanguageProfiles(This,langid,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_EnableLanguageProfile(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,WINBOOL fEnable) { | 
|  | return This->lpVtbl->EnableLanguageProfile(This,rclsid,langid,guidProfile,fEnable); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_IsEnabledLanguageProfile(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,WINBOOL *pfEnable) { | 
|  | return This->lpVtbl->IsEnabledLanguageProfile(This,rclsid,langid,guidProfile,pfEnable); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_EnableLanguageProfileByDefault(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,WINBOOL fEnable) { | 
|  | return This->lpVtbl->EnableLanguageProfileByDefault(This,rclsid,langid,guidProfile,fEnable); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfiles_SubstituteKeyboardLayout(ITfInputProcessorProfiles* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,HKL hKL) { | 
|  | return This->lpVtbl->SubstituteKeyboardLayout(This,rclsid,langid,guidProfile,hKL); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfInputProcessorProfiles_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef struct TF_INPUTPROCESSORPROFILE { | 
|  | DWORD dwProfileType; | 
|  | LANGID langid; | 
|  | CLSID clsid; | 
|  | GUID guidProfile; | 
|  | GUID catid; | 
|  | HKL hklSubstitute; | 
|  | DWORD dwCaps; | 
|  | HKL hkl; | 
|  | DWORD dwFlags; | 
|  | } TF_INPUTPROCESSORPROFILE; | 
|  | /***************************************************************************** | 
|  | * IEnumTfInputProcessorProfiles interface | 
|  | */ | 
|  | #ifndef __IEnumTfInputProcessorProfiles_INTERFACE_DEFINED__ | 
|  | #define __IEnumTfInputProcessorProfiles_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumTfInputProcessorProfiles, 0x71c6e74d, 0x0f28, 0x11d8, 0xa8,0x2a, 0x00,0x06,0x5b,0x84,0x43,0x5c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("71c6e74d-0f28-11d8-a82a-00065b84435c") | 
|  | IEnumTfInputProcessorProfiles : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumTfInputProcessorProfiles **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG ulCount, | 
|  | TF_INPUTPROCESSORPROFILE *pProfile, | 
|  | ULONG *pcFetch) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG ulCount) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumTfInputProcessorProfiles, 0x71c6e74d, 0x0f28, 0x11d8, 0xa8,0x2a, 0x00,0x06,0x5b,0x84,0x43,0x5c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumTfInputProcessorProfilesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumTfInputProcessorProfiles *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumTfInputProcessorProfiles *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumTfInputProcessorProfiles *This); | 
|  |  | 
|  | /*** IEnumTfInputProcessorProfiles methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumTfInputProcessorProfiles *This, | 
|  | IEnumTfInputProcessorProfiles **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumTfInputProcessorProfiles *This, | 
|  | ULONG ulCount, | 
|  | TF_INPUTPROCESSORPROFILE *pProfile, | 
|  | ULONG *pcFetch); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumTfInputProcessorProfiles *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumTfInputProcessorProfiles *This, | 
|  | ULONG ulCount); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumTfInputProcessorProfilesVtbl; | 
|  |  | 
|  | interface IEnumTfInputProcessorProfiles { | 
|  | CONST_VTBL IEnumTfInputProcessorProfilesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumTfInputProcessorProfiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumTfInputProcessorProfiles_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumTfInputProcessorProfiles_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumTfInputProcessorProfiles methods ***/ | 
|  | #define IEnumTfInputProcessorProfiles_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #define IEnumTfInputProcessorProfiles_Next(This,ulCount,pProfile,pcFetch) (This)->lpVtbl->Next(This,ulCount,pProfile,pcFetch) | 
|  | #define IEnumTfInputProcessorProfiles_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumTfInputProcessorProfiles_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfInputProcessorProfiles_QueryInterface(IEnumTfInputProcessorProfiles* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfInputProcessorProfiles_AddRef(IEnumTfInputProcessorProfiles* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfInputProcessorProfiles_Release(IEnumTfInputProcessorProfiles* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumTfInputProcessorProfiles methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfInputProcessorProfiles_Clone(IEnumTfInputProcessorProfiles* This,IEnumTfInputProcessorProfiles **ppEnum) { | 
|  | return This->lpVtbl->Clone(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfInputProcessorProfiles_Next(IEnumTfInputProcessorProfiles* This,ULONG ulCount,TF_INPUTPROCESSORPROFILE *pProfile,ULONG *pcFetch) { | 
|  | return This->lpVtbl->Next(This,ulCount,pProfile,pcFetch); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfInputProcessorProfiles_Reset(IEnumTfInputProcessorProfiles* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfInputProcessorProfiles_Skip(IEnumTfInputProcessorProfiles* This,ULONG ulCount) { | 
|  | return This->lpVtbl->Skip(This,ulCount); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumTfInputProcessorProfiles_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfInputProcessorProfileMgr interface | 
|  | */ | 
|  | #ifndef __ITfInputProcessorProfileMgr_INTERFACE_DEFINED__ | 
|  | #define __ITfInputProcessorProfileMgr_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfInputProcessorProfileMgr, 0x71c6e74c, 0x0f28, 0x11d8, 0xa8,0x2a, 0x00,0x06,0x5b,0x84,0x43,0x5c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("71c6e74c-0f28-11d8-a82a-00065b84435c") | 
|  | ITfInputProcessorProfileMgr : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE ActivateProfile( | 
|  | DWORD dwProfileType, | 
|  | LANGID langid, | 
|  | REFCLSID clsid, | 
|  | REFGUID guidProfile, | 
|  | HKL hkl, | 
|  | DWORD dwFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE DeactivateProfile( | 
|  | DWORD dwProfileType, | 
|  | LANGID langid, | 
|  | REFCLSID clsid, | 
|  | REFGUID guidProfile, | 
|  | HKL hkl, | 
|  | DWORD dwFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetProfile( | 
|  | DWORD dwProfileType, | 
|  | LANGID langid, | 
|  | REFCLSID clsid, | 
|  | REFGUID guidProfile, | 
|  | HKL hkl, | 
|  | TF_INPUTPROCESSORPROFILE *pProfile) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumProfiles( | 
|  | LANGID langid, | 
|  | IEnumTfInputProcessorProfiles **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ReleaseInputProcessor( | 
|  | REFCLSID rclsid, | 
|  | DWORD dwFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterProfile( | 
|  | 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) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnregisterProfile( | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | DWORD dwFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetActiveProfile( | 
|  | REFGUID catid, | 
|  | TF_INPUTPROCESSORPROFILE *pProfile) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfInputProcessorProfileMgr, 0x71c6e74c, 0x0f28, 0x11d8, 0xa8,0x2a, 0x00,0x06,0x5b,0x84,0x43,0x5c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfInputProcessorProfileMgrVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfInputProcessorProfileMgr *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfInputProcessorProfileMgr *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfInputProcessorProfileMgr *This); | 
|  |  | 
|  | /*** ITfInputProcessorProfileMgr methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *ActivateProfile)( | 
|  | ITfInputProcessorProfileMgr *This, | 
|  | DWORD dwProfileType, | 
|  | LANGID langid, | 
|  | REFCLSID clsid, | 
|  | REFGUID guidProfile, | 
|  | HKL hkl, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *DeactivateProfile)( | 
|  | ITfInputProcessorProfileMgr *This, | 
|  | DWORD dwProfileType, | 
|  | LANGID langid, | 
|  | REFCLSID clsid, | 
|  | REFGUID guidProfile, | 
|  | HKL hkl, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetProfile)( | 
|  | ITfInputProcessorProfileMgr *This, | 
|  | DWORD dwProfileType, | 
|  | LANGID langid, | 
|  | REFCLSID clsid, | 
|  | REFGUID guidProfile, | 
|  | HKL hkl, | 
|  | TF_INPUTPROCESSORPROFILE *pProfile); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumProfiles)( | 
|  | ITfInputProcessorProfileMgr *This, | 
|  | LANGID langid, | 
|  | IEnumTfInputProcessorProfiles **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ReleaseInputProcessor)( | 
|  | ITfInputProcessorProfileMgr *This, | 
|  | REFCLSID rclsid, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *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); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnregisterProfile)( | 
|  | ITfInputProcessorProfileMgr *This, | 
|  | REFCLSID rclsid, | 
|  | LANGID langid, | 
|  | REFGUID guidProfile, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetActiveProfile)( | 
|  | ITfInputProcessorProfileMgr *This, | 
|  | REFGUID catid, | 
|  | TF_INPUTPROCESSORPROFILE *pProfile); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfInputProcessorProfileMgrVtbl; | 
|  |  | 
|  | interface ITfInputProcessorProfileMgr { | 
|  | CONST_VTBL ITfInputProcessorProfileMgrVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfInputProcessorProfileMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfInputProcessorProfileMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfInputProcessorProfileMgr_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfInputProcessorProfileMgr methods ***/ | 
|  | #define ITfInputProcessorProfileMgr_ActivateProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,dwFlags) (This)->lpVtbl->ActivateProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,dwFlags) | 
|  | #define ITfInputProcessorProfileMgr_DeactivateProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,dwFlags) (This)->lpVtbl->DeactivateProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,dwFlags) | 
|  | #define ITfInputProcessorProfileMgr_GetProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,pProfile) (This)->lpVtbl->GetProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,pProfile) | 
|  | #define ITfInputProcessorProfileMgr_EnumProfiles(This,langid,ppEnum) (This)->lpVtbl->EnumProfiles(This,langid,ppEnum) | 
|  | #define ITfInputProcessorProfileMgr_ReleaseInputProcessor(This,rclsid,dwFlags) (This)->lpVtbl->ReleaseInputProcessor(This,rclsid,dwFlags) | 
|  | #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) | 
|  | #define ITfInputProcessorProfileMgr_UnregisterProfile(This,rclsid,langid,guidProfile,dwFlags) (This)->lpVtbl->UnregisterProfile(This,rclsid,langid,guidProfile,dwFlags) | 
|  | #define ITfInputProcessorProfileMgr_GetActiveProfile(This,catid,pProfile) (This)->lpVtbl->GetActiveProfile(This,catid,pProfile) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_QueryInterface(ITfInputProcessorProfileMgr* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfInputProcessorProfileMgr_AddRef(ITfInputProcessorProfileMgr* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfInputProcessorProfileMgr_Release(ITfInputProcessorProfileMgr* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfInputProcessorProfileMgr methods ***/ | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_ActivateProfile(ITfInputProcessorProfileMgr* This,DWORD dwProfileType,LANGID langid,REFCLSID clsid,REFGUID guidProfile,HKL hkl,DWORD dwFlags) { | 
|  | return This->lpVtbl->ActivateProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,dwFlags); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_DeactivateProfile(ITfInputProcessorProfileMgr* This,DWORD dwProfileType,LANGID langid,REFCLSID clsid,REFGUID guidProfile,HKL hkl,DWORD dwFlags) { | 
|  | return This->lpVtbl->DeactivateProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,dwFlags); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_GetProfile(ITfInputProcessorProfileMgr* This,DWORD dwProfileType,LANGID langid,REFCLSID clsid,REFGUID guidProfile,HKL hkl,TF_INPUTPROCESSORPROFILE *pProfile) { | 
|  | return This->lpVtbl->GetProfile(This,dwProfileType,langid,clsid,guidProfile,hkl,pProfile); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_EnumProfiles(ITfInputProcessorProfileMgr* This,LANGID langid,IEnumTfInputProcessorProfiles **ppEnum) { | 
|  | return This->lpVtbl->EnumProfiles(This,langid,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_ReleaseInputProcessor(ITfInputProcessorProfileMgr* This,REFCLSID rclsid,DWORD dwFlags) { | 
|  | return This->lpVtbl->ReleaseInputProcessor(This,rclsid,dwFlags); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_RegisterProfile(ITfInputProcessorProfileMgr* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,const WCHAR *pchDesc,ULONG cchDesc,const WCHAR *pchIconFile,ULONG cchFile,ULONG uIconIndex,HKL hklsubstitute,DWORD dwPreferredLayout,WINBOOL bEnabledByDefault,DWORD dwFlags) { | 
|  | return This->lpVtbl->RegisterProfile(This,rclsid,langid,guidProfile,pchDesc,cchDesc,pchIconFile,cchFile,uIconIndex,hklsubstitute,dwPreferredLayout,bEnabledByDefault,dwFlags); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_UnregisterProfile(ITfInputProcessorProfileMgr* This,REFCLSID rclsid,LANGID langid,REFGUID guidProfile,DWORD dwFlags) { | 
|  | return This->lpVtbl->UnregisterProfile(This,rclsid,langid,guidProfile,dwFlags); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfileMgr_GetActiveProfile(ITfInputProcessorProfileMgr* This,REFGUID catid,TF_INPUTPROCESSORPROFILE *pProfile) { | 
|  | return This->lpVtbl->GetActiveProfile(This,catid,pProfile); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfInputProcessorProfileMgr_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | typedef enum __WIDL_msctf_generated_name_00000014 { | 
|  | TF_LS_NONE = 0, | 
|  | TF_LS_SOLID = 1, | 
|  | TF_LS_DOT = 2, | 
|  | TF_LS_DASH = 3, | 
|  | TF_LS_SQUIGGLE = 4 | 
|  | } TF_DA_LINESTYLE; | 
|  | typedef enum __WIDL_msctf_generated_name_00000015 { | 
|  | TF_CT_NONE = 0, | 
|  | TF_CT_SYSCOLOR = 1, | 
|  | TF_CT_COLORREF = 2 | 
|  | } TF_DA_COLORTYPE; | 
|  | typedef struct TF_DA_COLOR { | 
|  | TF_DA_COLORTYPE type; | 
|  | __C89_NAMELESS union { | 
|  | int nIndex; | 
|  | COLORREF cr; | 
|  | } __C89_NAMELESSUNIONNAME; | 
|  | } TF_DA_COLOR; | 
|  | typedef enum __WIDL_msctf_generated_name_00000016 { | 
|  | TF_ATTR_INPUT = 0, | 
|  | TF_ATTR_TARGET_CONVERTED = 1, | 
|  | TF_ATTR_CONVERTED = 2, | 
|  | TF_ATTR_TARGET_NOTCONVERTED = 3, | 
|  | TF_ATTR_INPUT_ERROR = 4, | 
|  | TF_ATTR_FIXEDCONVERTED = 5, | 
|  | TF_ATTR_OTHER = -1 | 
|  | } TF_DA_ATTR_INFO; | 
|  | typedef struct TF_DISPLAYATTRIBUTE { | 
|  | TF_DA_COLOR crText; | 
|  | TF_DA_COLOR crBk; | 
|  | TF_DA_LINESTYLE lsStyle; | 
|  | WINBOOL fBoldLine; | 
|  | TF_DA_COLOR crLine; | 
|  | TF_DA_ATTR_INFO bAttr; | 
|  | } TF_DISPLAYATTRIBUTE; | 
|  | /***************************************************************************** | 
|  | * ITfDisplayAttributeInfo interface | 
|  | */ | 
|  | #ifndef __ITfDisplayAttributeInfo_INTERFACE_DEFINED__ | 
|  | #define __ITfDisplayAttributeInfo_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfDisplayAttributeInfo, 0x70528852, 0x2f26, 0x4aea, 0x8c,0x96, 0x21,0x51,0x50,0x57,0x89,0x32); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("70528852-2f26-4aea-8c96-215150578932") | 
|  | ITfDisplayAttributeInfo : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGUID( | 
|  | GUID *pguid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDescription( | 
|  | BSTR *pbstrDesc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetAttributeInfo( | 
|  | TF_DISPLAYATTRIBUTE *pda) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetAttributeInfo( | 
|  | const TF_DISPLAYATTRIBUTE *pda) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfDisplayAttributeInfo, 0x70528852, 0x2f26, 0x4aea, 0x8c,0x96, 0x21,0x51,0x50,0x57,0x89,0x32) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfDisplayAttributeInfoVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfDisplayAttributeInfo *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfDisplayAttributeInfo *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfDisplayAttributeInfo *This); | 
|  |  | 
|  | /*** ITfDisplayAttributeInfo methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetGUID)( | 
|  | ITfDisplayAttributeInfo *This, | 
|  | GUID *pguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDescription)( | 
|  | ITfDisplayAttributeInfo *This, | 
|  | BSTR *pbstrDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetAttributeInfo)( | 
|  | ITfDisplayAttributeInfo *This, | 
|  | TF_DISPLAYATTRIBUTE *pda); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetAttributeInfo)( | 
|  | ITfDisplayAttributeInfo *This, | 
|  | const TF_DISPLAYATTRIBUTE *pda); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | ITfDisplayAttributeInfo *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfDisplayAttributeInfoVtbl; | 
|  |  | 
|  | interface ITfDisplayAttributeInfo { | 
|  | CONST_VTBL ITfDisplayAttributeInfoVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfDisplayAttributeInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfDisplayAttributeInfo_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfDisplayAttributeInfo_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfDisplayAttributeInfo methods ***/ | 
|  | #define ITfDisplayAttributeInfo_GetGUID(This,pguid) (This)->lpVtbl->GetGUID(This,pguid) | 
|  | #define ITfDisplayAttributeInfo_GetDescription(This,pbstrDesc) (This)->lpVtbl->GetDescription(This,pbstrDesc) | 
|  | #define ITfDisplayAttributeInfo_GetAttributeInfo(This,pda) (This)->lpVtbl->GetAttributeInfo(This,pda) | 
|  | #define ITfDisplayAttributeInfo_SetAttributeInfo(This,pda) (This)->lpVtbl->SetAttributeInfo(This,pda) | 
|  | #define ITfDisplayAttributeInfo_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfDisplayAttributeInfo_QueryInterface(ITfDisplayAttributeInfo* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfDisplayAttributeInfo_AddRef(ITfDisplayAttributeInfo* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfDisplayAttributeInfo_Release(ITfDisplayAttributeInfo* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfDisplayAttributeInfo methods ***/ | 
|  | static FORCEINLINE HRESULT ITfDisplayAttributeInfo_GetGUID(ITfDisplayAttributeInfo* This,GUID *pguid) { | 
|  | return This->lpVtbl->GetGUID(This,pguid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfDisplayAttributeInfo_GetDescription(ITfDisplayAttributeInfo* This,BSTR *pbstrDesc) { | 
|  | return This->lpVtbl->GetDescription(This,pbstrDesc); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfDisplayAttributeInfo_GetAttributeInfo(ITfDisplayAttributeInfo* This,TF_DISPLAYATTRIBUTE *pda) { | 
|  | return This->lpVtbl->GetAttributeInfo(This,pda); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfDisplayAttributeInfo_SetAttributeInfo(ITfDisplayAttributeInfo* This,const TF_DISPLAYATTRIBUTE *pda) { | 
|  | return This->lpVtbl->SetAttributeInfo(This,pda); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfDisplayAttributeInfo_Reset(ITfDisplayAttributeInfo* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfDisplayAttributeInfo_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumTfDisplayAttributeInfo interface | 
|  | */ | 
|  | #ifndef __IEnumTfDisplayAttributeInfo_INTERFACE_DEFINED__ | 
|  | #define __IEnumTfDisplayAttributeInfo_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumTfDisplayAttributeInfo, 0x7cef04d7, 0xcb75, 0x4e80, 0xa7,0xab, 0x5f,0x5b,0xc7,0xd3,0x32,0xde); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("7cef04d7-cb75-4e80-a7ab-5f5bc7d332de") | 
|  | IEnumTfDisplayAttributeInfo : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumTfDisplayAttributeInfo **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG ulCount, | 
|  | ITfDisplayAttributeInfo **rgInfo, | 
|  | ULONG *pcFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG ulCount) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumTfDisplayAttributeInfo, 0x7cef04d7, 0xcb75, 0x4e80, 0xa7,0xab, 0x5f,0x5b,0xc7,0xd3,0x32,0xde) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumTfDisplayAttributeInfoVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumTfDisplayAttributeInfo *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumTfDisplayAttributeInfo *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumTfDisplayAttributeInfo *This); | 
|  |  | 
|  | /*** IEnumTfDisplayAttributeInfo methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumTfDisplayAttributeInfo *This, | 
|  | IEnumTfDisplayAttributeInfo **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumTfDisplayAttributeInfo *This, | 
|  | ULONG ulCount, | 
|  | ITfDisplayAttributeInfo **rgInfo, | 
|  | ULONG *pcFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumTfDisplayAttributeInfo *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumTfDisplayAttributeInfo *This, | 
|  | ULONG ulCount); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumTfDisplayAttributeInfoVtbl; | 
|  |  | 
|  | interface IEnumTfDisplayAttributeInfo { | 
|  | CONST_VTBL IEnumTfDisplayAttributeInfoVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumTfDisplayAttributeInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumTfDisplayAttributeInfo_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumTfDisplayAttributeInfo_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumTfDisplayAttributeInfo methods ***/ | 
|  | #define IEnumTfDisplayAttributeInfo_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #define IEnumTfDisplayAttributeInfo_Next(This,ulCount,rgInfo,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgInfo,pcFetched) | 
|  | #define IEnumTfDisplayAttributeInfo_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumTfDisplayAttributeInfo_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfDisplayAttributeInfo_QueryInterface(IEnumTfDisplayAttributeInfo* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfDisplayAttributeInfo_AddRef(IEnumTfDisplayAttributeInfo* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfDisplayAttributeInfo_Release(IEnumTfDisplayAttributeInfo* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumTfDisplayAttributeInfo methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfDisplayAttributeInfo_Clone(IEnumTfDisplayAttributeInfo* This,IEnumTfDisplayAttributeInfo **ppEnum) { | 
|  | return This->lpVtbl->Clone(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfDisplayAttributeInfo_Next(IEnumTfDisplayAttributeInfo* This,ULONG ulCount,ITfDisplayAttributeInfo **rgInfo,ULONG *pcFetched) { | 
|  | return This->lpVtbl->Next(This,ulCount,rgInfo,pcFetched); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfDisplayAttributeInfo_Reset(IEnumTfDisplayAttributeInfo* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfDisplayAttributeInfo_Skip(IEnumTfDisplayAttributeInfo* This,ULONG ulCount) { | 
|  | return This->lpVtbl->Skip(This,ulCount); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumTfDisplayAttributeInfo_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfDisplayAttributeMgr interface | 
|  | */ | 
|  | #ifndef __ITfDisplayAttributeMgr_INTERFACE_DEFINED__ | 
|  | #define __ITfDisplayAttributeMgr_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfDisplayAttributeMgr, 0x8ded7393, 0x5db1, 0x475c, 0x9e,0x71, 0xa3,0x91,0x11,0xb0,0xff,0x67); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("8ded7393-5db1-475c-9e71-a39111b0ff67") | 
|  | ITfDisplayAttributeMgr : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnUpdateInfo( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumDisplayAttributeInfo( | 
|  | IEnumTfDisplayAttributeInfo **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDisplayAttributeInfo( | 
|  | REFGUID guid, | 
|  | ITfDisplayAttributeInfo **ppInfo, | 
|  | CLSID *pclsidOwner) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfDisplayAttributeMgr, 0x8ded7393, 0x5db1, 0x475c, 0x9e,0x71, 0xa3,0x91,0x11,0xb0,0xff,0x67) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfDisplayAttributeMgrVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfDisplayAttributeMgr *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfDisplayAttributeMgr *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfDisplayAttributeMgr *This); | 
|  |  | 
|  | /*** ITfDisplayAttributeMgr methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnUpdateInfo)( | 
|  | ITfDisplayAttributeMgr *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumDisplayAttributeInfo)( | 
|  | ITfDisplayAttributeMgr *This, | 
|  | IEnumTfDisplayAttributeInfo **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDisplayAttributeInfo)( | 
|  | ITfDisplayAttributeMgr *This, | 
|  | REFGUID guid, | 
|  | ITfDisplayAttributeInfo **ppInfo, | 
|  | CLSID *pclsidOwner); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfDisplayAttributeMgrVtbl; | 
|  |  | 
|  | interface ITfDisplayAttributeMgr { | 
|  | CONST_VTBL ITfDisplayAttributeMgrVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfDisplayAttributeMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfDisplayAttributeMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfDisplayAttributeMgr_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfDisplayAttributeMgr methods ***/ | 
|  | #define ITfDisplayAttributeMgr_OnUpdateInfo(This) (This)->lpVtbl->OnUpdateInfo(This) | 
|  | #define ITfDisplayAttributeMgr_EnumDisplayAttributeInfo(This,ppEnum) (This)->lpVtbl->EnumDisplayAttributeInfo(This,ppEnum) | 
|  | #define ITfDisplayAttributeMgr_GetDisplayAttributeInfo(This,guid,ppInfo,pclsidOwner) (This)->lpVtbl->GetDisplayAttributeInfo(This,guid,ppInfo,pclsidOwner) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfDisplayAttributeMgr_QueryInterface(ITfDisplayAttributeMgr* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfDisplayAttributeMgr_AddRef(ITfDisplayAttributeMgr* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfDisplayAttributeMgr_Release(ITfDisplayAttributeMgr* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfDisplayAttributeMgr methods ***/ | 
|  | static FORCEINLINE HRESULT ITfDisplayAttributeMgr_OnUpdateInfo(ITfDisplayAttributeMgr* This) { | 
|  | return This->lpVtbl->OnUpdateInfo(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfDisplayAttributeMgr_EnumDisplayAttributeInfo(ITfDisplayAttributeMgr* This,IEnumTfDisplayAttributeInfo **ppEnum) { | 
|  | return This->lpVtbl->EnumDisplayAttributeInfo(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfDisplayAttributeMgr_GetDisplayAttributeInfo(ITfDisplayAttributeMgr* This,REFGUID guid,ITfDisplayAttributeInfo **ppInfo,CLSID *pclsidOwner) { | 
|  | return This->lpVtbl->GetDisplayAttributeInfo(This,guid,ppInfo,pclsidOwner); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfDisplayAttributeMgr_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfCategoryMgr interface | 
|  | */ | 
|  | #ifndef __ITfCategoryMgr_INTERFACE_DEFINED__ | 
|  | #define __ITfCategoryMgr_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfCategoryMgr, 0xc3acefb5, 0xf69d, 0x4905, 0x93,0x8f, 0xfc,0xad,0xcf,0x4b,0xe8,0x30); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("c3acefb5-f69d-4905-938f-fcadcf4be830") | 
|  | ITfCategoryMgr : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterCategory( | 
|  | REFCLSID rclsid, | 
|  | REFGUID rcatid, | 
|  | REFGUID rguid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnregisterCategory( | 
|  | REFCLSID rclsid, | 
|  | REFGUID rcatid, | 
|  | REFGUID rguid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumCategoriesInItem( | 
|  | REFGUID rguid, | 
|  | IEnumGUID **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumItemsInCategory( | 
|  | REFGUID rcatid, | 
|  | IEnumGUID **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FindClosestCategory( | 
|  | REFGUID rguid, | 
|  | GUID *pcatid, | 
|  | const GUID **ppcatidList, | 
|  | ULONG ulCount) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterGUIDDescription( | 
|  | REFCLSID rclsid, | 
|  | REFGUID rguid, | 
|  | const WCHAR *pchDesc, | 
|  | ULONG cch) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnregisterGUIDDescription( | 
|  | REFCLSID rclsid, | 
|  | REFGUID rguid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGUIDDescription( | 
|  | REFGUID rguid, | 
|  | BSTR *pbstrDesc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterGUIDDWORD( | 
|  | REFCLSID rclsid, | 
|  | REFGUID rguid, | 
|  | DWORD dw) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnregisterGUIDDWORD( | 
|  | REFCLSID rclsid, | 
|  | REFGUID rguid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGUIDDWORD( | 
|  | REFGUID rguid, | 
|  | DWORD *pdw) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterGUID( | 
|  | REFGUID rguid, | 
|  | TfGuidAtom *pguidatom) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGUID( | 
|  | TfGuidAtom guidatom, | 
|  | GUID *pguid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsEqualTfGuidAtom( | 
|  | TfGuidAtom guidatom, | 
|  | REFGUID rguid, | 
|  | WINBOOL *pfEqual) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfCategoryMgr, 0xc3acefb5, 0xf69d, 0x4905, 0x93,0x8f, 0xfc,0xad,0xcf,0x4b,0xe8,0x30) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfCategoryMgrVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfCategoryMgr *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfCategoryMgr *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfCategoryMgr *This); | 
|  |  | 
|  | /*** ITfCategoryMgr methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterCategory)( | 
|  | ITfCategoryMgr *This, | 
|  | REFCLSID rclsid, | 
|  | REFGUID rcatid, | 
|  | REFGUID rguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnregisterCategory)( | 
|  | ITfCategoryMgr *This, | 
|  | REFCLSID rclsid, | 
|  | REFGUID rcatid, | 
|  | REFGUID rguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumCategoriesInItem)( | 
|  | ITfCategoryMgr *This, | 
|  | REFGUID rguid, | 
|  | IEnumGUID **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumItemsInCategory)( | 
|  | ITfCategoryMgr *This, | 
|  | REFGUID rcatid, | 
|  | IEnumGUID **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindClosestCategory)( | 
|  | ITfCategoryMgr *This, | 
|  | REFGUID rguid, | 
|  | GUID *pcatid, | 
|  | const GUID **ppcatidList, | 
|  | ULONG ulCount); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterGUIDDescription)( | 
|  | ITfCategoryMgr *This, | 
|  | REFCLSID rclsid, | 
|  | REFGUID rguid, | 
|  | const WCHAR *pchDesc, | 
|  | ULONG cch); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnregisterGUIDDescription)( | 
|  | ITfCategoryMgr *This, | 
|  | REFCLSID rclsid, | 
|  | REFGUID rguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGUIDDescription)( | 
|  | ITfCategoryMgr *This, | 
|  | REFGUID rguid, | 
|  | BSTR *pbstrDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterGUIDDWORD)( | 
|  | ITfCategoryMgr *This, | 
|  | REFCLSID rclsid, | 
|  | REFGUID rguid, | 
|  | DWORD dw); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnregisterGUIDDWORD)( | 
|  | ITfCategoryMgr *This, | 
|  | REFCLSID rclsid, | 
|  | REFGUID rguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGUIDDWORD)( | 
|  | ITfCategoryMgr *This, | 
|  | REFGUID rguid, | 
|  | DWORD *pdw); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterGUID)( | 
|  | ITfCategoryMgr *This, | 
|  | REFGUID rguid, | 
|  | TfGuidAtom *pguidatom); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGUID)( | 
|  | ITfCategoryMgr *This, | 
|  | TfGuidAtom guidatom, | 
|  | GUID *pguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsEqualTfGuidAtom)( | 
|  | ITfCategoryMgr *This, | 
|  | TfGuidAtom guidatom, | 
|  | REFGUID rguid, | 
|  | WINBOOL *pfEqual); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfCategoryMgrVtbl; | 
|  |  | 
|  | interface ITfCategoryMgr { | 
|  | CONST_VTBL ITfCategoryMgrVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfCategoryMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfCategoryMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfCategoryMgr_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfCategoryMgr methods ***/ | 
|  | #define ITfCategoryMgr_RegisterCategory(This,rclsid,rcatid,rguid) (This)->lpVtbl->RegisterCategory(This,rclsid,rcatid,rguid) | 
|  | #define ITfCategoryMgr_UnregisterCategory(This,rclsid,rcatid,rguid) (This)->lpVtbl->UnregisterCategory(This,rclsid,rcatid,rguid) | 
|  | #define ITfCategoryMgr_EnumCategoriesInItem(This,rguid,ppEnum) (This)->lpVtbl->EnumCategoriesInItem(This,rguid,ppEnum) | 
|  | #define ITfCategoryMgr_EnumItemsInCategory(This,rcatid,ppEnum) (This)->lpVtbl->EnumItemsInCategory(This,rcatid,ppEnum) | 
|  | #define ITfCategoryMgr_FindClosestCategory(This,rguid,pcatid,ppcatidList,ulCount) (This)->lpVtbl->FindClosestCategory(This,rguid,pcatid,ppcatidList,ulCount) | 
|  | #define ITfCategoryMgr_RegisterGUIDDescription(This,rclsid,rguid,pchDesc,cch) (This)->lpVtbl->RegisterGUIDDescription(This,rclsid,rguid,pchDesc,cch) | 
|  | #define ITfCategoryMgr_UnregisterGUIDDescription(This,rclsid,rguid) (This)->lpVtbl->UnregisterGUIDDescription(This,rclsid,rguid) | 
|  | #define ITfCategoryMgr_GetGUIDDescription(This,rguid,pbstrDesc) (This)->lpVtbl->GetGUIDDescription(This,rguid,pbstrDesc) | 
|  | #define ITfCategoryMgr_RegisterGUIDDWORD(This,rclsid,rguid,dw) (This)->lpVtbl->RegisterGUIDDWORD(This,rclsid,rguid,dw) | 
|  | #define ITfCategoryMgr_UnregisterGUIDDWORD(This,rclsid,rguid) (This)->lpVtbl->UnregisterGUIDDWORD(This,rclsid,rguid) | 
|  | #define ITfCategoryMgr_GetGUIDDWORD(This,rguid,pdw) (This)->lpVtbl->GetGUIDDWORD(This,rguid,pdw) | 
|  | #define ITfCategoryMgr_RegisterGUID(This,rguid,pguidatom) (This)->lpVtbl->RegisterGUID(This,rguid,pguidatom) | 
|  | #define ITfCategoryMgr_GetGUID(This,guidatom,pguid) (This)->lpVtbl->GetGUID(This,guidatom,pguid) | 
|  | #define ITfCategoryMgr_IsEqualTfGuidAtom(This,guidatom,rguid,pfEqual) (This)->lpVtbl->IsEqualTfGuidAtom(This,guidatom,rguid,pfEqual) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_QueryInterface(ITfCategoryMgr* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfCategoryMgr_AddRef(ITfCategoryMgr* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfCategoryMgr_Release(ITfCategoryMgr* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfCategoryMgr methods ***/ | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_RegisterCategory(ITfCategoryMgr* This,REFCLSID rclsid,REFGUID rcatid,REFGUID rguid) { | 
|  | return This->lpVtbl->RegisterCategory(This,rclsid,rcatid,rguid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_UnregisterCategory(ITfCategoryMgr* This,REFCLSID rclsid,REFGUID rcatid,REFGUID rguid) { | 
|  | return This->lpVtbl->UnregisterCategory(This,rclsid,rcatid,rguid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_EnumCategoriesInItem(ITfCategoryMgr* This,REFGUID rguid,IEnumGUID **ppEnum) { | 
|  | return This->lpVtbl->EnumCategoriesInItem(This,rguid,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_EnumItemsInCategory(ITfCategoryMgr* This,REFGUID rcatid,IEnumGUID **ppEnum) { | 
|  | return This->lpVtbl->EnumItemsInCategory(This,rcatid,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_FindClosestCategory(ITfCategoryMgr* This,REFGUID rguid,GUID *pcatid,const GUID **ppcatidList,ULONG ulCount) { | 
|  | return This->lpVtbl->FindClosestCategory(This,rguid,pcatid,ppcatidList,ulCount); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_RegisterGUIDDescription(ITfCategoryMgr* This,REFCLSID rclsid,REFGUID rguid,const WCHAR *pchDesc,ULONG cch) { | 
|  | return This->lpVtbl->RegisterGUIDDescription(This,rclsid,rguid,pchDesc,cch); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_UnregisterGUIDDescription(ITfCategoryMgr* This,REFCLSID rclsid,REFGUID rguid) { | 
|  | return This->lpVtbl->UnregisterGUIDDescription(This,rclsid,rguid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_GetGUIDDescription(ITfCategoryMgr* This,REFGUID rguid,BSTR *pbstrDesc) { | 
|  | return This->lpVtbl->GetGUIDDescription(This,rguid,pbstrDesc); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_RegisterGUIDDWORD(ITfCategoryMgr* This,REFCLSID rclsid,REFGUID rguid,DWORD dw) { | 
|  | return This->lpVtbl->RegisterGUIDDWORD(This,rclsid,rguid,dw); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_UnregisterGUIDDWORD(ITfCategoryMgr* This,REFCLSID rclsid,REFGUID rguid) { | 
|  | return This->lpVtbl->UnregisterGUIDDWORD(This,rclsid,rguid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_GetGUIDDWORD(ITfCategoryMgr* This,REFGUID rguid,DWORD *pdw) { | 
|  | return This->lpVtbl->GetGUIDDWORD(This,rguid,pdw); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_RegisterGUID(ITfCategoryMgr* This,REFGUID rguid,TfGuidAtom *pguidatom) { | 
|  | return This->lpVtbl->RegisterGUID(This,rguid,pguidatom); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_GetGUID(ITfCategoryMgr* This,TfGuidAtom guidatom,GUID *pguid) { | 
|  | return This->lpVtbl->GetGUID(This,guidatom,pguid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCategoryMgr_IsEqualTfGuidAtom(ITfCategoryMgr* This,TfGuidAtom guidatom,REFGUID rguid,WINBOOL *pfEqual) { | 
|  | return This->lpVtbl->IsEqualTfGuidAtom(This,guidatom,rguid,pfEqual); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfCategoryMgr_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumTfRanges interface | 
|  | */ | 
|  | #ifndef __IEnumTfRanges_INTERFACE_DEFINED__ | 
|  | #define __IEnumTfRanges_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumTfRanges, 0xf99d3f40, 0x8e32, 0x11d2, 0xbf,0x46, 0x00,0x10,0x5a,0x27,0x99,0xb5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("f99d3f40-8e32-11d2-bf46-00105a2799b5") | 
|  | IEnumTfRanges : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumTfRanges **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG ulCount, | 
|  | ITfRange **ppRange, | 
|  | ULONG *pcFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG ulCount) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumTfRanges, 0xf99d3f40, 0x8e32, 0x11d2, 0xbf,0x46, 0x00,0x10,0x5a,0x27,0x99,0xb5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumTfRangesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumTfRanges *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumTfRanges *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumTfRanges *This); | 
|  |  | 
|  | /*** IEnumTfRanges methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumTfRanges *This, | 
|  | IEnumTfRanges **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumTfRanges *This, | 
|  | ULONG ulCount, | 
|  | ITfRange **ppRange, | 
|  | ULONG *pcFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumTfRanges *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumTfRanges *This, | 
|  | ULONG ulCount); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumTfRangesVtbl; | 
|  |  | 
|  | interface IEnumTfRanges { | 
|  | CONST_VTBL IEnumTfRangesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumTfRanges_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumTfRanges_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumTfRanges_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumTfRanges methods ***/ | 
|  | #define IEnumTfRanges_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #define IEnumTfRanges_Next(This,ulCount,ppRange,pcFetched) (This)->lpVtbl->Next(This,ulCount,ppRange,pcFetched) | 
|  | #define IEnumTfRanges_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumTfRanges_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfRanges_QueryInterface(IEnumTfRanges* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfRanges_AddRef(IEnumTfRanges* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfRanges_Release(IEnumTfRanges* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumTfRanges methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfRanges_Clone(IEnumTfRanges* This,IEnumTfRanges **ppEnum) { | 
|  | return This->lpVtbl->Clone(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfRanges_Next(IEnumTfRanges* This,ULONG ulCount,ITfRange **ppRange,ULONG *pcFetched) { | 
|  | return This->lpVtbl->Next(This,ulCount,ppRange,pcFetched); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfRanges_Reset(IEnumTfRanges* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfRanges_Skip(IEnumTfRanges* This,ULONG ulCount) { | 
|  | return This->lpVtbl->Skip(This,ulCount); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumTfRanges_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfEditRecord interface | 
|  | */ | 
|  | #ifndef __ITfEditRecord_INTERFACE_DEFINED__ | 
|  | #define __ITfEditRecord_INTERFACE_DEFINED__ | 
|  |  | 
|  | #define TF_GTP_INCL_TEXT (0x1) | 
|  |  | 
|  | DEFINE_GUID(IID_ITfEditRecord, 0x42d4d099, 0x7c1a, 0x4a89, 0xb8,0x36, 0x6c,0x6f,0x22,0x16,0x0d,0xf0); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("42d4d099-7c1a-4a89-b836-6c6f22160df0") | 
|  | ITfEditRecord : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetSelectionStatus( | 
|  | WINBOOL *changed) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetTextAndPropertyUpdates( | 
|  | DWORD flags, | 
|  | const GUID **props, | 
|  | ULONG count, | 
|  | IEnumTfRanges **ret) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfEditRecord, 0x42d4d099, 0x7c1a, 0x4a89, 0xb8,0x36, 0x6c,0x6f,0x22,0x16,0x0d,0xf0) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfEditRecordVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfEditRecord *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfEditRecord *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfEditRecord *This); | 
|  |  | 
|  | /*** ITfEditRecord methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetSelectionStatus)( | 
|  | ITfEditRecord *This, | 
|  | WINBOOL *changed); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetTextAndPropertyUpdates)( | 
|  | ITfEditRecord *This, | 
|  | DWORD flags, | 
|  | const GUID **props, | 
|  | ULONG count, | 
|  | IEnumTfRanges **ret); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfEditRecordVtbl; | 
|  |  | 
|  | interface ITfEditRecord { | 
|  | CONST_VTBL ITfEditRecordVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfEditRecord_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfEditRecord_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfEditRecord_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfEditRecord methods ***/ | 
|  | #define ITfEditRecord_GetSelectionStatus(This,changed) (This)->lpVtbl->GetSelectionStatus(This,changed) | 
|  | #define ITfEditRecord_GetTextAndPropertyUpdates(This,flags,props,count,ret) (This)->lpVtbl->GetTextAndPropertyUpdates(This,flags,props,count,ret) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfEditRecord_QueryInterface(ITfEditRecord* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfEditRecord_AddRef(ITfEditRecord* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfEditRecord_Release(ITfEditRecord* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfEditRecord methods ***/ | 
|  | static FORCEINLINE HRESULT ITfEditRecord_GetSelectionStatus(ITfEditRecord* This,WINBOOL *changed) { | 
|  | return This->lpVtbl->GetSelectionStatus(This,changed); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfEditRecord_GetTextAndPropertyUpdates(ITfEditRecord* This,DWORD flags,const GUID **props,ULONG count,IEnumTfRanges **ret) { | 
|  | return This->lpVtbl->GetTextAndPropertyUpdates(This,flags,props,count,ret); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfEditRecord_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfTextEditSink interface | 
|  | */ | 
|  | #ifndef __ITfTextEditSink_INTERFACE_DEFINED__ | 
|  | #define __ITfTextEditSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfTextEditSink, 0x8127d409, 0xccd3, 0x4683, 0x96,0x7a, 0xb4,0x3d,0x5b,0x48,0x2b,0xf7); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("8127d409-ccd3-4683-967a-b43d5b482bf7") | 
|  | ITfTextEditSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnEndEdit( | 
|  | ITfContext *pic, | 
|  | TfEditCookie ecReadOnly, | 
|  | ITfEditRecord *pEditRecord) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfTextEditSink, 0x8127d409, 0xccd3, 0x4683, 0x96,0x7a, 0xb4,0x3d,0x5b,0x48,0x2b,0xf7) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfTextEditSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfTextEditSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfTextEditSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfTextEditSink *This); | 
|  |  | 
|  | /*** ITfTextEditSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnEndEdit)( | 
|  | ITfTextEditSink *This, | 
|  | ITfContext *pic, | 
|  | TfEditCookie ecReadOnly, | 
|  | ITfEditRecord *pEditRecord); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfTextEditSinkVtbl; | 
|  |  | 
|  | interface ITfTextEditSink { | 
|  | CONST_VTBL ITfTextEditSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfTextEditSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfTextEditSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfTextEditSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfTextEditSink methods ***/ | 
|  | #define ITfTextEditSink_OnEndEdit(This,pic,ecReadOnly,pEditRecord) (This)->lpVtbl->OnEndEdit(This,pic,ecReadOnly,pEditRecord) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfTextEditSink_QueryInterface(ITfTextEditSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfTextEditSink_AddRef(ITfTextEditSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfTextEditSink_Release(ITfTextEditSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfTextEditSink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfTextEditSink_OnEndEdit(ITfTextEditSink* This,ITfContext *pic,TfEditCookie ecReadOnly,ITfEditRecord *pEditRecord) { | 
|  | return This->lpVtbl->OnEndEdit(This,pic,ecReadOnly,pEditRecord); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfTextEditSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfContextOwnerCompositionSink interface | 
|  | */ | 
|  | #ifndef __ITfContextOwnerCompositionSink_INTERFACE_DEFINED__ | 
|  | #define __ITfContextOwnerCompositionSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfContextOwnerCompositionSink, 0x5f20aa40, 0xb57a, 0x4f34, 0x96,0xab, 0x35,0x76,0xf3,0x77,0xcc,0x79); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("5f20aa40-b57a-4f34-96ab-3576f377cc79") | 
|  | ITfContextOwnerCompositionSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnStartComposition( | 
|  | ITfCompositionView *pComposition, | 
|  | WINBOOL *pfOk) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnUpdateComposition( | 
|  | ITfCompositionView *pComposition, | 
|  | ITfRange *pRangeNew) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnEndComposition( | 
|  | ITfCompositionView *pComposition) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfContextOwnerCompositionSink, 0x5f20aa40, 0xb57a, 0x4f34, 0x96,0xab, 0x35,0x76,0xf3,0x77,0xcc,0x79) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfContextOwnerCompositionSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfContextOwnerCompositionSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfContextOwnerCompositionSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfContextOwnerCompositionSink *This); | 
|  |  | 
|  | /*** ITfContextOwnerCompositionSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnStartComposition)( | 
|  | ITfContextOwnerCompositionSink *This, | 
|  | ITfCompositionView *pComposition, | 
|  | WINBOOL *pfOk); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnUpdateComposition)( | 
|  | ITfContextOwnerCompositionSink *This, | 
|  | ITfCompositionView *pComposition, | 
|  | ITfRange *pRangeNew); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnEndComposition)( | 
|  | ITfContextOwnerCompositionSink *This, | 
|  | ITfCompositionView *pComposition); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfContextOwnerCompositionSinkVtbl; | 
|  |  | 
|  | interface ITfContextOwnerCompositionSink { | 
|  | CONST_VTBL ITfContextOwnerCompositionSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfContextOwnerCompositionSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfContextOwnerCompositionSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfContextOwnerCompositionSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfContextOwnerCompositionSink methods ***/ | 
|  | #define ITfContextOwnerCompositionSink_OnStartComposition(This,pComposition,pfOk) (This)->lpVtbl->OnStartComposition(This,pComposition,pfOk) | 
|  | #define ITfContextOwnerCompositionSink_OnUpdateComposition(This,pComposition,pRangeNew) (This)->lpVtbl->OnUpdateComposition(This,pComposition,pRangeNew) | 
|  | #define ITfContextOwnerCompositionSink_OnEndComposition(This,pComposition) (This)->lpVtbl->OnEndComposition(This,pComposition) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContextOwnerCompositionSink_QueryInterface(ITfContextOwnerCompositionSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfContextOwnerCompositionSink_AddRef(ITfContextOwnerCompositionSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfContextOwnerCompositionSink_Release(ITfContextOwnerCompositionSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfContextOwnerCompositionSink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContextOwnerCompositionSink_OnStartComposition(ITfContextOwnerCompositionSink* This,ITfCompositionView *pComposition,WINBOOL *pfOk) { | 
|  | return This->lpVtbl->OnStartComposition(This,pComposition,pfOk); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextOwnerCompositionSink_OnUpdateComposition(ITfContextOwnerCompositionSink* This,ITfCompositionView *pComposition,ITfRange *pRangeNew) { | 
|  | return This->lpVtbl->OnUpdateComposition(This,pComposition,pRangeNew); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextOwnerCompositionSink_OnEndComposition(ITfContextOwnerCompositionSink* This,ITfCompositionView *pComposition) { | 
|  | return This->lpVtbl->OnEndComposition(This,pComposition); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfContextOwnerCompositionSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfActiveLanguageProfileNotifySink interface | 
|  | */ | 
|  | #ifndef __ITfActiveLanguageProfileNotifySink_INTERFACE_DEFINED__ | 
|  | #define __ITfActiveLanguageProfileNotifySink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfActiveLanguageProfileNotifySink, 0xb246cb75, 0xa93e, 0x4652, 0xbf,0x8c, 0xb3,0xfe,0x0c,0xfd,0x7e,0x57); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("b246cb75-a93e-4652-bf8c-b3fe0cfd7e57") | 
|  | ITfActiveLanguageProfileNotifySink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnActivated( | 
|  | REFCLSID clsid, | 
|  | REFGUID guidProfile, | 
|  | WINBOOL fActivated) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfActiveLanguageProfileNotifySink, 0xb246cb75, 0xa93e, 0x4652, 0xbf,0x8c, 0xb3,0xfe,0x0c,0xfd,0x7e,0x57) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfActiveLanguageProfileNotifySinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfActiveLanguageProfileNotifySink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfActiveLanguageProfileNotifySink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfActiveLanguageProfileNotifySink *This); | 
|  |  | 
|  | /*** ITfActiveLanguageProfileNotifySink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnActivated)( | 
|  | ITfActiveLanguageProfileNotifySink *This, | 
|  | REFCLSID clsid, | 
|  | REFGUID guidProfile, | 
|  | WINBOOL fActivated); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfActiveLanguageProfileNotifySinkVtbl; | 
|  |  | 
|  | interface ITfActiveLanguageProfileNotifySink { | 
|  | CONST_VTBL ITfActiveLanguageProfileNotifySinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfActiveLanguageProfileNotifySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfActiveLanguageProfileNotifySink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfActiveLanguageProfileNotifySink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfActiveLanguageProfileNotifySink methods ***/ | 
|  | #define ITfActiveLanguageProfileNotifySink_OnActivated(This,clsid,guidProfile,fActivated) (This)->lpVtbl->OnActivated(This,clsid,guidProfile,fActivated) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfActiveLanguageProfileNotifySink_QueryInterface(ITfActiveLanguageProfileNotifySink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfActiveLanguageProfileNotifySink_AddRef(ITfActiveLanguageProfileNotifySink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfActiveLanguageProfileNotifySink_Release(ITfActiveLanguageProfileNotifySink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfActiveLanguageProfileNotifySink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfActiveLanguageProfileNotifySink_OnActivated(ITfActiveLanguageProfileNotifySink* This,REFCLSID clsid,REFGUID guidProfile,WINBOOL fActivated) { | 
|  | return This->lpVtbl->OnActivated(This,clsid,guidProfile,fActivated); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfActiveLanguageProfileNotifySink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumTfLanguageProfiles interface | 
|  | */ | 
|  | #ifndef __IEnumTfLanguageProfiles_INTERFACE_DEFINED__ | 
|  | #define __IEnumTfLanguageProfiles_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumTfLanguageProfiles, 0x3d61bf11, 0xac5f, 0x42c8, 0xa4,0xcb, 0x93,0x1b,0xcc,0x28,0xc7,0x44); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("3d61bf11-ac5f-42c8-a4cb-931bcc28c744") | 
|  | IEnumTfLanguageProfiles : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumTfLanguageProfiles **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG ulCount, | 
|  | TF_LANGUAGEPROFILE *pProfile, | 
|  | ULONG *pcFetch) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG ulCount) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumTfLanguageProfiles, 0x3d61bf11, 0xac5f, 0x42c8, 0xa4,0xcb, 0x93,0x1b,0xcc,0x28,0xc7,0x44) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumTfLanguageProfilesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumTfLanguageProfiles *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumTfLanguageProfiles *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumTfLanguageProfiles *This); | 
|  |  | 
|  | /*** IEnumTfLanguageProfiles methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumTfLanguageProfiles *This, | 
|  | IEnumTfLanguageProfiles **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumTfLanguageProfiles *This, | 
|  | ULONG ulCount, | 
|  | TF_LANGUAGEPROFILE *pProfile, | 
|  | ULONG *pcFetch); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumTfLanguageProfiles *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumTfLanguageProfiles *This, | 
|  | ULONG ulCount); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumTfLanguageProfilesVtbl; | 
|  |  | 
|  | interface IEnumTfLanguageProfiles { | 
|  | CONST_VTBL IEnumTfLanguageProfilesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumTfLanguageProfiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumTfLanguageProfiles_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumTfLanguageProfiles_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumTfLanguageProfiles methods ***/ | 
|  | #define IEnumTfLanguageProfiles_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #define IEnumTfLanguageProfiles_Next(This,ulCount,pProfile,pcFetch) (This)->lpVtbl->Next(This,ulCount,pProfile,pcFetch) | 
|  | #define IEnumTfLanguageProfiles_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumTfLanguageProfiles_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfLanguageProfiles_QueryInterface(IEnumTfLanguageProfiles* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfLanguageProfiles_AddRef(IEnumTfLanguageProfiles* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfLanguageProfiles_Release(IEnumTfLanguageProfiles* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumTfLanguageProfiles methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfLanguageProfiles_Clone(IEnumTfLanguageProfiles* This,IEnumTfLanguageProfiles **ppEnum) { | 
|  | return This->lpVtbl->Clone(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfLanguageProfiles_Next(IEnumTfLanguageProfiles* This,ULONG ulCount,TF_LANGUAGEPROFILE *pProfile,ULONG *pcFetch) { | 
|  | return This->lpVtbl->Next(This,ulCount,pProfile,pcFetch); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfLanguageProfiles_Reset(IEnumTfLanguageProfiles* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfLanguageProfiles_Skip(IEnumTfLanguageProfiles* This,ULONG ulCount) { | 
|  | return This->lpVtbl->Skip(This,ulCount); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumTfLanguageProfiles_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfTextInputProcessor interface | 
|  | */ | 
|  | #ifndef __ITfTextInputProcessor_INTERFACE_DEFINED__ | 
|  | #define __ITfTextInputProcessor_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfTextInputProcessor, 0xaa80e7f7, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("aa80e7f7-2021-11d2-93e0-0060b067b86e") | 
|  | ITfTextInputProcessor : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Activate( | 
|  | ITfThreadMgr *ptim, | 
|  | TfClientId tid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Deactivate( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfTextInputProcessor, 0xaa80e7f7, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfTextInputProcessorVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfTextInputProcessor *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfTextInputProcessor *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfTextInputProcessor *This); | 
|  |  | 
|  | /*** ITfTextInputProcessor methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Activate)( | 
|  | ITfTextInputProcessor *This, | 
|  | ITfThreadMgr *ptim, | 
|  | TfClientId tid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Deactivate)( | 
|  | ITfTextInputProcessor *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfTextInputProcessorVtbl; | 
|  |  | 
|  | interface ITfTextInputProcessor { | 
|  | CONST_VTBL ITfTextInputProcessorVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfTextInputProcessor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfTextInputProcessor_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfTextInputProcessor_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfTextInputProcessor methods ***/ | 
|  | #define ITfTextInputProcessor_Activate(This,ptim,tid) (This)->lpVtbl->Activate(This,ptim,tid) | 
|  | #define ITfTextInputProcessor_Deactivate(This) (This)->lpVtbl->Deactivate(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfTextInputProcessor_QueryInterface(ITfTextInputProcessor* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfTextInputProcessor_AddRef(ITfTextInputProcessor* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfTextInputProcessor_Release(ITfTextInputProcessor* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfTextInputProcessor methods ***/ | 
|  | static FORCEINLINE HRESULT ITfTextInputProcessor_Activate(ITfTextInputProcessor* This,ITfThreadMgr *ptim,TfClientId tid) { | 
|  | return This->lpVtbl->Activate(This,ptim,tid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfTextInputProcessor_Deactivate(ITfTextInputProcessor* This) { | 
|  | return This->lpVtbl->Deactivate(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfTextInputProcessor_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfThreadMgrEventSink interface | 
|  | */ | 
|  | #ifndef __ITfThreadMgrEventSink_INTERFACE_DEFINED__ | 
|  | #define __ITfThreadMgrEventSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfThreadMgrEventSink, 0xaa80e80e, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("aa80e80e-2021-11d2-93e0-0060b067b86e") | 
|  | ITfThreadMgrEventSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnInitDocumentMgr( | 
|  | ITfDocumentMgr *pdim) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnUninitDocumentMgr( | 
|  | ITfDocumentMgr *pdim) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnSetFocus( | 
|  | ITfDocumentMgr *pdimFocus, | 
|  | ITfDocumentMgr *pdimPrevFocus) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnPushContext( | 
|  | ITfContext *pic) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnPopContext( | 
|  | ITfContext *pic) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfThreadMgrEventSink, 0xaa80e80e, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfThreadMgrEventSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfThreadMgrEventSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfThreadMgrEventSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfThreadMgrEventSink *This); | 
|  |  | 
|  | /*** ITfThreadMgrEventSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnInitDocumentMgr)( | 
|  | ITfThreadMgrEventSink *This, | 
|  | ITfDocumentMgr *pdim); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnUninitDocumentMgr)( | 
|  | ITfThreadMgrEventSink *This, | 
|  | ITfDocumentMgr *pdim); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnSetFocus)( | 
|  | ITfThreadMgrEventSink *This, | 
|  | ITfDocumentMgr *pdimFocus, | 
|  | ITfDocumentMgr *pdimPrevFocus); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnPushContext)( | 
|  | ITfThreadMgrEventSink *This, | 
|  | ITfContext *pic); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnPopContext)( | 
|  | ITfThreadMgrEventSink *This, | 
|  | ITfContext *pic); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfThreadMgrEventSinkVtbl; | 
|  |  | 
|  | interface ITfThreadMgrEventSink { | 
|  | CONST_VTBL ITfThreadMgrEventSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfThreadMgrEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfThreadMgrEventSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfThreadMgrEventSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfThreadMgrEventSink methods ***/ | 
|  | #define ITfThreadMgrEventSink_OnInitDocumentMgr(This,pdim) (This)->lpVtbl->OnInitDocumentMgr(This,pdim) | 
|  | #define ITfThreadMgrEventSink_OnUninitDocumentMgr(This,pdim) (This)->lpVtbl->OnUninitDocumentMgr(This,pdim) | 
|  | #define ITfThreadMgrEventSink_OnSetFocus(This,pdimFocus,pdimPrevFocus) (This)->lpVtbl->OnSetFocus(This,pdimFocus,pdimPrevFocus) | 
|  | #define ITfThreadMgrEventSink_OnPushContext(This,pic) (This)->lpVtbl->OnPushContext(This,pic) | 
|  | #define ITfThreadMgrEventSink_OnPopContext(This,pic) (This)->lpVtbl->OnPopContext(This,pic) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEventSink_QueryInterface(ITfThreadMgrEventSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfThreadMgrEventSink_AddRef(ITfThreadMgrEventSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfThreadMgrEventSink_Release(ITfThreadMgrEventSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfThreadMgrEventSink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEventSink_OnInitDocumentMgr(ITfThreadMgrEventSink* This,ITfDocumentMgr *pdim) { | 
|  | return This->lpVtbl->OnInitDocumentMgr(This,pdim); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEventSink_OnUninitDocumentMgr(ITfThreadMgrEventSink* This,ITfDocumentMgr *pdim) { | 
|  | return This->lpVtbl->OnUninitDocumentMgr(This,pdim); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEventSink_OnSetFocus(ITfThreadMgrEventSink* This,ITfDocumentMgr *pdimFocus,ITfDocumentMgr *pdimPrevFocus) { | 
|  | return This->lpVtbl->OnSetFocus(This,pdimFocus,pdimPrevFocus); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEventSink_OnPushContext(ITfThreadMgrEventSink* This,ITfContext *pic) { | 
|  | return This->lpVtbl->OnPushContext(This,pic); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadMgrEventSink_OnPopContext(ITfThreadMgrEventSink* This,ITfContext *pic) { | 
|  | return This->lpVtbl->OnPopContext(This,pic); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfThreadMgrEventSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfKeystrokeMgr interface | 
|  | */ | 
|  | #ifndef __ITfKeystrokeMgr_INTERFACE_DEFINED__ | 
|  | #define __ITfKeystrokeMgr_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfKeystrokeMgr, 0xaa80e7f0, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("aa80e7f0-2021-11d2-93e0-0060b067b86e") | 
|  | ITfKeystrokeMgr : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE AdviseKeyEventSink( | 
|  | TfClientId tid, | 
|  | ITfKeyEventSink *pSink, | 
|  | WINBOOL fForeground) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnadviseKeyEventSink( | 
|  | TfClientId tid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetForeground( | 
|  | CLSID *pclsid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE TestKeyDown( | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE TestKeyUp( | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE KeyDown( | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE KeyUp( | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPreservedKey( | 
|  | ITfContext *pic, | 
|  | const TF_PRESERVEDKEY *pprekey, | 
|  | GUID *pguid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsPreservedKey( | 
|  | REFGUID rguid, | 
|  | const TF_PRESERVEDKEY *pprekey, | 
|  | WINBOOL *pfRegistered) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE PreserveKey( | 
|  | TfClientId tid, | 
|  | REFGUID rguid, | 
|  | const TF_PRESERVEDKEY *prekey, | 
|  | const WCHAR *pchDesc, | 
|  | ULONG cchDesc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnpreserveKey( | 
|  | REFGUID rguid, | 
|  | const TF_PRESERVEDKEY *pprekey) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetPreservedKeyDescription( | 
|  | REFGUID rguid, | 
|  | const WCHAR *pchDesc, | 
|  | ULONG cchDesc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPreservedKeyDescription( | 
|  | REFGUID rguid, | 
|  | BSTR *pbstrDesc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SimulatePreservedKey( | 
|  | ITfContext *pic, | 
|  | REFGUID rguid, | 
|  | WINBOOL *pfEaten) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfKeystrokeMgr, 0xaa80e7f0, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfKeystrokeMgrVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfKeystrokeMgr *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfKeystrokeMgr *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfKeystrokeMgr *This); | 
|  |  | 
|  | /*** ITfKeystrokeMgr methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *AdviseKeyEventSink)( | 
|  | ITfKeystrokeMgr *This, | 
|  | TfClientId tid, | 
|  | ITfKeyEventSink *pSink, | 
|  | WINBOOL fForeground); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnadviseKeyEventSink)( | 
|  | ITfKeystrokeMgr *This, | 
|  | TfClientId tid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetForeground)( | 
|  | ITfKeystrokeMgr *This, | 
|  | CLSID *pclsid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *TestKeyDown)( | 
|  | ITfKeystrokeMgr *This, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *TestKeyUp)( | 
|  | ITfKeystrokeMgr *This, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *KeyDown)( | 
|  | ITfKeystrokeMgr *This, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *KeyUp)( | 
|  | ITfKeystrokeMgr *This, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPreservedKey)( | 
|  | ITfKeystrokeMgr *This, | 
|  | ITfContext *pic, | 
|  | const TF_PRESERVEDKEY *pprekey, | 
|  | GUID *pguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsPreservedKey)( | 
|  | ITfKeystrokeMgr *This, | 
|  | REFGUID rguid, | 
|  | const TF_PRESERVEDKEY *pprekey, | 
|  | WINBOOL *pfRegistered); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *PreserveKey)( | 
|  | ITfKeystrokeMgr *This, | 
|  | TfClientId tid, | 
|  | REFGUID rguid, | 
|  | const TF_PRESERVEDKEY *prekey, | 
|  | const WCHAR *pchDesc, | 
|  | ULONG cchDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnpreserveKey)( | 
|  | ITfKeystrokeMgr *This, | 
|  | REFGUID rguid, | 
|  | const TF_PRESERVEDKEY *pprekey); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetPreservedKeyDescription)( | 
|  | ITfKeystrokeMgr *This, | 
|  | REFGUID rguid, | 
|  | const WCHAR *pchDesc, | 
|  | ULONG cchDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPreservedKeyDescription)( | 
|  | ITfKeystrokeMgr *This, | 
|  | REFGUID rguid, | 
|  | BSTR *pbstrDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SimulatePreservedKey)( | 
|  | ITfKeystrokeMgr *This, | 
|  | ITfContext *pic, | 
|  | REFGUID rguid, | 
|  | WINBOOL *pfEaten); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfKeystrokeMgrVtbl; | 
|  |  | 
|  | interface ITfKeystrokeMgr { | 
|  | CONST_VTBL ITfKeystrokeMgrVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfKeystrokeMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfKeystrokeMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfKeystrokeMgr_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfKeystrokeMgr methods ***/ | 
|  | #define ITfKeystrokeMgr_AdviseKeyEventSink(This,tid,pSink,fForeground) (This)->lpVtbl->AdviseKeyEventSink(This,tid,pSink,fForeground) | 
|  | #define ITfKeystrokeMgr_UnadviseKeyEventSink(This,tid) (This)->lpVtbl->UnadviseKeyEventSink(This,tid) | 
|  | #define ITfKeystrokeMgr_GetForeground(This,pclsid) (This)->lpVtbl->GetForeground(This,pclsid) | 
|  | #define ITfKeystrokeMgr_TestKeyDown(This,wParam,lParam,pfEaten) (This)->lpVtbl->TestKeyDown(This,wParam,lParam,pfEaten) | 
|  | #define ITfKeystrokeMgr_TestKeyUp(This,wParam,lParam,pfEaten) (This)->lpVtbl->TestKeyUp(This,wParam,lParam,pfEaten) | 
|  | #define ITfKeystrokeMgr_KeyDown(This,wParam,lParam,pfEaten) (This)->lpVtbl->KeyDown(This,wParam,lParam,pfEaten) | 
|  | #define ITfKeystrokeMgr_KeyUp(This,wParam,lParam,pfEaten) (This)->lpVtbl->KeyUp(This,wParam,lParam,pfEaten) | 
|  | #define ITfKeystrokeMgr_GetPreservedKey(This,pic,pprekey,pguid) (This)->lpVtbl->GetPreservedKey(This,pic,pprekey,pguid) | 
|  | #define ITfKeystrokeMgr_IsPreservedKey(This,rguid,pprekey,pfRegistered) (This)->lpVtbl->IsPreservedKey(This,rguid,pprekey,pfRegistered) | 
|  | #define ITfKeystrokeMgr_PreserveKey(This,tid,rguid,prekey,pchDesc,cchDesc) (This)->lpVtbl->PreserveKey(This,tid,rguid,prekey,pchDesc,cchDesc) | 
|  | #define ITfKeystrokeMgr_UnpreserveKey(This,rguid,pprekey) (This)->lpVtbl->UnpreserveKey(This,rguid,pprekey) | 
|  | #define ITfKeystrokeMgr_SetPreservedKeyDescription(This,rguid,pchDesc,cchDesc) (This)->lpVtbl->SetPreservedKeyDescription(This,rguid,pchDesc,cchDesc) | 
|  | #define ITfKeystrokeMgr_GetPreservedKeyDescription(This,rguid,pbstrDesc) (This)->lpVtbl->GetPreservedKeyDescription(This,rguid,pbstrDesc) | 
|  | #define ITfKeystrokeMgr_SimulatePreservedKey(This,pic,rguid,pfEaten) (This)->lpVtbl->SimulatePreservedKey(This,pic,rguid,pfEaten) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_QueryInterface(ITfKeystrokeMgr* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfKeystrokeMgr_AddRef(ITfKeystrokeMgr* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfKeystrokeMgr_Release(ITfKeystrokeMgr* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfKeystrokeMgr methods ***/ | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_AdviseKeyEventSink(ITfKeystrokeMgr* This,TfClientId tid,ITfKeyEventSink *pSink,WINBOOL fForeground) { | 
|  | return This->lpVtbl->AdviseKeyEventSink(This,tid,pSink,fForeground); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_UnadviseKeyEventSink(ITfKeystrokeMgr* This,TfClientId tid) { | 
|  | return This->lpVtbl->UnadviseKeyEventSink(This,tid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_GetForeground(ITfKeystrokeMgr* This,CLSID *pclsid) { | 
|  | return This->lpVtbl->GetForeground(This,pclsid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_TestKeyDown(ITfKeystrokeMgr* This,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) { | 
|  | return This->lpVtbl->TestKeyDown(This,wParam,lParam,pfEaten); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_TestKeyUp(ITfKeystrokeMgr* This,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) { | 
|  | return This->lpVtbl->TestKeyUp(This,wParam,lParam,pfEaten); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_KeyDown(ITfKeystrokeMgr* This,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) { | 
|  | return This->lpVtbl->KeyDown(This,wParam,lParam,pfEaten); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_KeyUp(ITfKeystrokeMgr* This,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) { | 
|  | return This->lpVtbl->KeyUp(This,wParam,lParam,pfEaten); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_GetPreservedKey(ITfKeystrokeMgr* This,ITfContext *pic,const TF_PRESERVEDKEY *pprekey,GUID *pguid) { | 
|  | return This->lpVtbl->GetPreservedKey(This,pic,pprekey,pguid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_IsPreservedKey(ITfKeystrokeMgr* This,REFGUID rguid,const TF_PRESERVEDKEY *pprekey,WINBOOL *pfRegistered) { | 
|  | return This->lpVtbl->IsPreservedKey(This,rguid,pprekey,pfRegistered); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_PreserveKey(ITfKeystrokeMgr* This,TfClientId tid,REFGUID rguid,const TF_PRESERVEDKEY *prekey,const WCHAR *pchDesc,ULONG cchDesc) { | 
|  | return This->lpVtbl->PreserveKey(This,tid,rguid,prekey,pchDesc,cchDesc); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_UnpreserveKey(ITfKeystrokeMgr* This,REFGUID rguid,const TF_PRESERVEDKEY *pprekey) { | 
|  | return This->lpVtbl->UnpreserveKey(This,rguid,pprekey); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_SetPreservedKeyDescription(ITfKeystrokeMgr* This,REFGUID rguid,const WCHAR *pchDesc,ULONG cchDesc) { | 
|  | return This->lpVtbl->SetPreservedKeyDescription(This,rguid,pchDesc,cchDesc); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_GetPreservedKeyDescription(ITfKeystrokeMgr* This,REFGUID rguid,BSTR *pbstrDesc) { | 
|  | return This->lpVtbl->GetPreservedKeyDescription(This,rguid,pbstrDesc); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeystrokeMgr_SimulatePreservedKey(ITfKeystrokeMgr* This,ITfContext *pic,REFGUID rguid,WINBOOL *pfEaten) { | 
|  | return This->lpVtbl->SimulatePreservedKey(This,pic,rguid,pfEaten); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfKeystrokeMgr_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfKeyEventSink interface | 
|  | */ | 
|  | #ifndef __ITfKeyEventSink_INTERFACE_DEFINED__ | 
|  | #define __ITfKeyEventSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfKeyEventSink, 0xaa80e7f5, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("aa80e7f5-2021-11d2-93e0-0060b067b86e") | 
|  | ITfKeyEventSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnSetFocus( | 
|  | WINBOOL fForeground) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnTestKeyDown( | 
|  | ITfContext *pic, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnTestKeyUp( | 
|  | ITfContext *pic, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnKeyDown( | 
|  | ITfContext *pic, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnKeyUp( | 
|  | ITfContext *pic, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnPreservedKey( | 
|  | ITfContext *pic, | 
|  | REFGUID rguid, | 
|  | WINBOOL *pfEaten) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfKeyEventSink, 0xaa80e7f5, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfKeyEventSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfKeyEventSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfKeyEventSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfKeyEventSink *This); | 
|  |  | 
|  | /*** ITfKeyEventSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnSetFocus)( | 
|  | ITfKeyEventSink *This, | 
|  | WINBOOL fForeground); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnTestKeyDown)( | 
|  | ITfKeyEventSink *This, | 
|  | ITfContext *pic, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnTestKeyUp)( | 
|  | ITfKeyEventSink *This, | 
|  | ITfContext *pic, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnKeyDown)( | 
|  | ITfKeyEventSink *This, | 
|  | ITfContext *pic, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnKeyUp)( | 
|  | ITfKeyEventSink *This, | 
|  | ITfContext *pic, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam, | 
|  | WINBOOL *pfEaten); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnPreservedKey)( | 
|  | ITfKeyEventSink *This, | 
|  | ITfContext *pic, | 
|  | REFGUID rguid, | 
|  | WINBOOL *pfEaten); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfKeyEventSinkVtbl; | 
|  |  | 
|  | interface ITfKeyEventSink { | 
|  | CONST_VTBL ITfKeyEventSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfKeyEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfKeyEventSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfKeyEventSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfKeyEventSink methods ***/ | 
|  | #define ITfKeyEventSink_OnSetFocus(This,fForeground) (This)->lpVtbl->OnSetFocus(This,fForeground) | 
|  | #define ITfKeyEventSink_OnTestKeyDown(This,pic,wParam,lParam,pfEaten) (This)->lpVtbl->OnTestKeyDown(This,pic,wParam,lParam,pfEaten) | 
|  | #define ITfKeyEventSink_OnTestKeyUp(This,pic,wParam,lParam,pfEaten) (This)->lpVtbl->OnTestKeyUp(This,pic,wParam,lParam,pfEaten) | 
|  | #define ITfKeyEventSink_OnKeyDown(This,pic,wParam,lParam,pfEaten) (This)->lpVtbl->OnKeyDown(This,pic,wParam,lParam,pfEaten) | 
|  | #define ITfKeyEventSink_OnKeyUp(This,pic,wParam,lParam,pfEaten) (This)->lpVtbl->OnKeyUp(This,pic,wParam,lParam,pfEaten) | 
|  | #define ITfKeyEventSink_OnPreservedKey(This,pic,rguid,pfEaten) (This)->lpVtbl->OnPreservedKey(This,pic,rguid,pfEaten) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfKeyEventSink_QueryInterface(ITfKeyEventSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfKeyEventSink_AddRef(ITfKeyEventSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfKeyEventSink_Release(ITfKeyEventSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfKeyEventSink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfKeyEventSink_OnSetFocus(ITfKeyEventSink* This,WINBOOL fForeground) { | 
|  | return This->lpVtbl->OnSetFocus(This,fForeground); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeyEventSink_OnTestKeyDown(ITfKeyEventSink* This,ITfContext *pic,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) { | 
|  | return This->lpVtbl->OnTestKeyDown(This,pic,wParam,lParam,pfEaten); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeyEventSink_OnTestKeyUp(ITfKeyEventSink* This,ITfContext *pic,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) { | 
|  | return This->lpVtbl->OnTestKeyUp(This,pic,wParam,lParam,pfEaten); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeyEventSink_OnKeyDown(ITfKeyEventSink* This,ITfContext *pic,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) { | 
|  | return This->lpVtbl->OnKeyDown(This,pic,wParam,lParam,pfEaten); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeyEventSink_OnKeyUp(ITfKeyEventSink* This,ITfContext *pic,WPARAM wParam,LPARAM lParam,WINBOOL *pfEaten) { | 
|  | return This->lpVtbl->OnKeyUp(This,pic,wParam,lParam,pfEaten); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeyEventSink_OnPreservedKey(ITfKeyEventSink* This,ITfContext *pic,REFGUID rguid,WINBOOL *pfEaten) { | 
|  | return This->lpVtbl->OnPreservedKey(This,pic,rguid,pfEaten); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfKeyEventSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfKeyTraceEventSink interface | 
|  | */ | 
|  | #ifndef __ITfKeyTraceEventSink_INTERFACE_DEFINED__ | 
|  | #define __ITfKeyTraceEventSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfKeyTraceEventSink, 0x1cd4c13b, 0x1c36, 0x4191, 0xa7,0x0a, 0x7f,0x3e,0x61,0x1f,0x36,0x7d); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("1cd4c13b-1c36-4191-a70a-7f3e611f367d") | 
|  | ITfKeyTraceEventSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnKeyTraceDown( | 
|  | WPARAM wParam, | 
|  | LPARAM lParam) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnKeyTraceUp( | 
|  | WPARAM wParam, | 
|  | LPARAM lParam) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfKeyTraceEventSink, 0x1cd4c13b, 0x1c36, 0x4191, 0xa7,0x0a, 0x7f,0x3e,0x61,0x1f,0x36,0x7d) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfKeyTraceEventSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfKeyTraceEventSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfKeyTraceEventSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfKeyTraceEventSink *This); | 
|  |  | 
|  | /*** ITfKeyTraceEventSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnKeyTraceDown)( | 
|  | ITfKeyTraceEventSink *This, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnKeyTraceUp)( | 
|  | ITfKeyTraceEventSink *This, | 
|  | WPARAM wParam, | 
|  | LPARAM lParam); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfKeyTraceEventSinkVtbl; | 
|  |  | 
|  | interface ITfKeyTraceEventSink { | 
|  | CONST_VTBL ITfKeyTraceEventSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfKeyTraceEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfKeyTraceEventSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfKeyTraceEventSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfKeyTraceEventSink methods ***/ | 
|  | #define ITfKeyTraceEventSink_OnKeyTraceDown(This,wParam,lParam) (This)->lpVtbl->OnKeyTraceDown(This,wParam,lParam) | 
|  | #define ITfKeyTraceEventSink_OnKeyTraceUp(This,wParam,lParam) (This)->lpVtbl->OnKeyTraceUp(This,wParam,lParam) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfKeyTraceEventSink_QueryInterface(ITfKeyTraceEventSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfKeyTraceEventSink_AddRef(ITfKeyTraceEventSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfKeyTraceEventSink_Release(ITfKeyTraceEventSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfKeyTraceEventSink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfKeyTraceEventSink_OnKeyTraceDown(ITfKeyTraceEventSink* This,WPARAM wParam,LPARAM lParam) { | 
|  | return This->lpVtbl->OnKeyTraceDown(This,wParam,lParam); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfKeyTraceEventSink_OnKeyTraceUp(ITfKeyTraceEventSink* This,WPARAM wParam,LPARAM lParam) { | 
|  | return This->lpVtbl->OnKeyTraceUp(This,wParam,lParam); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfKeyTraceEventSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfUIElementSink interface | 
|  | */ | 
|  | #ifndef __ITfUIElementSink_INTERFACE_DEFINED__ | 
|  | #define __ITfUIElementSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfUIElementSink, 0xea1ea136, 0x19df, 0x11d7, 0xa6,0xd2, 0x00,0x06,0x5b,0x84,0x43,0x5c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("ea1ea136-19df-11d7-a6d2-00065b84435c") | 
|  | ITfUIElementSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE BeginUIElement( | 
|  | DWORD id, | 
|  | WINBOOL *show) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UpdateUIElement( | 
|  | DWORD id) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EndUIElement( | 
|  | DWORD id) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfUIElementSink, 0xea1ea136, 0x19df, 0x11d7, 0xa6,0xd2, 0x00,0x06,0x5b,0x84,0x43,0x5c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfUIElementSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfUIElementSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfUIElementSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfUIElementSink *This); | 
|  |  | 
|  | /*** ITfUIElementSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *BeginUIElement)( | 
|  | ITfUIElementSink *This, | 
|  | DWORD id, | 
|  | WINBOOL *show); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UpdateUIElement)( | 
|  | ITfUIElementSink *This, | 
|  | DWORD id); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EndUIElement)( | 
|  | ITfUIElementSink *This, | 
|  | DWORD id); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfUIElementSinkVtbl; | 
|  |  | 
|  | interface ITfUIElementSink { | 
|  | CONST_VTBL ITfUIElementSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfUIElementSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfUIElementSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfUIElementSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfUIElementSink methods ***/ | 
|  | #define ITfUIElementSink_BeginUIElement(This,id,show) (This)->lpVtbl->BeginUIElement(This,id,show) | 
|  | #define ITfUIElementSink_UpdateUIElement(This,id) (This)->lpVtbl->UpdateUIElement(This,id) | 
|  | #define ITfUIElementSink_EndUIElement(This,id) (This)->lpVtbl->EndUIElement(This,id) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfUIElementSink_QueryInterface(ITfUIElementSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfUIElementSink_AddRef(ITfUIElementSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfUIElementSink_Release(ITfUIElementSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfUIElementSink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfUIElementSink_BeginUIElement(ITfUIElementSink* This,DWORD id,WINBOOL *show) { | 
|  | return This->lpVtbl->BeginUIElement(This,id,show); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfUIElementSink_UpdateUIElement(ITfUIElementSink* This,DWORD id) { | 
|  | return This->lpVtbl->UpdateUIElement(This,id); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfUIElementSink_EndUIElement(ITfUIElementSink* This,DWORD id) { | 
|  | return This->lpVtbl->EndUIElement(This,id); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfUIElementSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfMessagePump interface | 
|  | */ | 
|  | #ifndef __ITfMessagePump_INTERFACE_DEFINED__ | 
|  | #define __ITfMessagePump_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfMessagePump, 0x8f1b8ad8, 0x0b6b, 0x4874, 0x90,0xc5, 0xbd,0x76,0x01,0x1e,0x8f,0x7c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("8f1b8ad8-0b6b-4874-90c5-bd76011e8f7c") | 
|  | ITfMessagePump : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE PeekMessageA( | 
|  | LPMSG pMsg, | 
|  | HWND hwnd, | 
|  | UINT wMsgFilterMin, | 
|  | UINT wMsgFilterMax, | 
|  | UINT wRemoveMsg, | 
|  | WINBOOL *pfResult) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMessageA( | 
|  | LPMSG pMsg, | 
|  | HWND hwnd, | 
|  | UINT wMsgFilterMin, | 
|  | UINT wMsgFilterMax, | 
|  | WINBOOL *pfResult) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE PeekMessageW( | 
|  | LPMSG pMsg, | 
|  | HWND hwnd, | 
|  | UINT wMsgFilterMin, | 
|  | UINT wMsgFilterMax, | 
|  | UINT wRemoveMsg, | 
|  | WINBOOL *pfResult) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetMessageW( | 
|  | LPMSG pMsg, | 
|  | HWND hwnd, | 
|  | UINT wMsgFilterMin, | 
|  | UINT wMsgFilterMax, | 
|  | WINBOOL *pfResult) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfMessagePump, 0x8f1b8ad8, 0x0b6b, 0x4874, 0x90,0xc5, 0xbd,0x76,0x01,0x1e,0x8f,0x7c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfMessagePumpVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfMessagePump *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfMessagePump *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfMessagePump *This); | 
|  |  | 
|  | /*** ITfMessagePump methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *PeekMessageA)( | 
|  | ITfMessagePump *This, | 
|  | LPMSG pMsg, | 
|  | HWND hwnd, | 
|  | UINT wMsgFilterMin, | 
|  | UINT wMsgFilterMax, | 
|  | UINT wRemoveMsg, | 
|  | WINBOOL *pfResult); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMessageA)( | 
|  | ITfMessagePump *This, | 
|  | LPMSG pMsg, | 
|  | HWND hwnd, | 
|  | UINT wMsgFilterMin, | 
|  | UINT wMsgFilterMax, | 
|  | WINBOOL *pfResult); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *PeekMessageW)( | 
|  | ITfMessagePump *This, | 
|  | LPMSG pMsg, | 
|  | HWND hwnd, | 
|  | UINT wMsgFilterMin, | 
|  | UINT wMsgFilterMax, | 
|  | UINT wRemoveMsg, | 
|  | WINBOOL *pfResult); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetMessageW)( | 
|  | ITfMessagePump *This, | 
|  | LPMSG pMsg, | 
|  | HWND hwnd, | 
|  | UINT wMsgFilterMin, | 
|  | UINT wMsgFilterMax, | 
|  | WINBOOL *pfResult); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfMessagePumpVtbl; | 
|  |  | 
|  | interface ITfMessagePump { | 
|  | CONST_VTBL ITfMessagePumpVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfMessagePump_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfMessagePump_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfMessagePump_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfMessagePump methods ***/ | 
|  | #define ITfMessagePump_PeekMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult) (This)->lpVtbl->PeekMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult) | 
|  | #define ITfMessagePump_GetMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult) (This)->lpVtbl->GetMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult) | 
|  | #define ITfMessagePump_PeekMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult) (This)->lpVtbl->PeekMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult) | 
|  | #define ITfMessagePump_GetMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult) (This)->lpVtbl->GetMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfMessagePump_QueryInterface(ITfMessagePump* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfMessagePump_AddRef(ITfMessagePump* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfMessagePump_Release(ITfMessagePump* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfMessagePump methods ***/ | 
|  | static FORCEINLINE HRESULT ITfMessagePump_PeekMessageA(ITfMessagePump* This,LPMSG pMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax,UINT wRemoveMsg,WINBOOL *pfResult) { | 
|  | return This->lpVtbl->PeekMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfMessagePump_GetMessageA(ITfMessagePump* This,LPMSG pMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax,WINBOOL *pfResult) { | 
|  | return This->lpVtbl->GetMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfMessagePump_PeekMessageW(ITfMessagePump* This,LPMSG pMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax,UINT wRemoveMsg,WINBOOL *pfResult) { | 
|  | return This->lpVtbl->PeekMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfMessagePump_GetMessageW(ITfMessagePump* This,LPMSG pMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax,WINBOOL *pfResult) { | 
|  | return This->lpVtbl->GetMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfMessagePump_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfClientId interface | 
|  | */ | 
|  | #ifndef __ITfClientId_INTERFACE_DEFINED__ | 
|  | #define __ITfClientId_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfClientId, 0xd60a7b49, 0x1b9f, 0x4be2, 0xb7,0x02, 0x47,0xe9,0xdc,0x05,0xde,0xc3); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("d60a7b49-1b9f-4be2-b702-47e9dc05dec3") | 
|  | ITfClientId : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetClientId( | 
|  | REFCLSID rclsid, | 
|  | TfClientId *ptid) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfClientId, 0xd60a7b49, 0x1b9f, 0x4be2, 0xb7,0x02, 0x47,0xe9,0xdc,0x05,0xde,0xc3) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfClientIdVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfClientId *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfClientId *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfClientId *This); | 
|  |  | 
|  | /*** ITfClientId methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetClientId)( | 
|  | ITfClientId *This, | 
|  | REFCLSID rclsid, | 
|  | TfClientId *ptid); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfClientIdVtbl; | 
|  |  | 
|  | interface ITfClientId { | 
|  | CONST_VTBL ITfClientIdVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfClientId_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfClientId_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfClientId_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfClientId methods ***/ | 
|  | #define ITfClientId_GetClientId(This,rclsid,ptid) (This)->lpVtbl->GetClientId(This,rclsid,ptid) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfClientId_QueryInterface(ITfClientId* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfClientId_AddRef(ITfClientId* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfClientId_Release(ITfClientId* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfClientId methods ***/ | 
|  | static FORCEINLINE HRESULT ITfClientId_GetClientId(ITfClientId* This,REFCLSID rclsid,TfClientId *ptid) { | 
|  | return This->lpVtbl->GetClientId(This,rclsid,ptid); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfClientId_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfLanguageProfileNotifySink interface | 
|  | */ | 
|  | #ifndef __ITfLanguageProfileNotifySink_INTERFACE_DEFINED__ | 
|  | #define __ITfLanguageProfileNotifySink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfLanguageProfileNotifySink, 0x43c9fe15, 0xf494, 0x4c17, 0x9d,0xe2, 0xb8,0xa4,0xac,0x35,0x0a,0xa8); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("43c9fe15-f494-4c17-9de2-b8a4ac350aa8") | 
|  | ITfLanguageProfileNotifySink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnLanguageChange( | 
|  | LANGID langid, | 
|  | WINBOOL *pfAccept) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnLanguageChanged( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfLanguageProfileNotifySink, 0x43c9fe15, 0xf494, 0x4c17, 0x9d,0xe2, 0xb8,0xa4,0xac,0x35,0x0a,0xa8) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfLanguageProfileNotifySinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfLanguageProfileNotifySink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfLanguageProfileNotifySink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfLanguageProfileNotifySink *This); | 
|  |  | 
|  | /*** ITfLanguageProfileNotifySink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnLanguageChange)( | 
|  | ITfLanguageProfileNotifySink *This, | 
|  | LANGID langid, | 
|  | WINBOOL *pfAccept); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnLanguageChanged)( | 
|  | ITfLanguageProfileNotifySink *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfLanguageProfileNotifySinkVtbl; | 
|  |  | 
|  | interface ITfLanguageProfileNotifySink { | 
|  | CONST_VTBL ITfLanguageProfileNotifySinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfLanguageProfileNotifySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfLanguageProfileNotifySink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfLanguageProfileNotifySink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfLanguageProfileNotifySink methods ***/ | 
|  | #define ITfLanguageProfileNotifySink_OnLanguageChange(This,langid,pfAccept) (This)->lpVtbl->OnLanguageChange(This,langid,pfAccept) | 
|  | #define ITfLanguageProfileNotifySink_OnLanguageChanged(This) (This)->lpVtbl->OnLanguageChanged(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfLanguageProfileNotifySink_QueryInterface(ITfLanguageProfileNotifySink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfLanguageProfileNotifySink_AddRef(ITfLanguageProfileNotifySink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfLanguageProfileNotifySink_Release(ITfLanguageProfileNotifySink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfLanguageProfileNotifySink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfLanguageProfileNotifySink_OnLanguageChange(ITfLanguageProfileNotifySink* This,LANGID langid,WINBOOL *pfAccept) { | 
|  | return This->lpVtbl->OnLanguageChange(This,langid,pfAccept); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfLanguageProfileNotifySink_OnLanguageChanged(ITfLanguageProfileNotifySink* This) { | 
|  | return This->lpVtbl->OnLanguageChanged(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfLanguageProfileNotifySink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfEditSession interface | 
|  | */ | 
|  | #ifndef __ITfEditSession_INTERFACE_DEFINED__ | 
|  | #define __ITfEditSession_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfEditSession, 0xaa80e803, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("aa80e803-2021-11d2-93e0-0060b067b86e") | 
|  | ITfEditSession : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE DoEditSession( | 
|  | TfEditCookie ec) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfEditSession, 0xaa80e803, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfEditSessionVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfEditSession *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfEditSession *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfEditSession *This); | 
|  |  | 
|  | /*** ITfEditSession methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *DoEditSession)( | 
|  | ITfEditSession *This, | 
|  | TfEditCookie ec); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfEditSessionVtbl; | 
|  |  | 
|  | interface ITfEditSession { | 
|  | CONST_VTBL ITfEditSessionVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfEditSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfEditSession_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfEditSession_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfEditSession methods ***/ | 
|  | #define ITfEditSession_DoEditSession(This,ec) (This)->lpVtbl->DoEditSession(This,ec) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfEditSession_QueryInterface(ITfEditSession* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfEditSession_AddRef(ITfEditSession* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfEditSession_Release(ITfEditSession* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfEditSession methods ***/ | 
|  | static FORCEINLINE HRESULT ITfEditSession_DoEditSession(ITfEditSession* This,TfEditCookie ec) { | 
|  | return This->lpVtbl->DoEditSession(This,ec); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfEditSession_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfRange interface | 
|  | */ | 
|  | #ifndef __ITfRange_INTERFACE_DEFINED__ | 
|  | #define __ITfRange_INTERFACE_DEFINED__ | 
|  |  | 
|  | #define TF_CHAR_EMBEDDED (TS_CHAR_EMBEDDED) | 
|  |  | 
|  | typedef enum __WIDL_msctf_generated_name_00000017 { | 
|  | TF_GRAVITY_BACKWARD = 0, | 
|  | TF_GRAVITY_FORWARD = 1 | 
|  | } TfGravity; | 
|  | typedef enum __WIDL_msctf_generated_name_00000018 { | 
|  | TF_SD_BACKWARD = 0, | 
|  | TF_SD_FORWARD = 1 | 
|  | } TfShiftDir; | 
|  | #define TF_HF_OBJECT (1) | 
|  |  | 
|  | #define TF_TF_MOVESTART (1) | 
|  |  | 
|  | #define TF_TF_IGNOREEND (2) | 
|  |  | 
|  | #define TF_ST_CORRECTION (1) | 
|  |  | 
|  | #define TF_IE_CORRECTION (1) | 
|  |  | 
|  | typedef struct TF_HALTCOND { | 
|  | ITfRange *pHaltRange; | 
|  | TfAnchor aHaltPos; | 
|  | DWORD dwFlags; | 
|  | } TF_HALTCOND; | 
|  | DEFINE_GUID(IID_ITfRange, 0xaa80e7ff, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("aa80e7ff-2021-11d2-93e0-0060b067b86e") | 
|  | ITfRange : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetText( | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | WCHAR *pchText, | 
|  | ULONG cchMax, | 
|  | ULONG *pcch) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetText( | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | const WCHAR *pchText, | 
|  | LONG cch) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetFormattedText( | 
|  | TfEditCookie ec, | 
|  | IDataObject **ppDataObject) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetEmbedded( | 
|  | TfEditCookie ec, | 
|  | REFGUID rguidService, | 
|  | REFIID riid, | 
|  | IUnknown **ppunk) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE InsertEmbedded( | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | IDataObject *pDataObject) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ShiftStart( | 
|  | TfEditCookie ec, | 
|  | LONG cchReq, | 
|  | LONG *pcch, | 
|  | const TF_HALTCOND *pHalt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ShiftEnd( | 
|  | TfEditCookie ec, | 
|  | LONG cchReq, | 
|  | LONG *pcch, | 
|  | const TF_HALTCOND *pHalt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ShiftStartToRange( | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | TfAnchor aPos) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ShiftEndToRange( | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | TfAnchor aPos) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ShiftStartRegion( | 
|  | TfEditCookie ec, | 
|  | TfShiftDir dir, | 
|  | WINBOOL *pfNoRegion) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ShiftEndRegion( | 
|  | TfEditCookie ec, | 
|  | TfShiftDir dir, | 
|  | WINBOOL *pfNoRegion) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsEmpty( | 
|  | TfEditCookie ec, | 
|  | WINBOOL *pfEmpty) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Collapse( | 
|  | TfEditCookie ec, | 
|  | TfAnchor aPos) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsEqualStart( | 
|  | TfEditCookie ec, | 
|  | ITfRange *pWith, | 
|  | TfAnchor aPos, | 
|  | WINBOOL *pfEqual) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsEqualEnd( | 
|  | TfEditCookie ec, | 
|  | ITfRange *pWith, | 
|  | TfAnchor aPos, | 
|  | WINBOOL *pfEqual) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CompareStart( | 
|  | TfEditCookie ec, | 
|  | ITfRange *pWith, | 
|  | TfAnchor aPos, | 
|  | LONG *plResult) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CompareEnd( | 
|  | TfEditCookie ec, | 
|  | ITfRange *pWith, | 
|  | TfAnchor aPos, | 
|  | LONG *plResult) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE AdjustForInsert( | 
|  | TfEditCookie ec, | 
|  | ULONG cchInsert, | 
|  | WINBOOL *pfInsertOk) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGravity( | 
|  | TfGravity *pgStart, | 
|  | TfGravity *pgEnd) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetGravity( | 
|  | TfEditCookie ec, | 
|  | TfGravity gStart, | 
|  | TfGravity gEnd) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | ITfRange **ppClone) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetContext( | 
|  | ITfContext **ppContext) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfRange, 0xaa80e7ff, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfRangeVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfRange *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfRange *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfRange *This); | 
|  |  | 
|  | /*** ITfRange methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetText)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | WCHAR *pchText, | 
|  | ULONG cchMax, | 
|  | ULONG *pcch); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetText)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | const WCHAR *pchText, | 
|  | LONG cch); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFormattedText)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | IDataObject **ppDataObject); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEmbedded)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | REFGUID rguidService, | 
|  | REFIID riid, | 
|  | IUnknown **ppunk); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *InsertEmbedded)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | IDataObject *pDataObject); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftStart)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | LONG cchReq, | 
|  | LONG *pcch, | 
|  | const TF_HALTCOND *pHalt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftEnd)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | LONG cchReq, | 
|  | LONG *pcch, | 
|  | const TF_HALTCOND *pHalt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftStartToRange)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | TfAnchor aPos); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftEndToRange)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | TfAnchor aPos); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftStartRegion)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | TfShiftDir dir, | 
|  | WINBOOL *pfNoRegion); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftEndRegion)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | TfShiftDir dir, | 
|  | WINBOOL *pfNoRegion); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsEmpty)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | WINBOOL *pfEmpty); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Collapse)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | TfAnchor aPos); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsEqualStart)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pWith, | 
|  | TfAnchor aPos, | 
|  | WINBOOL *pfEqual); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsEqualEnd)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pWith, | 
|  | TfAnchor aPos, | 
|  | WINBOOL *pfEqual); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CompareStart)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pWith, | 
|  | TfAnchor aPos, | 
|  | LONG *plResult); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CompareEnd)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pWith, | 
|  | TfAnchor aPos, | 
|  | LONG *plResult); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AdjustForInsert)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | ULONG cchInsert, | 
|  | WINBOOL *pfInsertOk); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGravity)( | 
|  | ITfRange *This, | 
|  | TfGravity *pgStart, | 
|  | TfGravity *pgEnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetGravity)( | 
|  | ITfRange *This, | 
|  | TfEditCookie ec, | 
|  | TfGravity gStart, | 
|  | TfGravity gEnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | ITfRange *This, | 
|  | ITfRange **ppClone); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetContext)( | 
|  | ITfRange *This, | 
|  | ITfContext **ppContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfRangeVtbl; | 
|  |  | 
|  | interface ITfRange { | 
|  | CONST_VTBL ITfRangeVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfRange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfRange_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfRange_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfRange methods ***/ | 
|  | #define ITfRange_GetText(This,ec,dwFlags,pchText,cchMax,pcch) (This)->lpVtbl->GetText(This,ec,dwFlags,pchText,cchMax,pcch) | 
|  | #define ITfRange_SetText(This,ec,dwFlags,pchText,cch) (This)->lpVtbl->SetText(This,ec,dwFlags,pchText,cch) | 
|  | #define ITfRange_GetFormattedText(This,ec,ppDataObject) (This)->lpVtbl->GetFormattedText(This,ec,ppDataObject) | 
|  | #define ITfRange_GetEmbedded(This,ec,rguidService,riid,ppunk) (This)->lpVtbl->GetEmbedded(This,ec,rguidService,riid,ppunk) | 
|  | #define ITfRange_InsertEmbedded(This,ec,dwFlags,pDataObject) (This)->lpVtbl->InsertEmbedded(This,ec,dwFlags,pDataObject) | 
|  | #define ITfRange_ShiftStart(This,ec,cchReq,pcch,pHalt) (This)->lpVtbl->ShiftStart(This,ec,cchReq,pcch,pHalt) | 
|  | #define ITfRange_ShiftEnd(This,ec,cchReq,pcch,pHalt) (This)->lpVtbl->ShiftEnd(This,ec,cchReq,pcch,pHalt) | 
|  | #define ITfRange_ShiftStartToRange(This,ec,pRange,aPos) (This)->lpVtbl->ShiftStartToRange(This,ec,pRange,aPos) | 
|  | #define ITfRange_ShiftEndToRange(This,ec,pRange,aPos) (This)->lpVtbl->ShiftEndToRange(This,ec,pRange,aPos) | 
|  | #define ITfRange_ShiftStartRegion(This,ec,dir,pfNoRegion) (This)->lpVtbl->ShiftStartRegion(This,ec,dir,pfNoRegion) | 
|  | #define ITfRange_ShiftEndRegion(This,ec,dir,pfNoRegion) (This)->lpVtbl->ShiftEndRegion(This,ec,dir,pfNoRegion) | 
|  | #define ITfRange_IsEmpty(This,ec,pfEmpty) (This)->lpVtbl->IsEmpty(This,ec,pfEmpty) | 
|  | #define ITfRange_Collapse(This,ec,aPos) (This)->lpVtbl->Collapse(This,ec,aPos) | 
|  | #define ITfRange_IsEqualStart(This,ec,pWith,aPos,pfEqual) (This)->lpVtbl->IsEqualStart(This,ec,pWith,aPos,pfEqual) | 
|  | #define ITfRange_IsEqualEnd(This,ec,pWith,aPos,pfEqual) (This)->lpVtbl->IsEqualEnd(This,ec,pWith,aPos,pfEqual) | 
|  | #define ITfRange_CompareStart(This,ec,pWith,aPos,plResult) (This)->lpVtbl->CompareStart(This,ec,pWith,aPos,plResult) | 
|  | #define ITfRange_CompareEnd(This,ec,pWith,aPos,plResult) (This)->lpVtbl->CompareEnd(This,ec,pWith,aPos,plResult) | 
|  | #define ITfRange_AdjustForInsert(This,ec,cchInsert,pfInsertOk) (This)->lpVtbl->AdjustForInsert(This,ec,cchInsert,pfInsertOk) | 
|  | #define ITfRange_GetGravity(This,pgStart,pgEnd) (This)->lpVtbl->GetGravity(This,pgStart,pgEnd) | 
|  | #define ITfRange_SetGravity(This,ec,gStart,gEnd) (This)->lpVtbl->SetGravity(This,ec,gStart,gEnd) | 
|  | #define ITfRange_Clone(This,ppClone) (This)->lpVtbl->Clone(This,ppClone) | 
|  | #define ITfRange_GetContext(This,ppContext) (This)->lpVtbl->GetContext(This,ppContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfRange_QueryInterface(ITfRange* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfRange_AddRef(ITfRange* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfRange_Release(ITfRange* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfRange methods ***/ | 
|  | static FORCEINLINE HRESULT ITfRange_GetText(ITfRange* This,TfEditCookie ec,DWORD dwFlags,WCHAR *pchText,ULONG cchMax,ULONG *pcch) { | 
|  | return This->lpVtbl->GetText(This,ec,dwFlags,pchText,cchMax,pcch); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_SetText(ITfRange* This,TfEditCookie ec,DWORD dwFlags,const WCHAR *pchText,LONG cch) { | 
|  | return This->lpVtbl->SetText(This,ec,dwFlags,pchText,cch); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_GetFormattedText(ITfRange* This,TfEditCookie ec,IDataObject **ppDataObject) { | 
|  | return This->lpVtbl->GetFormattedText(This,ec,ppDataObject); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_GetEmbedded(ITfRange* This,TfEditCookie ec,REFGUID rguidService,REFIID riid,IUnknown **ppunk) { | 
|  | return This->lpVtbl->GetEmbedded(This,ec,rguidService,riid,ppunk); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_InsertEmbedded(ITfRange* This,TfEditCookie ec,DWORD dwFlags,IDataObject *pDataObject) { | 
|  | return This->lpVtbl->InsertEmbedded(This,ec,dwFlags,pDataObject); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_ShiftStart(ITfRange* This,TfEditCookie ec,LONG cchReq,LONG *pcch,const TF_HALTCOND *pHalt) { | 
|  | return This->lpVtbl->ShiftStart(This,ec,cchReq,pcch,pHalt); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_ShiftEnd(ITfRange* This,TfEditCookie ec,LONG cchReq,LONG *pcch,const TF_HALTCOND *pHalt) { | 
|  | return This->lpVtbl->ShiftEnd(This,ec,cchReq,pcch,pHalt); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_ShiftStartToRange(ITfRange* This,TfEditCookie ec,ITfRange *pRange,TfAnchor aPos) { | 
|  | return This->lpVtbl->ShiftStartToRange(This,ec,pRange,aPos); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_ShiftEndToRange(ITfRange* This,TfEditCookie ec,ITfRange *pRange,TfAnchor aPos) { | 
|  | return This->lpVtbl->ShiftEndToRange(This,ec,pRange,aPos); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_ShiftStartRegion(ITfRange* This,TfEditCookie ec,TfShiftDir dir,WINBOOL *pfNoRegion) { | 
|  | return This->lpVtbl->ShiftStartRegion(This,ec,dir,pfNoRegion); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_ShiftEndRegion(ITfRange* This,TfEditCookie ec,TfShiftDir dir,WINBOOL *pfNoRegion) { | 
|  | return This->lpVtbl->ShiftEndRegion(This,ec,dir,pfNoRegion); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_IsEmpty(ITfRange* This,TfEditCookie ec,WINBOOL *pfEmpty) { | 
|  | return This->lpVtbl->IsEmpty(This,ec,pfEmpty); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_Collapse(ITfRange* This,TfEditCookie ec,TfAnchor aPos) { | 
|  | return This->lpVtbl->Collapse(This,ec,aPos); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_IsEqualStart(ITfRange* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,WINBOOL *pfEqual) { | 
|  | return This->lpVtbl->IsEqualStart(This,ec,pWith,aPos,pfEqual); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_IsEqualEnd(ITfRange* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,WINBOOL *pfEqual) { | 
|  | return This->lpVtbl->IsEqualEnd(This,ec,pWith,aPos,pfEqual); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_CompareStart(ITfRange* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,LONG *plResult) { | 
|  | return This->lpVtbl->CompareStart(This,ec,pWith,aPos,plResult); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_CompareEnd(ITfRange* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,LONG *plResult) { | 
|  | return This->lpVtbl->CompareEnd(This,ec,pWith,aPos,plResult); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_AdjustForInsert(ITfRange* This,TfEditCookie ec,ULONG cchInsert,WINBOOL *pfInsertOk) { | 
|  | return This->lpVtbl->AdjustForInsert(This,ec,cchInsert,pfInsertOk); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_GetGravity(ITfRange* This,TfGravity *pgStart,TfGravity *pgEnd) { | 
|  | return This->lpVtbl->GetGravity(This,pgStart,pgEnd); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_SetGravity(ITfRange* This,TfEditCookie ec,TfGravity gStart,TfGravity gEnd) { | 
|  | return This->lpVtbl->SetGravity(This,ec,gStart,gEnd); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_Clone(ITfRange* This,ITfRange **ppClone) { | 
|  | return This->lpVtbl->Clone(This,ppClone); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRange_GetContext(ITfRange* This,ITfContext **ppContext) { | 
|  | return This->lpVtbl->GetContext(This,ppContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfRange_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfRangeACP interface | 
|  | */ | 
|  | #ifndef __ITfRangeACP_INTERFACE_DEFINED__ | 
|  | #define __ITfRangeACP_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfRangeACP, 0x057a6296, 0x029b, 0x4154, 0xb7,0x9a, 0x0d,0x46,0x1d,0x4e,0xa9,0x4c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("057a6296-029b-4154-b79a-0d461d4ea94c") | 
|  | ITfRangeACP : public ITfRange | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetExtent( | 
|  | LONG *pacpAnchor, | 
|  | LONG *pcch) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetExtent( | 
|  | LONG acpAnchor, | 
|  | LONG cch) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfRangeACP, 0x057a6296, 0x029b, 0x4154, 0xb7,0x9a, 0x0d,0x46,0x1d,0x4e,0xa9,0x4c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfRangeACPVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfRangeACP *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfRangeACP *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfRangeACP *This); | 
|  |  | 
|  | /*** ITfRange methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetText)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | WCHAR *pchText, | 
|  | ULONG cchMax, | 
|  | ULONG *pcch); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetText)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | const WCHAR *pchText, | 
|  | LONG cch); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetFormattedText)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | IDataObject **ppDataObject); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetEmbedded)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | REFGUID rguidService, | 
|  | REFIID riid, | 
|  | IUnknown **ppunk); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *InsertEmbedded)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | IDataObject *pDataObject); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftStart)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | LONG cchReq, | 
|  | LONG *pcch, | 
|  | const TF_HALTCOND *pHalt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftEnd)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | LONG cchReq, | 
|  | LONG *pcch, | 
|  | const TF_HALTCOND *pHalt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftStartToRange)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | TfAnchor aPos); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftEndToRange)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | TfAnchor aPos); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftStartRegion)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | TfShiftDir dir, | 
|  | WINBOOL *pfNoRegion); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftEndRegion)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | TfShiftDir dir, | 
|  | WINBOOL *pfNoRegion); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsEmpty)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | WINBOOL *pfEmpty); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Collapse)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | TfAnchor aPos); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsEqualStart)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pWith, | 
|  | TfAnchor aPos, | 
|  | WINBOOL *pfEqual); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsEqualEnd)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pWith, | 
|  | TfAnchor aPos, | 
|  | WINBOOL *pfEqual); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CompareStart)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pWith, | 
|  | TfAnchor aPos, | 
|  | LONG *plResult); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CompareEnd)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pWith, | 
|  | TfAnchor aPos, | 
|  | LONG *plResult); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *AdjustForInsert)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | ULONG cchInsert, | 
|  | WINBOOL *pfInsertOk); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGravity)( | 
|  | ITfRangeACP *This, | 
|  | TfGravity *pgStart, | 
|  | TfGravity *pgEnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetGravity)( | 
|  | ITfRangeACP *This, | 
|  | TfEditCookie ec, | 
|  | TfGravity gStart, | 
|  | TfGravity gEnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | ITfRangeACP *This, | 
|  | ITfRange **ppClone); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetContext)( | 
|  | ITfRangeACP *This, | 
|  | ITfContext **ppContext); | 
|  |  | 
|  | /*** ITfRangeACP methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetExtent)( | 
|  | ITfRangeACP *This, | 
|  | LONG *pacpAnchor, | 
|  | LONG *pcch); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetExtent)( | 
|  | ITfRangeACP *This, | 
|  | LONG acpAnchor, | 
|  | LONG cch); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfRangeACPVtbl; | 
|  |  | 
|  | interface ITfRangeACP { | 
|  | CONST_VTBL ITfRangeACPVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfRangeACP_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfRangeACP_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfRangeACP_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfRange methods ***/ | 
|  | #define ITfRangeACP_GetText(This,ec,dwFlags,pchText,cchMax,pcch) (This)->lpVtbl->GetText(This,ec,dwFlags,pchText,cchMax,pcch) | 
|  | #define ITfRangeACP_SetText(This,ec,dwFlags,pchText,cch) (This)->lpVtbl->SetText(This,ec,dwFlags,pchText,cch) | 
|  | #define ITfRangeACP_GetFormattedText(This,ec,ppDataObject) (This)->lpVtbl->GetFormattedText(This,ec,ppDataObject) | 
|  | #define ITfRangeACP_GetEmbedded(This,ec,rguidService,riid,ppunk) (This)->lpVtbl->GetEmbedded(This,ec,rguidService,riid,ppunk) | 
|  | #define ITfRangeACP_InsertEmbedded(This,ec,dwFlags,pDataObject) (This)->lpVtbl->InsertEmbedded(This,ec,dwFlags,pDataObject) | 
|  | #define ITfRangeACP_ShiftStart(This,ec,cchReq,pcch,pHalt) (This)->lpVtbl->ShiftStart(This,ec,cchReq,pcch,pHalt) | 
|  | #define ITfRangeACP_ShiftEnd(This,ec,cchReq,pcch,pHalt) (This)->lpVtbl->ShiftEnd(This,ec,cchReq,pcch,pHalt) | 
|  | #define ITfRangeACP_ShiftStartToRange(This,ec,pRange,aPos) (This)->lpVtbl->ShiftStartToRange(This,ec,pRange,aPos) | 
|  | #define ITfRangeACP_ShiftEndToRange(This,ec,pRange,aPos) (This)->lpVtbl->ShiftEndToRange(This,ec,pRange,aPos) | 
|  | #define ITfRangeACP_ShiftStartRegion(This,ec,dir,pfNoRegion) (This)->lpVtbl->ShiftStartRegion(This,ec,dir,pfNoRegion) | 
|  | #define ITfRangeACP_ShiftEndRegion(This,ec,dir,pfNoRegion) (This)->lpVtbl->ShiftEndRegion(This,ec,dir,pfNoRegion) | 
|  | #define ITfRangeACP_IsEmpty(This,ec,pfEmpty) (This)->lpVtbl->IsEmpty(This,ec,pfEmpty) | 
|  | #define ITfRangeACP_Collapse(This,ec,aPos) (This)->lpVtbl->Collapse(This,ec,aPos) | 
|  | #define ITfRangeACP_IsEqualStart(This,ec,pWith,aPos,pfEqual) (This)->lpVtbl->IsEqualStart(This,ec,pWith,aPos,pfEqual) | 
|  | #define ITfRangeACP_IsEqualEnd(This,ec,pWith,aPos,pfEqual) (This)->lpVtbl->IsEqualEnd(This,ec,pWith,aPos,pfEqual) | 
|  | #define ITfRangeACP_CompareStart(This,ec,pWith,aPos,plResult) (This)->lpVtbl->CompareStart(This,ec,pWith,aPos,plResult) | 
|  | #define ITfRangeACP_CompareEnd(This,ec,pWith,aPos,plResult) (This)->lpVtbl->CompareEnd(This,ec,pWith,aPos,plResult) | 
|  | #define ITfRangeACP_AdjustForInsert(This,ec,cchInsert,pfInsertOk) (This)->lpVtbl->AdjustForInsert(This,ec,cchInsert,pfInsertOk) | 
|  | #define ITfRangeACP_GetGravity(This,pgStart,pgEnd) (This)->lpVtbl->GetGravity(This,pgStart,pgEnd) | 
|  | #define ITfRangeACP_SetGravity(This,ec,gStart,gEnd) (This)->lpVtbl->SetGravity(This,ec,gStart,gEnd) | 
|  | #define ITfRangeACP_Clone(This,ppClone) (This)->lpVtbl->Clone(This,ppClone) | 
|  | #define ITfRangeACP_GetContext(This,ppContext) (This)->lpVtbl->GetContext(This,ppContext) | 
|  | /*** ITfRangeACP methods ***/ | 
|  | #define ITfRangeACP_GetExtent(This,pacpAnchor,pcch) (This)->lpVtbl->GetExtent(This,pacpAnchor,pcch) | 
|  | #define ITfRangeACP_SetExtent(This,acpAnchor,cch) (This)->lpVtbl->SetExtent(This,acpAnchor,cch) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfRangeACP_QueryInterface(ITfRangeACP* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfRangeACP_AddRef(ITfRangeACP* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfRangeACP_Release(ITfRangeACP* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfRange methods ***/ | 
|  | static FORCEINLINE HRESULT ITfRangeACP_GetText(ITfRangeACP* This,TfEditCookie ec,DWORD dwFlags,WCHAR *pchText,ULONG cchMax,ULONG *pcch) { | 
|  | return This->lpVtbl->GetText(This,ec,dwFlags,pchText,cchMax,pcch); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_SetText(ITfRangeACP* This,TfEditCookie ec,DWORD dwFlags,const WCHAR *pchText,LONG cch) { | 
|  | return This->lpVtbl->SetText(This,ec,dwFlags,pchText,cch); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_GetFormattedText(ITfRangeACP* This,TfEditCookie ec,IDataObject **ppDataObject) { | 
|  | return This->lpVtbl->GetFormattedText(This,ec,ppDataObject); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_GetEmbedded(ITfRangeACP* This,TfEditCookie ec,REFGUID rguidService,REFIID riid,IUnknown **ppunk) { | 
|  | return This->lpVtbl->GetEmbedded(This,ec,rguidService,riid,ppunk); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_InsertEmbedded(ITfRangeACP* This,TfEditCookie ec,DWORD dwFlags,IDataObject *pDataObject) { | 
|  | return This->lpVtbl->InsertEmbedded(This,ec,dwFlags,pDataObject); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_ShiftStart(ITfRangeACP* This,TfEditCookie ec,LONG cchReq,LONG *pcch,const TF_HALTCOND *pHalt) { | 
|  | return This->lpVtbl->ShiftStart(This,ec,cchReq,pcch,pHalt); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_ShiftEnd(ITfRangeACP* This,TfEditCookie ec,LONG cchReq,LONG *pcch,const TF_HALTCOND *pHalt) { | 
|  | return This->lpVtbl->ShiftEnd(This,ec,cchReq,pcch,pHalt); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_ShiftStartToRange(ITfRangeACP* This,TfEditCookie ec,ITfRange *pRange,TfAnchor aPos) { | 
|  | return This->lpVtbl->ShiftStartToRange(This,ec,pRange,aPos); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_ShiftEndToRange(ITfRangeACP* This,TfEditCookie ec,ITfRange *pRange,TfAnchor aPos) { | 
|  | return This->lpVtbl->ShiftEndToRange(This,ec,pRange,aPos); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_ShiftStartRegion(ITfRangeACP* This,TfEditCookie ec,TfShiftDir dir,WINBOOL *pfNoRegion) { | 
|  | return This->lpVtbl->ShiftStartRegion(This,ec,dir,pfNoRegion); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_ShiftEndRegion(ITfRangeACP* This,TfEditCookie ec,TfShiftDir dir,WINBOOL *pfNoRegion) { | 
|  | return This->lpVtbl->ShiftEndRegion(This,ec,dir,pfNoRegion); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_IsEmpty(ITfRangeACP* This,TfEditCookie ec,WINBOOL *pfEmpty) { | 
|  | return This->lpVtbl->IsEmpty(This,ec,pfEmpty); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_Collapse(ITfRangeACP* This,TfEditCookie ec,TfAnchor aPos) { | 
|  | return This->lpVtbl->Collapse(This,ec,aPos); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_IsEqualStart(ITfRangeACP* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,WINBOOL *pfEqual) { | 
|  | return This->lpVtbl->IsEqualStart(This,ec,pWith,aPos,pfEqual); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_IsEqualEnd(ITfRangeACP* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,WINBOOL *pfEqual) { | 
|  | return This->lpVtbl->IsEqualEnd(This,ec,pWith,aPos,pfEqual); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_CompareStart(ITfRangeACP* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,LONG *plResult) { | 
|  | return This->lpVtbl->CompareStart(This,ec,pWith,aPos,plResult); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_CompareEnd(ITfRangeACP* This,TfEditCookie ec,ITfRange *pWith,TfAnchor aPos,LONG *plResult) { | 
|  | return This->lpVtbl->CompareEnd(This,ec,pWith,aPos,plResult); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_AdjustForInsert(ITfRangeACP* This,TfEditCookie ec,ULONG cchInsert,WINBOOL *pfInsertOk) { | 
|  | return This->lpVtbl->AdjustForInsert(This,ec,cchInsert,pfInsertOk); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_GetGravity(ITfRangeACP* This,TfGravity *pgStart,TfGravity *pgEnd) { | 
|  | return This->lpVtbl->GetGravity(This,pgStart,pgEnd); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_SetGravity(ITfRangeACP* This,TfEditCookie ec,TfGravity gStart,TfGravity gEnd) { | 
|  | return This->lpVtbl->SetGravity(This,ec,gStart,gEnd); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_Clone(ITfRangeACP* This,ITfRange **ppClone) { | 
|  | return This->lpVtbl->Clone(This,ppClone); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_GetContext(ITfRangeACP* This,ITfContext **ppContext) { | 
|  | return This->lpVtbl->GetContext(This,ppContext); | 
|  | } | 
|  | /*** ITfRangeACP methods ***/ | 
|  | static FORCEINLINE HRESULT ITfRangeACP_GetExtent(ITfRangeACP* This,LONG *pacpAnchor,LONG *pcch) { | 
|  | return This->lpVtbl->GetExtent(This,pacpAnchor,pcch); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfRangeACP_SetExtent(ITfRangeACP* This,LONG acpAnchor,LONG cch) { | 
|  | return This->lpVtbl->SetExtent(This,acpAnchor,cch); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfRangeACP_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfInsertAtSelection interface | 
|  | */ | 
|  | #ifndef __ITfInsertAtSelection_INTERFACE_DEFINED__ | 
|  | #define __ITfInsertAtSelection_INTERFACE_DEFINED__ | 
|  |  | 
|  | #define TF_IAS_NOQUERY (0x1) | 
|  |  | 
|  | #define TF_IAS_QUERYONLY (0x2) | 
|  |  | 
|  | #define TF_IAS_NO_DEFAULT_COMPOSITION (0x80000000) | 
|  |  | 
|  | DEFINE_GUID(IID_ITfInsertAtSelection, 0x55ce16ba, 0x3014, 0x41c1, 0x9c,0xeb, 0xfa,0xde,0x14,0x46,0xac,0x6c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("55ce16ba-3014-41c1-9ceb-fade1446ac6c") | 
|  | ITfInsertAtSelection : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE InsertTextAtSelection( | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | const WCHAR *pchText, | 
|  | LONG cch, | 
|  | ITfRange **ppRange) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE InsertEmbeddedAtSelection( | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | IDataObject *pDataObject, | 
|  | ITfRange **ppRange) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfInsertAtSelection, 0x55ce16ba, 0x3014, 0x41c1, 0x9c,0xeb, 0xfa,0xde,0x14,0x46,0xac,0x6c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfInsertAtSelectionVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfInsertAtSelection *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfInsertAtSelection *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfInsertAtSelection *This); | 
|  |  | 
|  | /*** ITfInsertAtSelection methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *InsertTextAtSelection)( | 
|  | ITfInsertAtSelection *This, | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | const WCHAR *pchText, | 
|  | LONG cch, | 
|  | ITfRange **ppRange); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *InsertEmbeddedAtSelection)( | 
|  | ITfInsertAtSelection *This, | 
|  | TfEditCookie ec, | 
|  | DWORD dwFlags, | 
|  | IDataObject *pDataObject, | 
|  | ITfRange **ppRange); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfInsertAtSelectionVtbl; | 
|  |  | 
|  | interface ITfInsertAtSelection { | 
|  | CONST_VTBL ITfInsertAtSelectionVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfInsertAtSelection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfInsertAtSelection_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfInsertAtSelection_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfInsertAtSelection methods ***/ | 
|  | #define ITfInsertAtSelection_InsertTextAtSelection(This,ec,dwFlags,pchText,cch,ppRange) (This)->lpVtbl->InsertTextAtSelection(This,ec,dwFlags,pchText,cch,ppRange) | 
|  | #define ITfInsertAtSelection_InsertEmbeddedAtSelection(This,ec,dwFlags,pDataObject,ppRange) (This)->lpVtbl->InsertEmbeddedAtSelection(This,ec,dwFlags,pDataObject,ppRange) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfInsertAtSelection_QueryInterface(ITfInsertAtSelection* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfInsertAtSelection_AddRef(ITfInsertAtSelection* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfInsertAtSelection_Release(ITfInsertAtSelection* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfInsertAtSelection methods ***/ | 
|  | static FORCEINLINE HRESULT ITfInsertAtSelection_InsertTextAtSelection(ITfInsertAtSelection* This,TfEditCookie ec,DWORD dwFlags,const WCHAR *pchText,LONG cch,ITfRange **ppRange) { | 
|  | return This->lpVtbl->InsertTextAtSelection(This,ec,dwFlags,pchText,cch,ppRange); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfInsertAtSelection_InsertEmbeddedAtSelection(ITfInsertAtSelection* This,TfEditCookie ec,DWORD dwFlags,IDataObject *pDataObject,ITfRange **ppRange) { | 
|  | return This->lpVtbl->InsertEmbeddedAtSelection(This,ec,dwFlags,pDataObject,ppRange); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfInsertAtSelection_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfPropertyStore interface | 
|  | */ | 
|  | #ifndef __ITfPropertyStore_INTERFACE_DEFINED__ | 
|  | #define __ITfPropertyStore_INTERFACE_DEFINED__ | 
|  |  | 
|  | #define TF_TU_CORRECTION (0x1) | 
|  |  | 
|  | DEFINE_GUID(IID_ITfPropertyStore, 0x6834b120, 0x88cb, 0x11d2, 0xbf,0x45, 0x00,0x10,0x5a,0x27,0x99,0xb5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("6834b120-88cb-11d2-bf45-00105a2799b5") | 
|  | ITfPropertyStore : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetType( | 
|  | GUID *pguid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDataType( | 
|  | DWORD *pdwReserved) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetData( | 
|  | VARIANT *pvarValue) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnTextUpdated( | 
|  | DWORD dwFlags, | 
|  | ITfRange *pRangeNew, | 
|  | WINBOOL *pfAccept) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Shrink( | 
|  | ITfRange *pRangeNew, | 
|  | WINBOOL *pfFree) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Divide( | 
|  | ITfRange *pRangeThis, | 
|  | ITfRange *pRangeNew, | 
|  | ITfPropertyStore **ppPropStore) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | ITfPropertyStore **pPropStore) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetPropertyRangeCreator( | 
|  | CLSID *pclsid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Serialize( | 
|  | IStream *pStream, | 
|  | ULONG *pcb) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfPropertyStore, 0x6834b120, 0x88cb, 0x11d2, 0xbf,0x45, 0x00,0x10,0x5a,0x27,0x99,0xb5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfPropertyStoreVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfPropertyStore *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfPropertyStore *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfPropertyStore *This); | 
|  |  | 
|  | /*** ITfPropertyStore methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetType)( | 
|  | ITfPropertyStore *This, | 
|  | GUID *pguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetDataType)( | 
|  | ITfPropertyStore *This, | 
|  | DWORD *pdwReserved); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetData)( | 
|  | ITfPropertyStore *This, | 
|  | VARIANT *pvarValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnTextUpdated)( | 
|  | ITfPropertyStore *This, | 
|  | DWORD dwFlags, | 
|  | ITfRange *pRangeNew, | 
|  | WINBOOL *pfAccept); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Shrink)( | 
|  | ITfPropertyStore *This, | 
|  | ITfRange *pRangeNew, | 
|  | WINBOOL *pfFree); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Divide)( | 
|  | ITfPropertyStore *This, | 
|  | ITfRange *pRangeThis, | 
|  | ITfRange *pRangeNew, | 
|  | ITfPropertyStore **ppPropStore); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | ITfPropertyStore *This, | 
|  | ITfPropertyStore **pPropStore); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetPropertyRangeCreator)( | 
|  | ITfPropertyStore *This, | 
|  | CLSID *pclsid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Serialize)( | 
|  | ITfPropertyStore *This, | 
|  | IStream *pStream, | 
|  | ULONG *pcb); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfPropertyStoreVtbl; | 
|  |  | 
|  | interface ITfPropertyStore { | 
|  | CONST_VTBL ITfPropertyStoreVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfPropertyStore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfPropertyStore_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfPropertyStore_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfPropertyStore methods ***/ | 
|  | #define ITfPropertyStore_GetType(This,pguid) (This)->lpVtbl->GetType(This,pguid) | 
|  | #define ITfPropertyStore_GetDataType(This,pdwReserved) (This)->lpVtbl->GetDataType(This,pdwReserved) | 
|  | #define ITfPropertyStore_GetData(This,pvarValue) (This)->lpVtbl->GetData(This,pvarValue) | 
|  | #define ITfPropertyStore_OnTextUpdated(This,dwFlags,pRangeNew,pfAccept) (This)->lpVtbl->OnTextUpdated(This,dwFlags,pRangeNew,pfAccept) | 
|  | #define ITfPropertyStore_Shrink(This,pRangeNew,pfFree) (This)->lpVtbl->Shrink(This,pRangeNew,pfFree) | 
|  | #define ITfPropertyStore_Divide(This,pRangeThis,pRangeNew,ppPropStore) (This)->lpVtbl->Divide(This,pRangeThis,pRangeNew,ppPropStore) | 
|  | #define ITfPropertyStore_Clone(This,pPropStore) (This)->lpVtbl->Clone(This,pPropStore) | 
|  | #define ITfPropertyStore_GetPropertyRangeCreator(This,pclsid) (This)->lpVtbl->GetPropertyRangeCreator(This,pclsid) | 
|  | #define ITfPropertyStore_Serialize(This,pStream,pcb) (This)->lpVtbl->Serialize(This,pStream,pcb) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfPropertyStore_QueryInterface(ITfPropertyStore* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfPropertyStore_AddRef(ITfPropertyStore* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfPropertyStore_Release(ITfPropertyStore* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfPropertyStore methods ***/ | 
|  | static FORCEINLINE HRESULT ITfPropertyStore_GetType(ITfPropertyStore* This,GUID *pguid) { | 
|  | return This->lpVtbl->GetType(This,pguid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfPropertyStore_GetDataType(ITfPropertyStore* This,DWORD *pdwReserved) { | 
|  | return This->lpVtbl->GetDataType(This,pdwReserved); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfPropertyStore_GetData(ITfPropertyStore* This,VARIANT *pvarValue) { | 
|  | return This->lpVtbl->GetData(This,pvarValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfPropertyStore_OnTextUpdated(ITfPropertyStore* This,DWORD dwFlags,ITfRange *pRangeNew,WINBOOL *pfAccept) { | 
|  | return This->lpVtbl->OnTextUpdated(This,dwFlags,pRangeNew,pfAccept); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfPropertyStore_Shrink(ITfPropertyStore* This,ITfRange *pRangeNew,WINBOOL *pfFree) { | 
|  | return This->lpVtbl->Shrink(This,pRangeNew,pfFree); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfPropertyStore_Divide(ITfPropertyStore* This,ITfRange *pRangeThis,ITfRange *pRangeNew,ITfPropertyStore **ppPropStore) { | 
|  | return This->lpVtbl->Divide(This,pRangeThis,pRangeNew,ppPropStore); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfPropertyStore_Clone(ITfPropertyStore* This,ITfPropertyStore **pPropStore) { | 
|  | return This->lpVtbl->Clone(This,pPropStore); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfPropertyStore_GetPropertyRangeCreator(ITfPropertyStore* This,CLSID *pclsid) { | 
|  | return This->lpVtbl->GetPropertyRangeCreator(This,pclsid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfPropertyStore_Serialize(ITfPropertyStore* This,IStream *pStream,ULONG *pcb) { | 
|  | return This->lpVtbl->Serialize(This,pStream,pcb); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfPropertyStore_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumITfCompositionView interface | 
|  | */ | 
|  | #ifndef __IEnumITfCompositionView_INTERFACE_DEFINED__ | 
|  | #define __IEnumITfCompositionView_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumITfCompositionView, 0x5efd22ba, 0x7838, 0x46cb, 0x88,0xe2, 0xca,0xdb,0x14,0x12,0x4f,0x8f); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("5efd22ba-7838-46cb-88e2-cadb14124f8f") | 
|  | IEnumITfCompositionView : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumITfCompositionView **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG ulCount, | 
|  | ITfCompositionView **rgCompositionView, | 
|  | ULONG *pcFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG ulCount) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumITfCompositionView, 0x5efd22ba, 0x7838, 0x46cb, 0x88,0xe2, 0xca,0xdb,0x14,0x12,0x4f,0x8f) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumITfCompositionViewVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumITfCompositionView *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumITfCompositionView *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumITfCompositionView *This); | 
|  |  | 
|  | /*** IEnumITfCompositionView methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumITfCompositionView *This, | 
|  | IEnumITfCompositionView **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumITfCompositionView *This, | 
|  | ULONG ulCount, | 
|  | ITfCompositionView **rgCompositionView, | 
|  | ULONG *pcFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumITfCompositionView *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumITfCompositionView *This, | 
|  | ULONG ulCount); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumITfCompositionViewVtbl; | 
|  |  | 
|  | interface IEnumITfCompositionView { | 
|  | CONST_VTBL IEnumITfCompositionViewVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumITfCompositionView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumITfCompositionView_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumITfCompositionView_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumITfCompositionView methods ***/ | 
|  | #define IEnumITfCompositionView_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #define IEnumITfCompositionView_Next(This,ulCount,rgCompositionView,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgCompositionView,pcFetched) | 
|  | #define IEnumITfCompositionView_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumITfCompositionView_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumITfCompositionView_QueryInterface(IEnumITfCompositionView* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumITfCompositionView_AddRef(IEnumITfCompositionView* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumITfCompositionView_Release(IEnumITfCompositionView* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumITfCompositionView methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumITfCompositionView_Clone(IEnumITfCompositionView* This,IEnumITfCompositionView **ppEnum) { | 
|  | return This->lpVtbl->Clone(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumITfCompositionView_Next(IEnumITfCompositionView* This,ULONG ulCount,ITfCompositionView **rgCompositionView,ULONG *pcFetched) { | 
|  | return This->lpVtbl->Next(This,ulCount,rgCompositionView,pcFetched); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumITfCompositionView_Reset(IEnumITfCompositionView* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumITfCompositionView_Skip(IEnumITfCompositionView* This,ULONG ulCount) { | 
|  | return This->lpVtbl->Skip(This,ulCount); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumITfCompositionView_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfComposition interface | 
|  | */ | 
|  | #ifndef __ITfComposition_INTERFACE_DEFINED__ | 
|  | #define __ITfComposition_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfComposition, 0x20168d64, 0x5a8f, 0x4a5a, 0xb7,0xbd, 0xcf,0xa2,0x9f,0x4d,0x0f,0xd9); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("20168d64-5a8f-4a5a-b7bd-cfa29f4d0fd9") | 
|  | ITfComposition : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetRange( | 
|  | ITfRange **ppRange) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ShiftStart( | 
|  | TfEditCookie ecWrite, | 
|  | ITfRange *pNewStart) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ShiftEnd( | 
|  | TfEditCookie ecWrite, | 
|  | ITfRange *pNewEnd) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EndComposition( | 
|  | TfEditCookie ecWrite) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfComposition, 0x20168d64, 0x5a8f, 0x4a5a, 0xb7,0xbd, 0xcf,0xa2,0x9f,0x4d,0x0f,0xd9) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfCompositionVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfComposition *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfComposition *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfComposition *This); | 
|  |  | 
|  | /*** ITfComposition methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetRange)( | 
|  | ITfComposition *This, | 
|  | ITfRange **ppRange); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftStart)( | 
|  | ITfComposition *This, | 
|  | TfEditCookie ecWrite, | 
|  | ITfRange *pNewStart); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ShiftEnd)( | 
|  | ITfComposition *This, | 
|  | TfEditCookie ecWrite, | 
|  | ITfRange *pNewEnd); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EndComposition)( | 
|  | ITfComposition *This, | 
|  | TfEditCookie ecWrite); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfCompositionVtbl; | 
|  |  | 
|  | interface ITfComposition { | 
|  | CONST_VTBL ITfCompositionVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfComposition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfComposition_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfComposition_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfComposition methods ***/ | 
|  | #define ITfComposition_GetRange(This,ppRange) (This)->lpVtbl->GetRange(This,ppRange) | 
|  | #define ITfComposition_ShiftStart(This,ecWrite,pNewStart) (This)->lpVtbl->ShiftStart(This,ecWrite,pNewStart) | 
|  | #define ITfComposition_ShiftEnd(This,ecWrite,pNewEnd) (This)->lpVtbl->ShiftEnd(This,ecWrite,pNewEnd) | 
|  | #define ITfComposition_EndComposition(This,ecWrite) (This)->lpVtbl->EndComposition(This,ecWrite) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfComposition_QueryInterface(ITfComposition* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfComposition_AddRef(ITfComposition* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfComposition_Release(ITfComposition* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfComposition methods ***/ | 
|  | static FORCEINLINE HRESULT ITfComposition_GetRange(ITfComposition* This,ITfRange **ppRange) { | 
|  | return This->lpVtbl->GetRange(This,ppRange); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfComposition_ShiftStart(ITfComposition* This,TfEditCookie ecWrite,ITfRange *pNewStart) { | 
|  | return This->lpVtbl->ShiftStart(This,ecWrite,pNewStart); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfComposition_ShiftEnd(ITfComposition* This,TfEditCookie ecWrite,ITfRange *pNewEnd) { | 
|  | return This->lpVtbl->ShiftEnd(This,ecWrite,pNewEnd); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfComposition_EndComposition(ITfComposition* This,TfEditCookie ecWrite) { | 
|  | return This->lpVtbl->EndComposition(This,ecWrite); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfComposition_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfCompositionSink interface | 
|  | */ | 
|  | #ifndef __ITfCompositionSink_INTERFACE_DEFINED__ | 
|  | #define __ITfCompositionSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfCompositionSink, 0xa781718c, 0x579a, 0x4b15, 0xa2,0x80, 0x32,0xb8,0x57,0x7a,0xcc,0x5e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("a781718c-579a-4b15-a280-32b8577acc5e") | 
|  | ITfCompositionSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnCompositionTerminated( | 
|  | TfEditCookie ecWrite, | 
|  | ITfComposition *pComposition) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfCompositionSink, 0xa781718c, 0x579a, 0x4b15, 0xa2,0x80, 0x32,0xb8,0x57,0x7a,0xcc,0x5e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfCompositionSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfCompositionSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfCompositionSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfCompositionSink *This); | 
|  |  | 
|  | /*** ITfCompositionSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnCompositionTerminated)( | 
|  | ITfCompositionSink *This, | 
|  | TfEditCookie ecWrite, | 
|  | ITfComposition *pComposition); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfCompositionSinkVtbl; | 
|  |  | 
|  | interface ITfCompositionSink { | 
|  | CONST_VTBL ITfCompositionSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfCompositionSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfCompositionSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfCompositionSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfCompositionSink methods ***/ | 
|  | #define ITfCompositionSink_OnCompositionTerminated(This,ecWrite,pComposition) (This)->lpVtbl->OnCompositionTerminated(This,ecWrite,pComposition) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfCompositionSink_QueryInterface(ITfCompositionSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfCompositionSink_AddRef(ITfCompositionSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfCompositionSink_Release(ITfCompositionSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfCompositionSink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfCompositionSink_OnCompositionTerminated(ITfCompositionSink* This,TfEditCookie ecWrite,ITfComposition *pComposition) { | 
|  | return This->lpVtbl->OnCompositionTerminated(This,ecWrite,pComposition); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfCompositionSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfContextComposition interface | 
|  | */ | 
|  | #ifndef __ITfContextComposition_INTERFACE_DEFINED__ | 
|  | #define __ITfContextComposition_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfContextComposition, 0xd40c8aae, 0xac92, 0x4fc7, 0x9a,0x11, 0x0e,0xe0,0xe2,0x3a,0xa3,0x9b); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("d40c8aae-ac92-4fc7-9a11-0ee0e23aa39b") | 
|  | ITfContextComposition : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE StartComposition( | 
|  | TfEditCookie ecWrite, | 
|  | ITfRange *pCompositionRange, | 
|  | ITfCompositionSink *pSink, | 
|  | ITfComposition **ppComposition) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumCompositions( | 
|  | IEnumITfCompositionView **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE FindComposition( | 
|  | TfEditCookie ecRead, | 
|  | ITfRange *pTestRange, | 
|  | IEnumITfCompositionView **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE TakeOwnership( | 
|  | TfEditCookie ecWrite, | 
|  | ITfCompositionView *pComposition, | 
|  | ITfCompositionSink *pSink, | 
|  | ITfComposition **ppComposition) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfContextComposition, 0xd40c8aae, 0xac92, 0x4fc7, 0x9a,0x11, 0x0e,0xe0,0xe2,0x3a,0xa3,0x9b) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfContextCompositionVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfContextComposition *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfContextComposition *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfContextComposition *This); | 
|  |  | 
|  | /*** ITfContextComposition methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *StartComposition)( | 
|  | ITfContextComposition *This, | 
|  | TfEditCookie ecWrite, | 
|  | ITfRange *pCompositionRange, | 
|  | ITfCompositionSink *pSink, | 
|  | ITfComposition **ppComposition); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumCompositions)( | 
|  | ITfContextComposition *This, | 
|  | IEnumITfCompositionView **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindComposition)( | 
|  | ITfContextComposition *This, | 
|  | TfEditCookie ecRead, | 
|  | ITfRange *pTestRange, | 
|  | IEnumITfCompositionView **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *TakeOwnership)( | 
|  | ITfContextComposition *This, | 
|  | TfEditCookie ecWrite, | 
|  | ITfCompositionView *pComposition, | 
|  | ITfCompositionSink *pSink, | 
|  | ITfComposition **ppComposition); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfContextCompositionVtbl; | 
|  |  | 
|  | interface ITfContextComposition { | 
|  | CONST_VTBL ITfContextCompositionVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfContextComposition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfContextComposition_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfContextComposition_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfContextComposition methods ***/ | 
|  | #define ITfContextComposition_StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition) (This)->lpVtbl->StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition) | 
|  | #define ITfContextComposition_EnumCompositions(This,ppEnum) (This)->lpVtbl->EnumCompositions(This,ppEnum) | 
|  | #define ITfContextComposition_FindComposition(This,ecRead,pTestRange,ppEnum) (This)->lpVtbl->FindComposition(This,ecRead,pTestRange,ppEnum) | 
|  | #define ITfContextComposition_TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition) (This)->lpVtbl->TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContextComposition_QueryInterface(ITfContextComposition* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfContextComposition_AddRef(ITfContextComposition* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfContextComposition_Release(ITfContextComposition* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfContextComposition methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContextComposition_StartComposition(ITfContextComposition* This,TfEditCookie ecWrite,ITfRange *pCompositionRange,ITfCompositionSink *pSink,ITfComposition **ppComposition) { | 
|  | return This->lpVtbl->StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextComposition_EnumCompositions(ITfContextComposition* This,IEnumITfCompositionView **ppEnum) { | 
|  | return This->lpVtbl->EnumCompositions(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextComposition_FindComposition(ITfContextComposition* This,TfEditCookie ecRead,ITfRange *pTestRange,IEnumITfCompositionView **ppEnum) { | 
|  | return This->lpVtbl->FindComposition(This,ecRead,pTestRange,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextComposition_TakeOwnership(ITfContextComposition* This,TfEditCookie ecWrite,ITfCompositionView *pComposition,ITfCompositionSink *pSink,ITfComposition **ppComposition) { | 
|  | return This->lpVtbl->TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfContextComposition_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfContextOwnerCompositionServices interface | 
|  | */ | 
|  | #ifndef __ITfContextOwnerCompositionServices_INTERFACE_DEFINED__ | 
|  | #define __ITfContextOwnerCompositionServices_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfContextOwnerCompositionServices, 0x86462810, 0x593b, 0x4916, 0x97,0x64, 0x19,0xc0,0x8e,0x9c,0xe1,0x10); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("86462810-593b-4916-9764-19c08e9ce110") | 
|  | ITfContextOwnerCompositionServices : public ITfContextComposition | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE TerminateComposition( | 
|  | ITfCompositionView *pComposition) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfContextOwnerCompositionServices, 0x86462810, 0x593b, 0x4916, 0x97,0x64, 0x19,0xc0,0x8e,0x9c,0xe1,0x10) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfContextOwnerCompositionServicesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfContextOwnerCompositionServices *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfContextOwnerCompositionServices *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfContextOwnerCompositionServices *This); | 
|  |  | 
|  | /*** ITfContextComposition methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *StartComposition)( | 
|  | ITfContextOwnerCompositionServices *This, | 
|  | TfEditCookie ecWrite, | 
|  | ITfRange *pCompositionRange, | 
|  | ITfCompositionSink *pSink, | 
|  | ITfComposition **ppComposition); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumCompositions)( | 
|  | ITfContextOwnerCompositionServices *This, | 
|  | IEnumITfCompositionView **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *FindComposition)( | 
|  | ITfContextOwnerCompositionServices *This, | 
|  | TfEditCookie ecRead, | 
|  | ITfRange *pTestRange, | 
|  | IEnumITfCompositionView **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *TakeOwnership)( | 
|  | ITfContextOwnerCompositionServices *This, | 
|  | TfEditCookie ecWrite, | 
|  | ITfCompositionView *pComposition, | 
|  | ITfCompositionSink *pSink, | 
|  | ITfComposition **ppComposition); | 
|  |  | 
|  | /*** ITfContextOwnerCompositionServices methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *TerminateComposition)( | 
|  | ITfContextOwnerCompositionServices *This, | 
|  | ITfCompositionView *pComposition); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfContextOwnerCompositionServicesVtbl; | 
|  |  | 
|  | interface ITfContextOwnerCompositionServices { | 
|  | CONST_VTBL ITfContextOwnerCompositionServicesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfContextOwnerCompositionServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfContextOwnerCompositionServices_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfContextOwnerCompositionServices_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfContextComposition methods ***/ | 
|  | #define ITfContextOwnerCompositionServices_StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition) (This)->lpVtbl->StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition) | 
|  | #define ITfContextOwnerCompositionServices_EnumCompositions(This,ppEnum) (This)->lpVtbl->EnumCompositions(This,ppEnum) | 
|  | #define ITfContextOwnerCompositionServices_FindComposition(This,ecRead,pTestRange,ppEnum) (This)->lpVtbl->FindComposition(This,ecRead,pTestRange,ppEnum) | 
|  | #define ITfContextOwnerCompositionServices_TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition) (This)->lpVtbl->TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition) | 
|  | /*** ITfContextOwnerCompositionServices methods ***/ | 
|  | #define ITfContextOwnerCompositionServices_TerminateComposition(This,pComposition) (This)->lpVtbl->TerminateComposition(This,pComposition) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContextOwnerCompositionServices_QueryInterface(ITfContextOwnerCompositionServices* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfContextOwnerCompositionServices_AddRef(ITfContextOwnerCompositionServices* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfContextOwnerCompositionServices_Release(ITfContextOwnerCompositionServices* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfContextComposition methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContextOwnerCompositionServices_StartComposition(ITfContextOwnerCompositionServices* This,TfEditCookie ecWrite,ITfRange *pCompositionRange,ITfCompositionSink *pSink,ITfComposition **ppComposition) { | 
|  | return This->lpVtbl->StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextOwnerCompositionServices_EnumCompositions(ITfContextOwnerCompositionServices* This,IEnumITfCompositionView **ppEnum) { | 
|  | return This->lpVtbl->EnumCompositions(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextOwnerCompositionServices_FindComposition(ITfContextOwnerCompositionServices* This,TfEditCookie ecRead,ITfRange *pTestRange,IEnumITfCompositionView **ppEnum) { | 
|  | return This->lpVtbl->FindComposition(This,ecRead,pTestRange,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextOwnerCompositionServices_TakeOwnership(ITfContextOwnerCompositionServices* This,TfEditCookie ecWrite,ITfCompositionView *pComposition,ITfCompositionSink *pSink,ITfComposition **ppComposition) { | 
|  | return This->lpVtbl->TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition); | 
|  | } | 
|  | /*** ITfContextOwnerCompositionServices methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContextOwnerCompositionServices_TerminateComposition(ITfContextOwnerCompositionServices* This,ITfCompositionView *pComposition) { | 
|  | return This->lpVtbl->TerminateComposition(This,pComposition); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfContextOwnerCompositionServices_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfPersistentPropertyLoaderACP interface | 
|  | */ | 
|  | #ifndef __ITfPersistentPropertyLoaderACP_INTERFACE_DEFINED__ | 
|  | #define __ITfPersistentPropertyLoaderACP_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfPersistentPropertyLoaderACP, 0x4ef89150, 0x0807, 0x11d3, 0x8d,0xf0, 0x00,0x10,0x5a,0x27,0x99,0xb5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("4ef89150-0807-11d3-8df0-00105a2799b5") | 
|  | ITfPersistentPropertyLoaderACP : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE LoadProperty( | 
|  | const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr, | 
|  | IStream **ppStream) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfPersistentPropertyLoaderACP, 0x4ef89150, 0x0807, 0x11d3, 0x8d,0xf0, 0x00,0x10,0x5a,0x27,0x99,0xb5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfPersistentPropertyLoaderACPVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfPersistentPropertyLoaderACP *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfPersistentPropertyLoaderACP *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfPersistentPropertyLoaderACP *This); | 
|  |  | 
|  | /*** ITfPersistentPropertyLoaderACP methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *LoadProperty)( | 
|  | ITfPersistentPropertyLoaderACP *This, | 
|  | const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr, | 
|  | IStream **ppStream); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfPersistentPropertyLoaderACPVtbl; | 
|  |  | 
|  | interface ITfPersistentPropertyLoaderACP { | 
|  | CONST_VTBL ITfPersistentPropertyLoaderACPVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfPersistentPropertyLoaderACP_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfPersistentPropertyLoaderACP_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfPersistentPropertyLoaderACP_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfPersistentPropertyLoaderACP methods ***/ | 
|  | #define ITfPersistentPropertyLoaderACP_LoadProperty(This,pHdr,ppStream) (This)->lpVtbl->LoadProperty(This,pHdr,ppStream) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfPersistentPropertyLoaderACP_QueryInterface(ITfPersistentPropertyLoaderACP* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfPersistentPropertyLoaderACP_AddRef(ITfPersistentPropertyLoaderACP* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfPersistentPropertyLoaderACP_Release(ITfPersistentPropertyLoaderACP* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfPersistentPropertyLoaderACP methods ***/ | 
|  | static FORCEINLINE HRESULT ITfPersistentPropertyLoaderACP_LoadProperty(ITfPersistentPropertyLoaderACP* This,const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,IStream **ppStream) { | 
|  | return This->lpVtbl->LoadProperty(This,pHdr,ppStream); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfPersistentPropertyLoaderACP_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfContextOwnerServices interface | 
|  | */ | 
|  | #ifndef __ITfContextOwnerServices_INTERFACE_DEFINED__ | 
|  | #define __ITfContextOwnerServices_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfContextOwnerServices, 0xb23eb630, 0x3e1c, 0x11d3, 0xa7,0x45, 0x00,0x50,0x04,0x0a,0xb4,0x07); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("b23eb630-3e1c-11d3-a745-0050040ab407") | 
|  | ITfContextOwnerServices : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnLayoutChange( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnStatusChange( | 
|  | DWORD dwFlags) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnAttributeChange( | 
|  | REFGUID rguidAttribute) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Serialize( | 
|  | ITfProperty *pProp, | 
|  | ITfRange *pRange, | 
|  | TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr, | 
|  | IStream *pStream) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Unserialize( | 
|  | ITfProperty *pProp, | 
|  | const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr, | 
|  | IStream *pStream, | 
|  | ITfPersistentPropertyLoaderACP *pLoader) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ForceLoadProperty( | 
|  | ITfProperty *pProp) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE CreateRange( | 
|  | LONG acpStart, | 
|  | LONG acpEnd, | 
|  | ITfRangeACP **ppRange) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfContextOwnerServices, 0xb23eb630, 0x3e1c, 0x11d3, 0xa7,0x45, 0x00,0x50,0x04,0x0a,0xb4,0x07) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfContextOwnerServicesVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfContextOwnerServices *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfContextOwnerServices *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfContextOwnerServices *This); | 
|  |  | 
|  | /*** ITfContextOwnerServices methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnLayoutChange)( | 
|  | ITfContextOwnerServices *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnStatusChange)( | 
|  | ITfContextOwnerServices *This, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnAttributeChange)( | 
|  | ITfContextOwnerServices *This, | 
|  | REFGUID rguidAttribute); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Serialize)( | 
|  | ITfContextOwnerServices *This, | 
|  | ITfProperty *pProp, | 
|  | ITfRange *pRange, | 
|  | TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr, | 
|  | IStream *pStream); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Unserialize)( | 
|  | ITfContextOwnerServices *This, | 
|  | ITfProperty *pProp, | 
|  | const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr, | 
|  | IStream *pStream, | 
|  | ITfPersistentPropertyLoaderACP *pLoader); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ForceLoadProperty)( | 
|  | ITfContextOwnerServices *This, | 
|  | ITfProperty *pProp); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *CreateRange)( | 
|  | ITfContextOwnerServices *This, | 
|  | LONG acpStart, | 
|  | LONG acpEnd, | 
|  | ITfRangeACP **ppRange); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfContextOwnerServicesVtbl; | 
|  |  | 
|  | interface ITfContextOwnerServices { | 
|  | CONST_VTBL ITfContextOwnerServicesVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfContextOwnerServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfContextOwnerServices_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfContextOwnerServices_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfContextOwnerServices methods ***/ | 
|  | #define ITfContextOwnerServices_OnLayoutChange(This) (This)->lpVtbl->OnLayoutChange(This) | 
|  | #define ITfContextOwnerServices_OnStatusChange(This,dwFlags) (This)->lpVtbl->OnStatusChange(This,dwFlags) | 
|  | #define ITfContextOwnerServices_OnAttributeChange(This,rguidAttribute) (This)->lpVtbl->OnAttributeChange(This,rguidAttribute) | 
|  | #define ITfContextOwnerServices_Serialize(This,pProp,pRange,pHdr,pStream) (This)->lpVtbl->Serialize(This,pProp,pRange,pHdr,pStream) | 
|  | #define ITfContextOwnerServices_Unserialize(This,pProp,pHdr,pStream,pLoader) (This)->lpVtbl->Unserialize(This,pProp,pHdr,pStream,pLoader) | 
|  | #define ITfContextOwnerServices_ForceLoadProperty(This,pProp) (This)->lpVtbl->ForceLoadProperty(This,pProp) | 
|  | #define ITfContextOwnerServices_CreateRange(This,acpStart,acpEnd,ppRange) (This)->lpVtbl->CreateRange(This,acpStart,acpEnd,ppRange) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContextOwnerServices_QueryInterface(ITfContextOwnerServices* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfContextOwnerServices_AddRef(ITfContextOwnerServices* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfContextOwnerServices_Release(ITfContextOwnerServices* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfContextOwnerServices methods ***/ | 
|  | static FORCEINLINE HRESULT ITfContextOwnerServices_OnLayoutChange(ITfContextOwnerServices* This) { | 
|  | return This->lpVtbl->OnLayoutChange(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextOwnerServices_OnStatusChange(ITfContextOwnerServices* This,DWORD dwFlags) { | 
|  | return This->lpVtbl->OnStatusChange(This,dwFlags); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextOwnerServices_OnAttributeChange(ITfContextOwnerServices* This,REFGUID rguidAttribute) { | 
|  | return This->lpVtbl->OnAttributeChange(This,rguidAttribute); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextOwnerServices_Serialize(ITfContextOwnerServices* This,ITfProperty *pProp,ITfRange *pRange,TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,IStream *pStream) { | 
|  | return This->lpVtbl->Serialize(This,pProp,pRange,pHdr,pStream); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextOwnerServices_Unserialize(ITfContextOwnerServices* This,ITfProperty *pProp,const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,IStream *pStream,ITfPersistentPropertyLoaderACP *pLoader) { | 
|  | return This->lpVtbl->Unserialize(This,pProp,pHdr,pStream,pLoader); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextOwnerServices_ForceLoadProperty(ITfContextOwnerServices* This,ITfProperty *pProp) { | 
|  | return This->lpVtbl->ForceLoadProperty(This,pProp); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfContextOwnerServices_CreateRange(ITfContextOwnerServices* This,LONG acpStart,LONG acpEnd,ITfRangeACP **ppRange) { | 
|  | return This->lpVtbl->CreateRange(This,acpStart,acpEnd,ppRange); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfContextOwnerServices_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfReadOnlyProperty interface | 
|  | */ | 
|  | #ifndef __ITfReadOnlyProperty_INTERFACE_DEFINED__ | 
|  | #define __ITfReadOnlyProperty_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfReadOnlyProperty, 0x17d49a3d, 0xf8b8, 0x4b2f, 0xb2,0x54, 0x52,0x31,0x9d,0xd6,0x4c,0x53); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("17d49a3d-f8b8-4b2f-b254-52319dd64c53") | 
|  | ITfReadOnlyProperty : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetType( | 
|  | GUID *pguid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumRanges( | 
|  | TfEditCookie ec, | 
|  | IEnumTfRanges **ppEnum, | 
|  | ITfRange *pTargetRange) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetValue( | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | VARIANT *pvarValue) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetContext( | 
|  | ITfContext **ppContext) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfReadOnlyProperty, 0x17d49a3d, 0xf8b8, 0x4b2f, 0xb2,0x54, 0x52,0x31,0x9d,0xd6,0x4c,0x53) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfReadOnlyPropertyVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfReadOnlyProperty *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfReadOnlyProperty *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfReadOnlyProperty *This); | 
|  |  | 
|  | /*** ITfReadOnlyProperty methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetType)( | 
|  | ITfReadOnlyProperty *This, | 
|  | GUID *pguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumRanges)( | 
|  | ITfReadOnlyProperty *This, | 
|  | TfEditCookie ec, | 
|  | IEnumTfRanges **ppEnum, | 
|  | ITfRange *pTargetRange); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetValue)( | 
|  | ITfReadOnlyProperty *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | VARIANT *pvarValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetContext)( | 
|  | ITfReadOnlyProperty *This, | 
|  | ITfContext **ppContext); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfReadOnlyPropertyVtbl; | 
|  |  | 
|  | interface ITfReadOnlyProperty { | 
|  | CONST_VTBL ITfReadOnlyPropertyVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfReadOnlyProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfReadOnlyProperty_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfReadOnlyProperty_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfReadOnlyProperty methods ***/ | 
|  | #define ITfReadOnlyProperty_GetType(This,pguid) (This)->lpVtbl->GetType(This,pguid) | 
|  | #define ITfReadOnlyProperty_EnumRanges(This,ec,ppEnum,pTargetRange) (This)->lpVtbl->EnumRanges(This,ec,ppEnum,pTargetRange) | 
|  | #define ITfReadOnlyProperty_GetValue(This,ec,pRange,pvarValue) (This)->lpVtbl->GetValue(This,ec,pRange,pvarValue) | 
|  | #define ITfReadOnlyProperty_GetContext(This,ppContext) (This)->lpVtbl->GetContext(This,ppContext) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfReadOnlyProperty_QueryInterface(ITfReadOnlyProperty* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfReadOnlyProperty_AddRef(ITfReadOnlyProperty* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfReadOnlyProperty_Release(ITfReadOnlyProperty* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfReadOnlyProperty methods ***/ | 
|  | static FORCEINLINE HRESULT ITfReadOnlyProperty_GetType(ITfReadOnlyProperty* This,GUID *pguid) { | 
|  | return This->lpVtbl->GetType(This,pguid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfReadOnlyProperty_EnumRanges(ITfReadOnlyProperty* This,TfEditCookie ec,IEnumTfRanges **ppEnum,ITfRange *pTargetRange) { | 
|  | return This->lpVtbl->EnumRanges(This,ec,ppEnum,pTargetRange); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfReadOnlyProperty_GetValue(ITfReadOnlyProperty* This,TfEditCookie ec,ITfRange *pRange,VARIANT *pvarValue) { | 
|  | return This->lpVtbl->GetValue(This,ec,pRange,pvarValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfReadOnlyProperty_GetContext(ITfReadOnlyProperty* This,ITfContext **ppContext) { | 
|  | return This->lpVtbl->GetContext(This,ppContext); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfReadOnlyProperty_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfProperty interface | 
|  | */ | 
|  | #ifndef __ITfProperty_INTERFACE_DEFINED__ | 
|  | #define __ITfProperty_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfProperty, 0xe2449660, 0x9542, 0x11d2, 0xbf,0x46, 0x00,0x10,0x5a,0x27,0x99,0xb5); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("e2449660-9542-11d2-bf46-00105a2799b5") | 
|  | ITfProperty : public ITfReadOnlyProperty | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE FindRange( | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | ITfRange **ppRange, | 
|  | TfAnchor aPos) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetValueStore( | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | ITfPropertyStore *pPropStore) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE SetValue( | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | const VARIANT *pvarValue) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clear( | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfProperty, 0xe2449660, 0x9542, 0x11d2, 0xbf,0x46, 0x00,0x10,0x5a,0x27,0x99,0xb5) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfPropertyVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfProperty *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfProperty *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfProperty *This); | 
|  |  | 
|  | /*** ITfReadOnlyProperty methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetType)( | 
|  | ITfProperty *This, | 
|  | GUID *pguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumRanges)( | 
|  | ITfProperty *This, | 
|  | TfEditCookie ec, | 
|  | IEnumTfRanges **ppEnum, | 
|  | ITfRange *pTargetRange); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetValue)( | 
|  | ITfProperty *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | VARIANT *pvarValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetContext)( | 
|  | ITfProperty *This, | 
|  | ITfContext **ppContext); | 
|  |  | 
|  | /*** ITfProperty methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *FindRange)( | 
|  | ITfProperty *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | ITfRange **ppRange, | 
|  | TfAnchor aPos); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetValueStore)( | 
|  | ITfProperty *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | ITfPropertyStore *pPropStore); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *SetValue)( | 
|  | ITfProperty *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange, | 
|  | const VARIANT *pvarValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clear)( | 
|  | ITfProperty *This, | 
|  | TfEditCookie ec, | 
|  | ITfRange *pRange); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfPropertyVtbl; | 
|  |  | 
|  | interface ITfProperty { | 
|  | CONST_VTBL ITfPropertyVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfProperty_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfProperty_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfReadOnlyProperty methods ***/ | 
|  | #define ITfProperty_GetType(This,pguid) (This)->lpVtbl->GetType(This,pguid) | 
|  | #define ITfProperty_EnumRanges(This,ec,ppEnum,pTargetRange) (This)->lpVtbl->EnumRanges(This,ec,ppEnum,pTargetRange) | 
|  | #define ITfProperty_GetValue(This,ec,pRange,pvarValue) (This)->lpVtbl->GetValue(This,ec,pRange,pvarValue) | 
|  | #define ITfProperty_GetContext(This,ppContext) (This)->lpVtbl->GetContext(This,ppContext) | 
|  | /*** ITfProperty methods ***/ | 
|  | #define ITfProperty_FindRange(This,ec,pRange,ppRange,aPos) (This)->lpVtbl->FindRange(This,ec,pRange,ppRange,aPos) | 
|  | #define ITfProperty_SetValueStore(This,ec,pRange,pPropStore) (This)->lpVtbl->SetValueStore(This,ec,pRange,pPropStore) | 
|  | #define ITfProperty_SetValue(This,ec,pRange,pvarValue) (This)->lpVtbl->SetValue(This,ec,pRange,pvarValue) | 
|  | #define ITfProperty_Clear(This,ec,pRange) (This)->lpVtbl->Clear(This,ec,pRange) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfProperty_QueryInterface(ITfProperty* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfProperty_AddRef(ITfProperty* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfProperty_Release(ITfProperty* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfReadOnlyProperty methods ***/ | 
|  | static FORCEINLINE HRESULT ITfProperty_GetType(ITfProperty* This,GUID *pguid) { | 
|  | return This->lpVtbl->GetType(This,pguid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfProperty_EnumRanges(ITfProperty* This,TfEditCookie ec,IEnumTfRanges **ppEnum,ITfRange *pTargetRange) { | 
|  | return This->lpVtbl->EnumRanges(This,ec,ppEnum,pTargetRange); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfProperty_GetValue(ITfProperty* This,TfEditCookie ec,ITfRange *pRange,VARIANT *pvarValue) { | 
|  | return This->lpVtbl->GetValue(This,ec,pRange,pvarValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfProperty_GetContext(ITfProperty* This,ITfContext **ppContext) { | 
|  | return This->lpVtbl->GetContext(This,ppContext); | 
|  | } | 
|  | /*** ITfProperty methods ***/ | 
|  | static FORCEINLINE HRESULT ITfProperty_FindRange(ITfProperty* This,TfEditCookie ec,ITfRange *pRange,ITfRange **ppRange,TfAnchor aPos) { | 
|  | return This->lpVtbl->FindRange(This,ec,pRange,ppRange,aPos); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfProperty_SetValueStore(ITfProperty* This,TfEditCookie ec,ITfRange *pRange,ITfPropertyStore *pPropStore) { | 
|  | return This->lpVtbl->SetValueStore(This,ec,pRange,pPropStore); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfProperty_SetValue(ITfProperty* This,TfEditCookie ec,ITfRange *pRange,const VARIANT *pvarValue) { | 
|  | return This->lpVtbl->SetValue(This,ec,pRange,pvarValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfProperty_Clear(ITfProperty* This,TfEditCookie ec,ITfRange *pRange) { | 
|  | return This->lpVtbl->Clear(This,ec,pRange); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfProperty_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfCompartment interface | 
|  | */ | 
|  | #ifndef __ITfCompartment_INTERFACE_DEFINED__ | 
|  | #define __ITfCompartment_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfCompartment, 0xbb08f7a9, 0x607a, 0x4384, 0x86,0x23, 0x05,0x68,0x92,0xb6,0x43,0x71); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("bb08f7a9-607a-4384-8623-056892b64371") | 
|  | ITfCompartment : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE SetValue( | 
|  | TfClientId tid, | 
|  | const VARIANT *pvarValue) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetValue( | 
|  | VARIANT *pvarValue) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfCompartment, 0xbb08f7a9, 0x607a, 0x4384, 0x86,0x23, 0x05,0x68,0x92,0xb6,0x43,0x71) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfCompartmentVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfCompartment *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfCompartment *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfCompartment *This); | 
|  |  | 
|  | /*** ITfCompartment methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *SetValue)( | 
|  | ITfCompartment *This, | 
|  | TfClientId tid, | 
|  | const VARIANT *pvarValue); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetValue)( | 
|  | ITfCompartment *This, | 
|  | VARIANT *pvarValue); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfCompartmentVtbl; | 
|  |  | 
|  | interface ITfCompartment { | 
|  | CONST_VTBL ITfCompartmentVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfCompartment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfCompartment_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfCompartment_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfCompartment methods ***/ | 
|  | #define ITfCompartment_SetValue(This,tid,pvarValue) (This)->lpVtbl->SetValue(This,tid,pvarValue) | 
|  | #define ITfCompartment_GetValue(This,pvarValue) (This)->lpVtbl->GetValue(This,pvarValue) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfCompartment_QueryInterface(ITfCompartment* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfCompartment_AddRef(ITfCompartment* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfCompartment_Release(ITfCompartment* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfCompartment methods ***/ | 
|  | static FORCEINLINE HRESULT ITfCompartment_SetValue(ITfCompartment* This,TfClientId tid,const VARIANT *pvarValue) { | 
|  | return This->lpVtbl->SetValue(This,tid,pvarValue); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCompartment_GetValue(ITfCompartment* This,VARIANT *pvarValue) { | 
|  | return This->lpVtbl->GetValue(This,pvarValue); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfCompartment_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfCompartmentMgr interface | 
|  | */ | 
|  | #ifndef __ITfCompartmentMgr_INTERFACE_DEFINED__ | 
|  | #define __ITfCompartmentMgr_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfCompartmentMgr, 0x7dcf57ac, 0x18ad, 0x438b, 0x82,0x4d, 0x97,0x9b,0xff,0xb7,0x4b,0x7c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("7dcf57ac-18ad-438b-824d-979bffb74b7c") | 
|  | ITfCompartmentMgr : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCompartment( | 
|  | REFGUID rguid, | 
|  | ITfCompartment **ppcomp) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE ClearCompartment( | 
|  | TfClientId tid, | 
|  | REFGUID rguid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumCompartments( | 
|  | IEnumGUID **ppEnum) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfCompartmentMgr, 0x7dcf57ac, 0x18ad, 0x438b, 0x82,0x4d, 0x97,0x9b,0xff,0xb7,0x4b,0x7c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfCompartmentMgrVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfCompartmentMgr *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfCompartmentMgr *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfCompartmentMgr *This); | 
|  |  | 
|  | /*** ITfCompartmentMgr methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetCompartment)( | 
|  | ITfCompartmentMgr *This, | 
|  | REFGUID rguid, | 
|  | ITfCompartment **ppcomp); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *ClearCompartment)( | 
|  | ITfCompartmentMgr *This, | 
|  | TfClientId tid, | 
|  | REFGUID rguid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumCompartments)( | 
|  | ITfCompartmentMgr *This, | 
|  | IEnumGUID **ppEnum); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfCompartmentMgrVtbl; | 
|  |  | 
|  | interface ITfCompartmentMgr { | 
|  | CONST_VTBL ITfCompartmentMgrVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfCompartmentMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfCompartmentMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfCompartmentMgr_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfCompartmentMgr methods ***/ | 
|  | #define ITfCompartmentMgr_GetCompartment(This,rguid,ppcomp) (This)->lpVtbl->GetCompartment(This,rguid,ppcomp) | 
|  | #define ITfCompartmentMgr_ClearCompartment(This,tid,rguid) (This)->lpVtbl->ClearCompartment(This,tid,rguid) | 
|  | #define ITfCompartmentMgr_EnumCompartments(This,ppEnum) (This)->lpVtbl->EnumCompartments(This,ppEnum) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfCompartmentMgr_QueryInterface(ITfCompartmentMgr* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfCompartmentMgr_AddRef(ITfCompartmentMgr* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfCompartmentMgr_Release(ITfCompartmentMgr* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfCompartmentMgr methods ***/ | 
|  | static FORCEINLINE HRESULT ITfCompartmentMgr_GetCompartment(ITfCompartmentMgr* This,REFGUID rguid,ITfCompartment **ppcomp) { | 
|  | return This->lpVtbl->GetCompartment(This,rguid,ppcomp); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCompartmentMgr_ClearCompartment(ITfCompartmentMgr* This,TfClientId tid,REFGUID rguid) { | 
|  | return This->lpVtbl->ClearCompartment(This,tid,rguid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfCompartmentMgr_EnumCompartments(ITfCompartmentMgr* This,IEnumGUID **ppEnum) { | 
|  | return This->lpVtbl->EnumCompartments(This,ppEnum); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfCompartmentMgr_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfCompartmentEventSink interface | 
|  | */ | 
|  | #ifndef __ITfCompartmentEventSink_INTERFACE_DEFINED__ | 
|  | #define __ITfCompartmentEventSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfCompartmentEventSink, 0x743abd5f, 0xf26d, 0x48df, 0x8c,0xc5, 0x23,0x84,0x92,0x41,0x9b,0x64); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("743abd5f-f26d-48df-8cc5-238492419b64") | 
|  | ITfCompartmentEventSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnChange( | 
|  | REFGUID rguid) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfCompartmentEventSink, 0x743abd5f, 0xf26d, 0x48df, 0x8c,0xc5, 0x23,0x84,0x92,0x41,0x9b,0x64) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfCompartmentEventSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfCompartmentEventSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfCompartmentEventSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfCompartmentEventSink *This); | 
|  |  | 
|  | /*** ITfCompartmentEventSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnChange)( | 
|  | ITfCompartmentEventSink *This, | 
|  | REFGUID rguid); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfCompartmentEventSinkVtbl; | 
|  |  | 
|  | interface ITfCompartmentEventSink { | 
|  | CONST_VTBL ITfCompartmentEventSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfCompartmentEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfCompartmentEventSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfCompartmentEventSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfCompartmentEventSink methods ***/ | 
|  | #define ITfCompartmentEventSink_OnChange(This,rguid) (This)->lpVtbl->OnChange(This,rguid) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfCompartmentEventSink_QueryInterface(ITfCompartmentEventSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfCompartmentEventSink_AddRef(ITfCompartmentEventSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfCompartmentEventSink_Release(ITfCompartmentEventSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfCompartmentEventSink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfCompartmentEventSink_OnChange(ITfCompartmentEventSink* This,REFGUID rguid) { | 
|  | return This->lpVtbl->OnChange(This,rguid); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfCompartmentEventSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumTfContexts interface | 
|  | */ | 
|  | #ifndef __IEnumTfContexts_INTERFACE_DEFINED__ | 
|  | #define __IEnumTfContexts_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumTfContexts, 0x8f1a7ea6, 0x1654, 0x4502, 0xa8,0x6e, 0xb2,0x90,0x23,0x44,0xd5,0x07); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("8f1a7ea6-1654-4502-a86e-b2902344d507") | 
|  | IEnumTfContexts : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumTfContexts **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG ulCount, | 
|  | ITfContext **rgContext, | 
|  | ULONG *pcFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG ulCount) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumTfContexts, 0x8f1a7ea6, 0x1654, 0x4502, 0xa8,0x6e, 0xb2,0x90,0x23,0x44,0xd5,0x07) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumTfContextsVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumTfContexts *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumTfContexts *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumTfContexts *This); | 
|  |  | 
|  | /*** IEnumTfContexts methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumTfContexts *This, | 
|  | IEnumTfContexts **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumTfContexts *This, | 
|  | ULONG ulCount, | 
|  | ITfContext **rgContext, | 
|  | ULONG *pcFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumTfContexts *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumTfContexts *This, | 
|  | ULONG ulCount); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumTfContextsVtbl; | 
|  |  | 
|  | interface IEnumTfContexts { | 
|  | CONST_VTBL IEnumTfContextsVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumTfContexts_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumTfContexts_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumTfContexts_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumTfContexts methods ***/ | 
|  | #define IEnumTfContexts_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #define IEnumTfContexts_Next(This,ulCount,rgContext,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgContext,pcFetched) | 
|  | #define IEnumTfContexts_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumTfContexts_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfContexts_QueryInterface(IEnumTfContexts* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfContexts_AddRef(IEnumTfContexts* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfContexts_Release(IEnumTfContexts* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumTfContexts methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfContexts_Clone(IEnumTfContexts* This,IEnumTfContexts **ppEnum) { | 
|  | return This->lpVtbl->Clone(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfContexts_Next(IEnumTfContexts* This,ULONG ulCount,ITfContext **rgContext,ULONG *pcFetched) { | 
|  | return This->lpVtbl->Next(This,ulCount,rgContext,pcFetched); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfContexts_Reset(IEnumTfContexts* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfContexts_Skip(IEnumTfContexts* This,ULONG ulCount) { | 
|  | return This->lpVtbl->Skip(This,ulCount); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumTfContexts_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumTfDocumentMgrs interface | 
|  | */ | 
|  | #ifndef __IEnumTfDocumentMgrs_INTERFACE_DEFINED__ | 
|  | #define __IEnumTfDocumentMgrs_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumTfDocumentMgrs, 0xaa80e808, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("aa80e808-2021-11d2-93e0-0060b067b86e") | 
|  | IEnumTfDocumentMgrs : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumTfDocumentMgrs **ppEnum) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG ulCount, | 
|  | ITfDocumentMgr **rgDocumentMgr, | 
|  | ULONG *pcFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG ulCount) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumTfDocumentMgrs, 0xaa80e808, 0x2021, 0x11d2, 0x93,0xe0, 0x00,0x60,0xb0,0x67,0xb8,0x6e) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumTfDocumentMgrsVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumTfDocumentMgrs *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumTfDocumentMgrs *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumTfDocumentMgrs *This); | 
|  |  | 
|  | /*** IEnumTfDocumentMgrs methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumTfDocumentMgrs *This, | 
|  | IEnumTfDocumentMgrs **ppEnum); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumTfDocumentMgrs *This, | 
|  | ULONG ulCount, | 
|  | ITfDocumentMgr **rgDocumentMgr, | 
|  | ULONG *pcFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumTfDocumentMgrs *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumTfDocumentMgrs *This, | 
|  | ULONG ulCount); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumTfDocumentMgrsVtbl; | 
|  |  | 
|  | interface IEnumTfDocumentMgrs { | 
|  | CONST_VTBL IEnumTfDocumentMgrsVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumTfDocumentMgrs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumTfDocumentMgrs_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumTfDocumentMgrs_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumTfDocumentMgrs methods ***/ | 
|  | #define IEnumTfDocumentMgrs_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) | 
|  | #define IEnumTfDocumentMgrs_Next(This,ulCount,rgDocumentMgr,pcFetched) (This)->lpVtbl->Next(This,ulCount,rgDocumentMgr,pcFetched) | 
|  | #define IEnumTfDocumentMgrs_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumTfDocumentMgrs_Skip(This,ulCount) (This)->lpVtbl->Skip(This,ulCount) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfDocumentMgrs_QueryInterface(IEnumTfDocumentMgrs* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfDocumentMgrs_AddRef(IEnumTfDocumentMgrs* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfDocumentMgrs_Release(IEnumTfDocumentMgrs* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumTfDocumentMgrs methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfDocumentMgrs_Clone(IEnumTfDocumentMgrs* This,IEnumTfDocumentMgrs **ppEnum) { | 
|  | return This->lpVtbl->Clone(This,ppEnum); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfDocumentMgrs_Next(IEnumTfDocumentMgrs* This,ULONG ulCount,ITfDocumentMgr **rgDocumentMgr,ULONG *pcFetched) { | 
|  | return This->lpVtbl->Next(This,ulCount,rgDocumentMgr,pcFetched); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfDocumentMgrs_Reset(IEnumTfDocumentMgrs* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfDocumentMgrs_Skip(IEnumTfDocumentMgrs* This,ULONG ulCount) { | 
|  | return This->lpVtbl->Skip(This,ulCount); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumTfDocumentMgrs_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfUIElement interface | 
|  | */ | 
|  | #ifndef __ITfUIElement_INTERFACE_DEFINED__ | 
|  | #define __ITfUIElement_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfUIElement, 0xea1ea137, 0x19df, 0x11d7, 0xa6,0xd2, 0x00,0x06,0x5b,0x84,0x43,0x5c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("ea1ea137-19df-11d7-a6d2-00065b84435c") | 
|  | ITfUIElement : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE GetDescription( | 
|  | BSTR *description) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetGUID( | 
|  | GUID *guid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Show( | 
|  | WINBOOL show) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsShown( | 
|  | WINBOOL *show) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfUIElement, 0xea1ea137, 0x19df, 0x11d7, 0xa6,0xd2, 0x00,0x06,0x5b,0x84,0x43,0x5c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfUIElementVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfUIElement *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfUIElement *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfUIElement *This); | 
|  |  | 
|  | /*** ITfUIElement methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *GetDescription)( | 
|  | ITfUIElement *This, | 
|  | BSTR *description); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetGUID)( | 
|  | ITfUIElement *This, | 
|  | GUID *guid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Show)( | 
|  | ITfUIElement *This, | 
|  | WINBOOL show); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsShown)( | 
|  | ITfUIElement *This, | 
|  | WINBOOL *show); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfUIElementVtbl; | 
|  |  | 
|  | interface ITfUIElement { | 
|  | CONST_VTBL ITfUIElementVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfUIElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfUIElement_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfUIElement_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfUIElement methods ***/ | 
|  | #define ITfUIElement_GetDescription(This,description) (This)->lpVtbl->GetDescription(This,description) | 
|  | #define ITfUIElement_GetGUID(This,guid) (This)->lpVtbl->GetGUID(This,guid) | 
|  | #define ITfUIElement_Show(This,show) (This)->lpVtbl->Show(This,show) | 
|  | #define ITfUIElement_IsShown(This,show) (This)->lpVtbl->IsShown(This,show) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfUIElement_QueryInterface(ITfUIElement* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfUIElement_AddRef(ITfUIElement* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfUIElement_Release(ITfUIElement* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfUIElement methods ***/ | 
|  | static FORCEINLINE HRESULT ITfUIElement_GetDescription(ITfUIElement* This,BSTR *description) { | 
|  | return This->lpVtbl->GetDescription(This,description); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfUIElement_GetGUID(ITfUIElement* This,GUID *guid) { | 
|  | return This->lpVtbl->GetGUID(This,guid); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfUIElement_Show(ITfUIElement* This,WINBOOL show) { | 
|  | return This->lpVtbl->Show(This,show); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfUIElement_IsShown(ITfUIElement* This,WINBOOL *show) { | 
|  | return This->lpVtbl->IsShown(This,show); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfUIElement_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumTfUIElements interface | 
|  | */ | 
|  | #ifndef __IEnumTfUIElements_INTERFACE_DEFINED__ | 
|  | #define __IEnumTfUIElements_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumTfUIElements, 0x887aa91e, 0xacba, 0x4931, 0x84,0xda, 0x3c,0x52,0x08,0xcf,0x54,0x3f); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("887aa91e-acba-4931-84da-3c5208cf543f") | 
|  | IEnumTfUIElements : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumTfUIElements **enum_elements) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG count, | 
|  | ITfUIElement **element, | 
|  | ULONG fetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG count) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(IEnumTfUIElements, 0x887aa91e, 0xacba, 0x4931, 0x84,0xda, 0x3c,0x52,0x08,0xcf,0x54,0x3f) | 
|  | #endif | 
|  | #else | 
|  | typedef struct IEnumTfUIElementsVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumTfUIElements *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumTfUIElements *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumTfUIElements *This); | 
|  |  | 
|  | /*** IEnumTfUIElements methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumTfUIElements *This, | 
|  | IEnumTfUIElements **enum_elements); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumTfUIElements *This, | 
|  | ULONG count, | 
|  | ITfUIElement **element, | 
|  | ULONG fetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumTfUIElements *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumTfUIElements *This, | 
|  | ULONG count); | 
|  |  | 
|  | END_INTERFACE | 
|  | } IEnumTfUIElementsVtbl; | 
|  |  | 
|  | interface IEnumTfUIElements { | 
|  | CONST_VTBL IEnumTfUIElementsVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumTfUIElements_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define IEnumTfUIElements_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define IEnumTfUIElements_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** IEnumTfUIElements methods ***/ | 
|  | #define IEnumTfUIElements_Clone(This,enum_elements) (This)->lpVtbl->Clone(This,enum_elements) | 
|  | #define IEnumTfUIElements_Next(This,count,element,fetched) (This)->lpVtbl->Next(This,count,element,fetched) | 
|  | #define IEnumTfUIElements_Reset(This) (This)->lpVtbl->Reset(This) | 
|  | #define IEnumTfUIElements_Skip(This,count) (This)->lpVtbl->Skip(This,count) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfUIElements_QueryInterface(IEnumTfUIElements* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfUIElements_AddRef(IEnumTfUIElements* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG IEnumTfUIElements_Release(IEnumTfUIElements* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** IEnumTfUIElements methods ***/ | 
|  | static FORCEINLINE HRESULT IEnumTfUIElements_Clone(IEnumTfUIElements* This,IEnumTfUIElements **enum_elements) { | 
|  | return This->lpVtbl->Clone(This,enum_elements); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfUIElements_Next(IEnumTfUIElements* This,ULONG count,ITfUIElement **element,ULONG fetched) { | 
|  | return This->lpVtbl->Next(This,count,element,fetched); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfUIElements_Reset(IEnumTfUIElements* This) { | 
|  | return This->lpVtbl->Reset(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT IEnumTfUIElements_Skip(IEnumTfUIElements* This,ULONG count) { | 
|  | return This->lpVtbl->Skip(This,count); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __IEnumTfUIElements_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfUIElementMgr interface | 
|  | */ | 
|  | #ifndef __ITfUIElementMgr_INTERFACE_DEFINED__ | 
|  | #define __ITfUIElementMgr_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfUIElementMgr, 0xea1ea135, 0x19df, 0x11d7, 0xa6,0xd2, 0x00,0x06,0x5b,0x84,0x43,0x5c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("ea1ea135-19df-11d7-a6d2-00065b84435c") | 
|  | ITfUIElementMgr : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE BeginUIElement( | 
|  | ITfUIElement *element, | 
|  | WINBOOL *show, | 
|  | DWORD *id) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UpdateUIElement( | 
|  | DWORD id) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EndUIElement( | 
|  | DWORD id) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetUIElement( | 
|  | DWORD id, | 
|  | ITfUIElement **element) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumUIElements( | 
|  | IEnumTfUIElements **enum_elements) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfUIElementMgr, 0xea1ea135, 0x19df, 0x11d7, 0xa6,0xd2, 0x00,0x06,0x5b,0x84,0x43,0x5c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfUIElementMgrVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfUIElementMgr *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfUIElementMgr *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfUIElementMgr *This); | 
|  |  | 
|  | /*** ITfUIElementMgr methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *BeginUIElement)( | 
|  | ITfUIElementMgr *This, | 
|  | ITfUIElement *element, | 
|  | WINBOOL *show, | 
|  | DWORD *id); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UpdateUIElement)( | 
|  | ITfUIElementMgr *This, | 
|  | DWORD id); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EndUIElement)( | 
|  | ITfUIElementMgr *This, | 
|  | DWORD id); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetUIElement)( | 
|  | ITfUIElementMgr *This, | 
|  | DWORD id, | 
|  | ITfUIElement **element); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumUIElements)( | 
|  | ITfUIElementMgr *This, | 
|  | IEnumTfUIElements **enum_elements); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfUIElementMgrVtbl; | 
|  |  | 
|  | interface ITfUIElementMgr { | 
|  | CONST_VTBL ITfUIElementMgrVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfUIElementMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfUIElementMgr_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfUIElementMgr_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfUIElementMgr methods ***/ | 
|  | #define ITfUIElementMgr_BeginUIElement(This,element,show,id) (This)->lpVtbl->BeginUIElement(This,element,show,id) | 
|  | #define ITfUIElementMgr_UpdateUIElement(This,id) (This)->lpVtbl->UpdateUIElement(This,id) | 
|  | #define ITfUIElementMgr_EndUIElement(This,id) (This)->lpVtbl->EndUIElement(This,id) | 
|  | #define ITfUIElementMgr_GetUIElement(This,id,element) (This)->lpVtbl->GetUIElement(This,id,element) | 
|  | #define ITfUIElementMgr_EnumUIElements(This,enum_elements) (This)->lpVtbl->EnumUIElements(This,enum_elements) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfUIElementMgr_QueryInterface(ITfUIElementMgr* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfUIElementMgr_AddRef(ITfUIElementMgr* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfUIElementMgr_Release(ITfUIElementMgr* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfUIElementMgr methods ***/ | 
|  | static FORCEINLINE HRESULT ITfUIElementMgr_BeginUIElement(ITfUIElementMgr* This,ITfUIElement *element,WINBOOL *show,DWORD *id) { | 
|  | return This->lpVtbl->BeginUIElement(This,element,show,id); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfUIElementMgr_UpdateUIElement(ITfUIElementMgr* This,DWORD id) { | 
|  | return This->lpVtbl->UpdateUIElement(This,id); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfUIElementMgr_EndUIElement(ITfUIElementMgr* This,DWORD id) { | 
|  | return This->lpVtbl->EndUIElement(This,id); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfUIElementMgr_GetUIElement(ITfUIElementMgr* This,DWORD id,ITfUIElement **element) { | 
|  | return This->lpVtbl->GetUIElement(This,id,element); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfUIElementMgr_EnumUIElements(ITfUIElementMgr* This,IEnumTfUIElements **enum_elements) { | 
|  | return This->lpVtbl->EnumUIElements(This,enum_elements); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfUIElementMgr_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfSourceSingle interface | 
|  | */ | 
|  | #ifndef __ITfSourceSingle_INTERFACE_DEFINED__ | 
|  | #define __ITfSourceSingle_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfSourceSingle, 0x73131f9c, 0x56a9, 0x49dd, 0xb0,0xee, 0xd0,0x46,0x63,0x3f,0x75,0x28); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("73131f9c-56a9-49dd-b0ee-d046633f7528") | 
|  | ITfSourceSingle : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE AdviseSingleSink( | 
|  | TfClientId tid, | 
|  | REFIID riid, | 
|  | IUnknown *punk) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnadviseSingleSink( | 
|  | TfClientId tid, | 
|  | REFIID riid) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfSourceSingle, 0x73131f9c, 0x56a9, 0x49dd, 0xb0,0xee, 0xd0,0x46,0x63,0x3f,0x75,0x28) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfSourceSingleVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfSourceSingle *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfSourceSingle *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfSourceSingle *This); | 
|  |  | 
|  | /*** ITfSourceSingle methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *AdviseSingleSink)( | 
|  | ITfSourceSingle *This, | 
|  | TfClientId tid, | 
|  | REFIID riid, | 
|  | IUnknown *punk); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnadviseSingleSink)( | 
|  | ITfSourceSingle *This, | 
|  | TfClientId tid, | 
|  | REFIID riid); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfSourceSingleVtbl; | 
|  |  | 
|  | interface ITfSourceSingle { | 
|  | CONST_VTBL ITfSourceSingleVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfSourceSingle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfSourceSingle_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfSourceSingle_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfSourceSingle methods ***/ | 
|  | #define ITfSourceSingle_AdviseSingleSink(This,tid,riid,punk) (This)->lpVtbl->AdviseSingleSink(This,tid,riid,punk) | 
|  | #define ITfSourceSingle_UnadviseSingleSink(This,tid,riid) (This)->lpVtbl->UnadviseSingleSink(This,tid,riid) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfSourceSingle_QueryInterface(ITfSourceSingle* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfSourceSingle_AddRef(ITfSourceSingle* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfSourceSingle_Release(ITfSourceSingle* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfSourceSingle methods ***/ | 
|  | static FORCEINLINE HRESULT ITfSourceSingle_AdviseSingleSink(ITfSourceSingle* This,TfClientId tid,REFIID riid,IUnknown *punk) { | 
|  | return This->lpVtbl->AdviseSingleSink(This,tid,riid,punk); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfSourceSingle_UnadviseSingleSink(ITfSourceSingle* This,TfClientId tid,REFIID riid) { | 
|  | return This->lpVtbl->UnadviseSingleSink(This,tid,riid); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfSourceSingle_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfThreadFocusSink interface | 
|  | */ | 
|  | #ifndef __ITfThreadFocusSink_INTERFACE_DEFINED__ | 
|  | #define __ITfThreadFocusSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfThreadFocusSink, 0xc0f1db0c, 0x3a20, 0x405c, 0xa3,0x03, 0x96,0xb6,0x01,0x0a,0x88,0x5f); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("c0f1db0c-3a20-405c-a303-96b6010a885f") | 
|  | ITfThreadFocusSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnSetThreadFocus( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE OnKillThreadFocus( | 
|  | ) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfThreadFocusSink, 0xc0f1db0c, 0x3a20, 0x405c, 0xa3,0x03, 0x96,0xb6,0x01,0x0a,0x88,0x5f) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfThreadFocusSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfThreadFocusSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfThreadFocusSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfThreadFocusSink *This); | 
|  |  | 
|  | /*** ITfThreadFocusSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnSetThreadFocus)( | 
|  | ITfThreadFocusSink *This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *OnKillThreadFocus)( | 
|  | ITfThreadFocusSink *This); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfThreadFocusSinkVtbl; | 
|  |  | 
|  | interface ITfThreadFocusSink { | 
|  | CONST_VTBL ITfThreadFocusSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfThreadFocusSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfThreadFocusSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfThreadFocusSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfThreadFocusSink methods ***/ | 
|  | #define ITfThreadFocusSink_OnSetThreadFocus(This) (This)->lpVtbl->OnSetThreadFocus(This) | 
|  | #define ITfThreadFocusSink_OnKillThreadFocus(This) (This)->lpVtbl->OnKillThreadFocus(This) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfThreadFocusSink_QueryInterface(ITfThreadFocusSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfThreadFocusSink_AddRef(ITfThreadFocusSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfThreadFocusSink_Release(ITfThreadFocusSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfThreadFocusSink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfThreadFocusSink_OnSetThreadFocus(ITfThreadFocusSink* This) { | 
|  | return This->lpVtbl->OnSetThreadFocus(This); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfThreadFocusSink_OnKillThreadFocus(ITfThreadFocusSink* This) { | 
|  | return This->lpVtbl->OnKillThreadFocus(This); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfThreadFocusSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfInputProcessorProfileActivationSink interface | 
|  | */ | 
|  | #ifndef __ITfInputProcessorProfileActivationSink_INTERFACE_DEFINED__ | 
|  | #define __ITfInputProcessorProfileActivationSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfInputProcessorProfileActivationSink, 0x71c6e74e, 0x0f28, 0x11d8, 0xa8,0x2a, 0x00,0x06,0x5b,0x84,0x43,0x5c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("71c6e74e-0f28-11d8-a82a-00065b84435c") | 
|  | ITfInputProcessorProfileActivationSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnActivated( | 
|  | DWORD dwProfileType, | 
|  | LANGID langid, | 
|  | REFCLSID clsid, | 
|  | REFGUID catid, | 
|  | REFGUID guidProfile, | 
|  | HKL hkl, | 
|  | DWORD dwFlags) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfInputProcessorProfileActivationSink, 0x71c6e74e, 0x0f28, 0x11d8, 0xa8,0x2a, 0x00,0x06,0x5b,0x84,0x43,0x5c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfInputProcessorProfileActivationSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfInputProcessorProfileActivationSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfInputProcessorProfileActivationSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfInputProcessorProfileActivationSink *This); | 
|  |  | 
|  | /*** ITfInputProcessorProfileActivationSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnActivated)( | 
|  | ITfInputProcessorProfileActivationSink *This, | 
|  | DWORD dwProfileType, | 
|  | LANGID langid, | 
|  | REFCLSID clsid, | 
|  | REFGUID catid, | 
|  | REFGUID guidProfile, | 
|  | HKL hkl, | 
|  | DWORD dwFlags); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfInputProcessorProfileActivationSinkVtbl; | 
|  |  | 
|  | interface ITfInputProcessorProfileActivationSink { | 
|  | CONST_VTBL ITfInputProcessorProfileActivationSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfInputProcessorProfileActivationSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfInputProcessorProfileActivationSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfInputProcessorProfileActivationSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfInputProcessorProfileActivationSink methods ***/ | 
|  | #define ITfInputProcessorProfileActivationSink_OnActivated(This,dwProfileType,langid,clsid,catid,guidProfile,hkl,dwFlags) (This)->lpVtbl->OnActivated(This,dwProfileType,langid,clsid,catid,guidProfile,hkl,dwFlags) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfileActivationSink_QueryInterface(ITfInputProcessorProfileActivationSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfInputProcessorProfileActivationSink_AddRef(ITfInputProcessorProfileActivationSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfInputProcessorProfileActivationSink_Release(ITfInputProcessorProfileActivationSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfInputProcessorProfileActivationSink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfInputProcessorProfileActivationSink_OnActivated(ITfInputProcessorProfileActivationSink* This,DWORD dwProfileType,LANGID langid,REFCLSID clsid,REFGUID catid,REFGUID guidProfile,HKL hkl,DWORD dwFlags) { | 
|  | return This->lpVtbl->OnActivated(This,dwProfileType,langid,clsid,catid,guidProfile,hkl,dwFlags); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfInputProcessorProfileActivationSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfMouseSink interface | 
|  | */ | 
|  | #ifndef __ITfMouseSink_INTERFACE_DEFINED__ | 
|  | #define __ITfMouseSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfMouseSink, 0xa1adaaa2, 0x3a24, 0x449d, 0xac,0x96, 0x51,0x83,0xe7,0xf5,0xc2,0x17); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("a1adaaa2-3a24-449d-ac96-5183e7f5c217") | 
|  | ITfMouseSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnMouseEvent( | 
|  | ULONG uEdge, | 
|  | ULONG uQuadrant, | 
|  | DWORD dwBtnStatus, | 
|  | WINBOOL *pfEaten) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfMouseSink, 0xa1adaaa2, 0x3a24, 0x449d, 0xac,0x96, 0x51,0x83,0xe7,0xf5,0xc2,0x17) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfMouseSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfMouseSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfMouseSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfMouseSink *This); | 
|  |  | 
|  | /*** ITfMouseSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnMouseEvent)( | 
|  | ITfMouseSink *This, | 
|  | ULONG uEdge, | 
|  | ULONG uQuadrant, | 
|  | DWORD dwBtnStatus, | 
|  | WINBOOL *pfEaten); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfMouseSinkVtbl; | 
|  |  | 
|  | interface ITfMouseSink { | 
|  | CONST_VTBL ITfMouseSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfMouseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfMouseSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfMouseSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfMouseSink methods ***/ | 
|  | #define ITfMouseSink_OnMouseEvent(This,uEdge,uQuadrant,dwBtnStatus,pfEaten) (This)->lpVtbl->OnMouseEvent(This,uEdge,uQuadrant,dwBtnStatus,pfEaten) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfMouseSink_QueryInterface(ITfMouseSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfMouseSink_AddRef(ITfMouseSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfMouseSink_Release(ITfMouseSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfMouseSink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfMouseSink_OnMouseEvent(ITfMouseSink* This,ULONG uEdge,ULONG uQuadrant,DWORD dwBtnStatus,WINBOOL *pfEaten) { | 
|  | return This->lpVtbl->OnMouseEvent(This,uEdge,uQuadrant,dwBtnStatus,pfEaten); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfMouseSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfMouseTracker interface | 
|  | */ | 
|  | #ifndef __ITfMouseTracker_INTERFACE_DEFINED__ | 
|  | #define __ITfMouseTracker_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfMouseTracker, 0x09d146cd, 0xa544, 0x4132, 0x92,0x5b, 0x7a,0xfa,0x8e,0xf3,0x22,0xd0); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("09d146cd-a544-4132-925b-7afa8ef322d0") | 
|  | ITfMouseTracker : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE AdviseMouseSink( | 
|  | ITfRange *range, | 
|  | ITfMouseSink *pSink, | 
|  | DWORD *pdwCookie) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnadviseMouseSink( | 
|  | DWORD dwCookie) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfMouseTracker, 0x09d146cd, 0xa544, 0x4132, 0x92,0x5b, 0x7a,0xfa,0x8e,0xf3,0x22,0xd0) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfMouseTrackerVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfMouseTracker *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfMouseTracker *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfMouseTracker *This); | 
|  |  | 
|  | /*** ITfMouseTracker methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *AdviseMouseSink)( | 
|  | ITfMouseTracker *This, | 
|  | ITfRange *range, | 
|  | ITfMouseSink *pSink, | 
|  | DWORD *pdwCookie); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnadviseMouseSink)( | 
|  | ITfMouseTracker *This, | 
|  | DWORD dwCookie); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfMouseTrackerVtbl; | 
|  |  | 
|  | interface ITfMouseTracker { | 
|  | CONST_VTBL ITfMouseTrackerVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfMouseTracker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfMouseTracker_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfMouseTracker_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfMouseTracker methods ***/ | 
|  | #define ITfMouseTracker_AdviseMouseSink(This,range,pSink,pdwCookie) (This)->lpVtbl->AdviseMouseSink(This,range,pSink,pdwCookie) | 
|  | #define ITfMouseTracker_UnadviseMouseSink(This,dwCookie) (This)->lpVtbl->UnadviseMouseSink(This,dwCookie) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfMouseTracker_QueryInterface(ITfMouseTracker* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfMouseTracker_AddRef(ITfMouseTracker* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfMouseTracker_Release(ITfMouseTracker* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfMouseTracker methods ***/ | 
|  | static FORCEINLINE HRESULT ITfMouseTracker_AdviseMouseSink(ITfMouseTracker* This,ITfRange *range,ITfMouseSink *pSink,DWORD *pdwCookie) { | 
|  | return This->lpVtbl->AdviseMouseSink(This,range,pSink,pdwCookie); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfMouseTracker_UnadviseMouseSink(ITfMouseTracker* This,DWORD dwCookie) { | 
|  | return This->lpVtbl->UnadviseMouseSink(This,dwCookie); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfMouseTracker_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfMouseTrackerACP interface | 
|  | */ | 
|  | #ifndef __ITfMouseTrackerACP_INTERFACE_DEFINED__ | 
|  | #define __ITfMouseTrackerACP_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfMouseTrackerACP, 0x3bdd78e2, 0xc16e, 0x47fd, 0xb8,0x83, 0xce,0x6f,0xac,0xc1,0xa2,0x08); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("3bdd78e2-c16e-47fd-b883-ce6facc1a208") | 
|  | ITfMouseTrackerACP : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE AdviseMouseSink( | 
|  | ITfRangeACP *range, | 
|  | ITfMouseSink *pSink, | 
|  | DWORD *pdwCookie) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnadviseMouseSink( | 
|  | DWORD dwCookie) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfMouseTrackerACP, 0x3bdd78e2, 0xc16e, 0x47fd, 0xb8,0x83, 0xce,0x6f,0xac,0xc1,0xa2,0x08) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfMouseTrackerACPVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfMouseTrackerACP *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfMouseTrackerACP *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfMouseTrackerACP *This); | 
|  |  | 
|  | /*** ITfMouseTrackerACP methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *AdviseMouseSink)( | 
|  | ITfMouseTrackerACP *This, | 
|  | ITfRangeACP *range, | 
|  | ITfMouseSink *pSink, | 
|  | DWORD *pdwCookie); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnadviseMouseSink)( | 
|  | ITfMouseTrackerACP *This, | 
|  | DWORD dwCookie); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfMouseTrackerACPVtbl; | 
|  |  | 
|  | interface ITfMouseTrackerACP { | 
|  | CONST_VTBL ITfMouseTrackerACPVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfMouseTrackerACP_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfMouseTrackerACP_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfMouseTrackerACP_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfMouseTrackerACP methods ***/ | 
|  | #define ITfMouseTrackerACP_AdviseMouseSink(This,range,pSink,pdwCookie) (This)->lpVtbl->AdviseMouseSink(This,range,pSink,pdwCookie) | 
|  | #define ITfMouseTrackerACP_UnadviseMouseSink(This,dwCookie) (This)->lpVtbl->UnadviseMouseSink(This,dwCookie) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfMouseTrackerACP_QueryInterface(ITfMouseTrackerACP* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfMouseTrackerACP_AddRef(ITfMouseTrackerACP* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfMouseTrackerACP_Release(ITfMouseTrackerACP* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfMouseTrackerACP methods ***/ | 
|  | static FORCEINLINE HRESULT ITfMouseTrackerACP_AdviseMouseSink(ITfMouseTrackerACP* This,ITfRangeACP *range,ITfMouseSink *pSink,DWORD *pdwCookie) { | 
|  | return This->lpVtbl->AdviseMouseSink(This,range,pSink,pdwCookie); | 
|  | } | 
|  | static FORCEINLINE HRESULT ITfMouseTrackerACP_UnadviseMouseSink(ITfMouseTrackerACP* This,DWORD dwCookie) { | 
|  | return This->lpVtbl->UnadviseMouseSink(This,dwCookie); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfMouseTrackerACP_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ITfTransitoryExtensionSink interface | 
|  | */ | 
|  | #ifndef __ITfTransitoryExtensionSink_INTERFACE_DEFINED__ | 
|  | #define __ITfTransitoryExtensionSink_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ITfTransitoryExtensionSink, 0xa615096f, 0x1c57, 0x4813, 0x8a,0x15, 0x55,0xee,0x6e,0x5a,0x83,0x9c); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | MIDL_INTERFACE("a615096f-1c57-4813-8a15-55ee6e5a839c") | 
|  | ITfTransitoryExtensionSink : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE OnTransitoryExtensionUpdated( | 
|  | ITfContext *pic, | 
|  | TfEditCookie ecReadOnly, | 
|  | ITfRange *pResultRange, | 
|  | ITfRange *pCompositionRange, | 
|  | WINBOOL *pfDeleteResultRange) = 0; | 
|  |  | 
|  | }; | 
|  | #ifdef __CRT_UUID_DECL | 
|  | __CRT_UUID_DECL(ITfTransitoryExtensionSink, 0xa615096f, 0x1c57, 0x4813, 0x8a,0x15, 0x55,0xee,0x6e,0x5a,0x83,0x9c) | 
|  | #endif | 
|  | #else | 
|  | typedef struct ITfTransitoryExtensionSinkVtbl { | 
|  | BEGIN_INTERFACE | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ITfTransitoryExtensionSink *This, | 
|  | REFIID riid, | 
|  | void **ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ITfTransitoryExtensionSink *This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ITfTransitoryExtensionSink *This); | 
|  |  | 
|  | /*** ITfTransitoryExtensionSink methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *OnTransitoryExtensionUpdated)( | 
|  | ITfTransitoryExtensionSink *This, | 
|  | ITfContext *pic, | 
|  | TfEditCookie ecReadOnly, | 
|  | ITfRange *pResultRange, | 
|  | ITfRange *pCompositionRange, | 
|  | WINBOOL *pfDeleteResultRange); | 
|  |  | 
|  | END_INTERFACE | 
|  | } ITfTransitoryExtensionSinkVtbl; | 
|  |  | 
|  | interface ITfTransitoryExtensionSink { | 
|  | CONST_VTBL ITfTransitoryExtensionSinkVtbl* lpVtbl; | 
|  | }; | 
|  |  | 
|  | #ifdef COBJMACROS | 
|  | #ifndef WIDL_C_INLINE_WRAPPERS | 
|  | /*** IUnknown methods ***/ | 
|  | #define ITfTransitoryExtensionSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) | 
|  | #define ITfTransitoryExtensionSink_AddRef(This) (This)->lpVtbl->AddRef(This) | 
|  | #define ITfTransitoryExtensionSink_Release(This) (This)->lpVtbl->Release(This) | 
|  | /*** ITfTransitoryExtensionSink methods ***/ | 
|  | #define ITfTransitoryExtensionSink_OnTransitoryExtensionUpdated(This,pic,ecReadOnly,pResultRange,pCompositionRange,pfDeleteResultRange) (This)->lpVtbl->OnTransitoryExtensionUpdated(This,pic,ecReadOnly,pResultRange,pCompositionRange,pfDeleteResultRange) | 
|  | #else | 
|  | /*** IUnknown methods ***/ | 
|  | static FORCEINLINE HRESULT ITfTransitoryExtensionSink_QueryInterface(ITfTransitoryExtensionSink* This,REFIID riid,void **ppvObject) { | 
|  | return This->lpVtbl->QueryInterface(This,riid,ppvObject); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfTransitoryExtensionSink_AddRef(ITfTransitoryExtensionSink* This) { | 
|  | return This->lpVtbl->AddRef(This); | 
|  | } | 
|  | static FORCEINLINE ULONG ITfTransitoryExtensionSink_Release(ITfTransitoryExtensionSink* This) { | 
|  | return This->lpVtbl->Release(This); | 
|  | } | 
|  | /*** ITfTransitoryExtensionSink methods ***/ | 
|  | static FORCEINLINE HRESULT ITfTransitoryExtensionSink_OnTransitoryExtensionUpdated(ITfTransitoryExtensionSink* This,ITfContext *pic,TfEditCookie ecReadOnly,ITfRange *pResultRange,ITfRange *pCompositionRange,WINBOOL *pfDeleteResultRange) { | 
|  | return This->lpVtbl->OnTransitoryExtensionUpdated(This,pic,ecReadOnly,pResultRange,pCompositionRange,pfDeleteResultRange); | 
|  | } | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #endif  /* __ITfTransitoryExtensionSink_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | /* Begin additional prototypes for all interfaces */ | 
|  |  | 
|  | ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *); | 
|  | unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *); | 
|  | unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); | 
|  | void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *); | 
|  | ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *); | 
|  | unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *); | 
|  | unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); | 
|  | void            __RPC_USER HWND_UserFree     (ULONG *, HWND *); | 
|  | ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *); | 
|  | unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *); | 
|  | unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *); | 
|  | void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *); | 
|  |  | 
|  | /* End additional prototypes */ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /* __msctf_h__ */ |