msctf.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:389k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for msctf.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __msctf_h__
  27. #define __msctf_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __ITfThreadMgr_FWD_DEFINED__
  33. #define __ITfThreadMgr_FWD_DEFINED__
  34. typedef interface ITfThreadMgr ITfThreadMgr;
  35. #endif  /* __ITfThreadMgr_FWD_DEFINED__ */
  36. #ifndef __ITfThreadMgrEventSink_FWD_DEFINED__
  37. #define __ITfThreadMgrEventSink_FWD_DEFINED__
  38. typedef interface ITfThreadMgrEventSink ITfThreadMgrEventSink;
  39. #endif  /* __ITfThreadMgrEventSink_FWD_DEFINED__ */
  40. #ifndef __ITfConfigureSystemKeystrokeFeed_FWD_DEFINED__
  41. #define __ITfConfigureSystemKeystrokeFeed_FWD_DEFINED__
  42. typedef interface ITfConfigureSystemKeystrokeFeed ITfConfigureSystemKeystrokeFeed;
  43. #endif  /* __ITfConfigureSystemKeystrokeFeed_FWD_DEFINED__ */
  44. #ifndef __IEnumTfDocumentMgrs_FWD_DEFINED__
  45. #define __IEnumTfDocumentMgrs_FWD_DEFINED__
  46. typedef interface IEnumTfDocumentMgrs IEnumTfDocumentMgrs;
  47. #endif  /* __IEnumTfDocumentMgrs_FWD_DEFINED__ */
  48. #ifndef __ITfDocumentMgr_FWD_DEFINED__
  49. #define __ITfDocumentMgr_FWD_DEFINED__
  50. typedef interface ITfDocumentMgr ITfDocumentMgr;
  51. #endif  /* __ITfDocumentMgr_FWD_DEFINED__ */
  52. #ifndef __IEnumTfContexts_FWD_DEFINED__
  53. #define __IEnumTfContexts_FWD_DEFINED__
  54. typedef interface IEnumTfContexts IEnumTfContexts;
  55. #endif  /* __IEnumTfContexts_FWD_DEFINED__ */
  56. #ifndef __ITfCompositionView_FWD_DEFINED__
  57. #define __ITfCompositionView_FWD_DEFINED__
  58. typedef interface ITfCompositionView ITfCompositionView;
  59. #endif  /* __ITfCompositionView_FWD_DEFINED__ */
  60. #ifndef __IEnumITfCompositionView_FWD_DEFINED__
  61. #define __IEnumITfCompositionView_FWD_DEFINED__
  62. typedef interface IEnumITfCompositionView IEnumITfCompositionView;
  63. #endif  /* __IEnumITfCompositionView_FWD_DEFINED__ */
  64. #ifndef __ITfComposition_FWD_DEFINED__
  65. #define __ITfComposition_FWD_DEFINED__
  66. typedef interface ITfComposition ITfComposition;
  67. #endif  /* __ITfComposition_FWD_DEFINED__ */
  68. #ifndef __ITfCompositionSink_FWD_DEFINED__
  69. #define __ITfCompositionSink_FWD_DEFINED__
  70. typedef interface ITfCompositionSink ITfCompositionSink;
  71. #endif  /* __ITfCompositionSink_FWD_DEFINED__ */
  72. #ifndef __ITfContextComposition_FWD_DEFINED__
  73. #define __ITfContextComposition_FWD_DEFINED__
  74. typedef interface ITfContextComposition ITfContextComposition;
  75. #endif  /* __ITfContextComposition_FWD_DEFINED__ */
  76. #ifndef __ITfContextOwnerCompositionServices_FWD_DEFINED__
  77. #define __ITfContextOwnerCompositionServices_FWD_DEFINED__
  78. typedef interface ITfContextOwnerCompositionServices ITfContextOwnerCompositionServices;
  79. #endif  /* __ITfContextOwnerCompositionServices_FWD_DEFINED__ */
  80. #ifndef __ITfContextOwnerCompositionSink_FWD_DEFINED__
  81. #define __ITfContextOwnerCompositionSink_FWD_DEFINED__
  82. typedef interface ITfContextOwnerCompositionSink ITfContextOwnerCompositionSink;
  83. #endif  /* __ITfContextOwnerCompositionSink_FWD_DEFINED__ */
  84. #ifndef __ITfContextView_FWD_DEFINED__
  85. #define __ITfContextView_FWD_DEFINED__
  86. typedef interface ITfContextView ITfContextView;
  87. #endif  /* __ITfContextView_FWD_DEFINED__ */
  88. #ifndef __IEnumTfContextViews_FWD_DEFINED__
  89. #define __IEnumTfContextViews_FWD_DEFINED__
  90. typedef interface IEnumTfContextViews IEnumTfContextViews;
  91. #endif  /* __IEnumTfContextViews_FWD_DEFINED__ */
  92. #ifndef __ITfContext_FWD_DEFINED__
  93. #define __ITfContext_FWD_DEFINED__
  94. typedef interface ITfContext ITfContext;
  95. #endif  /* __ITfContext_FWD_DEFINED__ */
  96. #ifndef __ITfQueryEmbedded_FWD_DEFINED__
  97. #define __ITfQueryEmbedded_FWD_DEFINED__
  98. typedef interface ITfQueryEmbedded ITfQueryEmbedded;
  99. #endif  /* __ITfQueryEmbedded_FWD_DEFINED__ */
  100. #ifndef __ITfInsertAtSelection_FWD_DEFINED__
  101. #define __ITfInsertAtSelection_FWD_DEFINED__
  102. typedef interface ITfInsertAtSelection ITfInsertAtSelection;
  103. #endif  /* __ITfInsertAtSelection_FWD_DEFINED__ */
  104. #ifndef __ITfCleanupContextSink_FWD_DEFINED__
  105. #define __ITfCleanupContextSink_FWD_DEFINED__
  106. typedef interface ITfCleanupContextSink ITfCleanupContextSink;
  107. #endif  /* __ITfCleanupContextSink_FWD_DEFINED__ */
  108. #ifndef __ITfCleanupContextDurationSink_FWD_DEFINED__
  109. #define __ITfCleanupContextDurationSink_FWD_DEFINED__
  110. typedef interface ITfCleanupContextDurationSink ITfCleanupContextDurationSink;
  111. #endif  /* __ITfCleanupContextDurationSink_FWD_DEFINED__ */
  112. #ifndef __ITfReadOnlyProperty_FWD_DEFINED__
  113. #define __ITfReadOnlyProperty_FWD_DEFINED__
  114. typedef interface ITfReadOnlyProperty ITfReadOnlyProperty;
  115. #endif  /* __ITfReadOnlyProperty_FWD_DEFINED__ */
  116. #ifndef __IEnumTfPropertyValue_FWD_DEFINED__
  117. #define __IEnumTfPropertyValue_FWD_DEFINED__
  118. typedef interface IEnumTfPropertyValue IEnumTfPropertyValue;
  119. #endif  /* __IEnumTfPropertyValue_FWD_DEFINED__ */
  120. #ifndef __ITfMouseTracker_FWD_DEFINED__
  121. #define __ITfMouseTracker_FWD_DEFINED__
  122. typedef interface ITfMouseTracker ITfMouseTracker;
  123. #endif  /* __ITfMouseTracker_FWD_DEFINED__ */
  124. #ifndef __ITfMouseTrackerACP_FWD_DEFINED__
  125. #define __ITfMouseTrackerACP_FWD_DEFINED__
  126. typedef interface ITfMouseTrackerACP ITfMouseTrackerACP;
  127. #endif  /* __ITfMouseTrackerACP_FWD_DEFINED__ */
  128. #ifndef __ITfMouseSink_FWD_DEFINED__
  129. #define __ITfMouseSink_FWD_DEFINED__
  130. typedef interface ITfMouseSink ITfMouseSink;
  131. #endif  /* __ITfMouseSink_FWD_DEFINED__ */
  132. #ifndef __ITfEditRecord_FWD_DEFINED__
  133. #define __ITfEditRecord_FWD_DEFINED__
  134. typedef interface ITfEditRecord ITfEditRecord;
  135. #endif  /* __ITfEditRecord_FWD_DEFINED__ */
  136. #ifndef __ITfTextEditSink_FWD_DEFINED__
  137. #define __ITfTextEditSink_FWD_DEFINED__
  138. typedef interface ITfTextEditSink ITfTextEditSink;
  139. #endif  /* __ITfTextEditSink_FWD_DEFINED__ */
  140. #ifndef __ITfTextLayoutSink_FWD_DEFINED__
  141. #define __ITfTextLayoutSink_FWD_DEFINED__
  142. typedef interface ITfTextLayoutSink ITfTextLayoutSink;
  143. #endif  /* __ITfTextLayoutSink_FWD_DEFINED__ */
  144. #ifndef __ITfStatusSink_FWD_DEFINED__
  145. #define __ITfStatusSink_FWD_DEFINED__
  146. typedef interface ITfStatusSink ITfStatusSink;
  147. #endif  /* __ITfStatusSink_FWD_DEFINED__ */
  148. #ifndef __ITfEditTransactionSink_FWD_DEFINED__
  149. #define __ITfEditTransactionSink_FWD_DEFINED__
  150. typedef interface ITfEditTransactionSink ITfEditTransactionSink;
  151. #endif  /* __ITfEditTransactionSink_FWD_DEFINED__ */
  152. #ifndef __ITfContextOwner_FWD_DEFINED__
  153. #define __ITfContextOwner_FWD_DEFINED__
  154. typedef interface ITfContextOwner ITfContextOwner;
  155. #endif  /* __ITfContextOwner_FWD_DEFINED__ */
  156. #ifndef __ITfContextOwnerServices_FWD_DEFINED__
  157. #define __ITfContextOwnerServices_FWD_DEFINED__
  158. typedef interface ITfContextOwnerServices ITfContextOwnerServices;
  159. #endif  /* __ITfContextOwnerServices_FWD_DEFINED__ */
  160. #ifndef __ITfContextKeyEventSink_FWD_DEFINED__
  161. #define __ITfContextKeyEventSink_FWD_DEFINED__
  162. typedef interface ITfContextKeyEventSink ITfContextKeyEventSink;
  163. #endif  /* __ITfContextKeyEventSink_FWD_DEFINED__ */
  164. #ifndef __ITfEditSession_FWD_DEFINED__
  165. #define __ITfEditSession_FWD_DEFINED__
  166. typedef interface ITfEditSession ITfEditSession;
  167. #endif  /* __ITfEditSession_FWD_DEFINED__ */
  168. #ifndef __ITfRange_FWD_DEFINED__
  169. #define __ITfRange_FWD_DEFINED__
  170. typedef interface ITfRange ITfRange;
  171. #endif  /* __ITfRange_FWD_DEFINED__ */
  172. #ifndef __ITfRangeACP_FWD_DEFINED__
  173. #define __ITfRangeACP_FWD_DEFINED__
  174. typedef interface ITfRangeACP ITfRangeACP;
  175. #endif  /* __ITfRangeACP_FWD_DEFINED__ */
  176. #ifndef __ITextStoreACPServices_FWD_DEFINED__
  177. #define __ITextStoreACPServices_FWD_DEFINED__
  178. typedef interface ITextStoreACPServices ITextStoreACPServices;
  179. #endif  /* __ITextStoreACPServices_FWD_DEFINED__ */
  180. #ifndef __ITfRangeBackup_FWD_DEFINED__
  181. #define __ITfRangeBackup_FWD_DEFINED__
  182. typedef interface ITfRangeBackup ITfRangeBackup;
  183. #endif  /* __ITfRangeBackup_FWD_DEFINED__ */
  184. #ifndef __ITfPropertyStore_FWD_DEFINED__
  185. #define __ITfPropertyStore_FWD_DEFINED__
  186. typedef interface ITfPropertyStore ITfPropertyStore;
  187. #endif  /* __ITfPropertyStore_FWD_DEFINED__ */
  188. #ifndef __IEnumTfRanges_FWD_DEFINED__
  189. #define __IEnumTfRanges_FWD_DEFINED__
  190. typedef interface IEnumTfRanges IEnumTfRanges;
  191. #endif  /* __IEnumTfRanges_FWD_DEFINED__ */
  192. #ifndef __ITfCreatePropertyStore_FWD_DEFINED__
  193. #define __ITfCreatePropertyStore_FWD_DEFINED__
  194. typedef interface ITfCreatePropertyStore ITfCreatePropertyStore;
  195. #endif  /* __ITfCreatePropertyStore_FWD_DEFINED__ */
  196. #ifndef __ITfPersistentPropertyLoaderACP_FWD_DEFINED__
  197. #define __ITfPersistentPropertyLoaderACP_FWD_DEFINED__
  198. typedef interface ITfPersistentPropertyLoaderACP ITfPersistentPropertyLoaderACP;
  199. #endif  /* __ITfPersistentPropertyLoaderACP_FWD_DEFINED__ */
  200. #ifndef __ITfProperty_FWD_DEFINED__
  201. #define __ITfProperty_FWD_DEFINED__
  202. typedef interface ITfProperty ITfProperty;
  203. #endif  /* __ITfProperty_FWD_DEFINED__ */
  204. #ifndef __IEnumTfProperties_FWD_DEFINED__
  205. #define __IEnumTfProperties_FWD_DEFINED__
  206. typedef interface IEnumTfProperties IEnumTfProperties;
  207. #endif  /* __IEnumTfProperties_FWD_DEFINED__ */
  208. #ifndef __ITfCompartment_FWD_DEFINED__
  209. #define __ITfCompartment_FWD_DEFINED__
  210. typedef interface ITfCompartment ITfCompartment;
  211. #endif  /* __ITfCompartment_FWD_DEFINED__ */
  212. #ifndef __ITfCompartmentEventSink_FWD_DEFINED__
  213. #define __ITfCompartmentEventSink_FWD_DEFINED__
  214. typedef interface ITfCompartmentEventSink ITfCompartmentEventSink;
  215. #endif  /* __ITfCompartmentEventSink_FWD_DEFINED__ */
  216. #ifndef __ITfCompartmentMgr_FWD_DEFINED__
  217. #define __ITfCompartmentMgr_FWD_DEFINED__
  218. typedef interface ITfCompartmentMgr ITfCompartmentMgr;
  219. #endif  /* __ITfCompartmentMgr_FWD_DEFINED__ */
  220. #ifndef __ITfFunction_FWD_DEFINED__
  221. #define __ITfFunction_FWD_DEFINED__
  222. typedef interface ITfFunction ITfFunction;
  223. #endif  /* __ITfFunction_FWD_DEFINED__ */
  224. #ifndef __ITfFunctionProvider_FWD_DEFINED__
  225. #define __ITfFunctionProvider_FWD_DEFINED__
  226. typedef interface ITfFunctionProvider ITfFunctionProvider;
  227. #endif  /* __ITfFunctionProvider_FWD_DEFINED__ */
  228. #ifndef __IEnumTfFunctionProviders_FWD_DEFINED__
  229. #define __IEnumTfFunctionProviders_FWD_DEFINED__
  230. typedef interface IEnumTfFunctionProviders IEnumTfFunctionProviders;
  231. #endif  /* __IEnumTfFunctionProviders_FWD_DEFINED__ */
  232. #ifndef __ITfInputProcessorProfiles_FWD_DEFINED__
  233. #define __ITfInputProcessorProfiles_FWD_DEFINED__
  234. typedef interface ITfInputProcessorProfiles ITfInputProcessorProfiles;
  235. #endif  /* __ITfInputProcessorProfiles_FWD_DEFINED__ */
  236. #ifndef __ITfInputProcessorProfilesEx_FWD_DEFINED__
  237. #define __ITfInputProcessorProfilesEx_FWD_DEFINED__
  238. typedef interface ITfInputProcessorProfilesEx ITfInputProcessorProfilesEx;
  239. #endif  /* __ITfInputProcessorProfilesEx_FWD_DEFINED__ */
  240. #ifndef __ITfActiveLanguageProfileNotifySink_FWD_DEFINED__
  241. #define __ITfActiveLanguageProfileNotifySink_FWD_DEFINED__
  242. typedef interface ITfActiveLanguageProfileNotifySink ITfActiveLanguageProfileNotifySink;
  243. #endif  /* __ITfActiveLanguageProfileNotifySink_FWD_DEFINED__ */
  244. #ifndef __IEnumTfLanguageProfiles_FWD_DEFINED__
  245. #define __IEnumTfLanguageProfiles_FWD_DEFINED__
  246. typedef interface IEnumTfLanguageProfiles IEnumTfLanguageProfiles;
  247. #endif  /* __IEnumTfLanguageProfiles_FWD_DEFINED__ */
  248. #ifndef __ITfLanguageProfileNotifySink_FWD_DEFINED__
  249. #define __ITfLanguageProfileNotifySink_FWD_DEFINED__
  250. typedef interface ITfLanguageProfileNotifySink ITfLanguageProfileNotifySink;
  251. #endif  /* __ITfLanguageProfileNotifySink_FWD_DEFINED__ */
  252. #ifndef __ITfKeystrokeMgr_FWD_DEFINED__
  253. #define __ITfKeystrokeMgr_FWD_DEFINED__
  254. typedef interface ITfKeystrokeMgr ITfKeystrokeMgr;
  255. #endif  /* __ITfKeystrokeMgr_FWD_DEFINED__ */
  256. #ifndef __ITfKeyEventSink_FWD_DEFINED__
  257. #define __ITfKeyEventSink_FWD_DEFINED__
  258. typedef interface ITfKeyEventSink ITfKeyEventSink;
  259. #endif  /* __ITfKeyEventSink_FWD_DEFINED__ */
  260. #ifndef __ITfKeyTraceEventSink_FWD_DEFINED__
  261. #define __ITfKeyTraceEventSink_FWD_DEFINED__
  262. typedef interface ITfKeyTraceEventSink ITfKeyTraceEventSink;
  263. #endif  /* __ITfKeyTraceEventSink_FWD_DEFINED__ */
  264. #ifndef __ITfPreservedKeyNotifySink_FWD_DEFINED__
  265. #define __ITfPreservedKeyNotifySink_FWD_DEFINED__
  266. typedef interface ITfPreservedKeyNotifySink ITfPreservedKeyNotifySink;
  267. #endif  /* __ITfPreservedKeyNotifySink_FWD_DEFINED__ */
  268. #ifndef __ITfMessagePump_FWD_DEFINED__
  269. #define __ITfMessagePump_FWD_DEFINED__
  270. typedef interface ITfMessagePump ITfMessagePump;
  271. #endif  /* __ITfMessagePump_FWD_DEFINED__ */
  272. #ifndef __ITfThreadFocusSink_FWD_DEFINED__
  273. #define __ITfThreadFocusSink_FWD_DEFINED__
  274. typedef interface ITfThreadFocusSink ITfThreadFocusSink;
  275. #endif  /* __ITfThreadFocusSink_FWD_DEFINED__ */
  276. #ifndef __ITfTextInputProcessor_FWD_DEFINED__
  277. #define __ITfTextInputProcessor_FWD_DEFINED__
  278. typedef interface ITfTextInputProcessor ITfTextInputProcessor;
  279. #endif  /* __ITfTextInputProcessor_FWD_DEFINED__ */
  280. #ifndef __ITfClientId_FWD_DEFINED__
  281. #define __ITfClientId_FWD_DEFINED__
  282. typedef interface ITfClientId ITfClientId;
  283. #endif  /* __ITfClientId_FWD_DEFINED__ */
  284. #ifndef __ITfDisplayAttributeInfo_FWD_DEFINED__
  285. #define __ITfDisplayAttributeInfo_FWD_DEFINED__
  286. typedef interface ITfDisplayAttributeInfo ITfDisplayAttributeInfo;
  287. #endif  /* __ITfDisplayAttributeInfo_FWD_DEFINED__ */
  288. #ifndef __IEnumTfDisplayAttributeInfo_FWD_DEFINED__
  289. #define __IEnumTfDisplayAttributeInfo_FWD_DEFINED__
  290. typedef interface IEnumTfDisplayAttributeInfo IEnumTfDisplayAttributeInfo;
  291. #endif  /* __IEnumTfDisplayAttributeInfo_FWD_DEFINED__ */
  292. #ifndef __ITfDisplayAttributeProvider_FWD_DEFINED__
  293. #define __ITfDisplayAttributeProvider_FWD_DEFINED__
  294. typedef interface ITfDisplayAttributeProvider ITfDisplayAttributeProvider;
  295. #endif  /* __ITfDisplayAttributeProvider_FWD_DEFINED__ */
  296. #ifndef __ITfDisplayAttributeMgr_FWD_DEFINED__
  297. #define __ITfDisplayAttributeMgr_FWD_DEFINED__
  298. typedef interface ITfDisplayAttributeMgr ITfDisplayAttributeMgr;
  299. #endif  /* __ITfDisplayAttributeMgr_FWD_DEFINED__ */
  300. #ifndef __ITfDisplayAttributeNotifySink_FWD_DEFINED__
  301. #define __ITfDisplayAttributeNotifySink_FWD_DEFINED__
  302. typedef interface ITfDisplayAttributeNotifySink ITfDisplayAttributeNotifySink;
  303. #endif  /* __ITfDisplayAttributeNotifySink_FWD_DEFINED__ */
  304. #ifndef __ITfCategoryMgr_FWD_DEFINED__
  305. #define __ITfCategoryMgr_FWD_DEFINED__
  306. typedef interface ITfCategoryMgr ITfCategoryMgr;
  307. #endif  /* __ITfCategoryMgr_FWD_DEFINED__ */
  308. #ifndef __ITfSource_FWD_DEFINED__
  309. #define __ITfSource_FWD_DEFINED__
  310. typedef interface ITfSource ITfSource;
  311. #endif  /* __ITfSource_FWD_DEFINED__ */
  312. #ifndef __ITfSourceSingle_FWD_DEFINED__
  313. #define __ITfSourceSingle_FWD_DEFINED__
  314. typedef interface ITfSourceSingle ITfSourceSingle;
  315. #endif  /* __ITfSourceSingle_FWD_DEFINED__ */
  316. /* header files for imported files */
  317. #include "oaidl.h"
  318. #include "comcat.h"
  319. #include "textstor.h"
  320. #include "ctfutb.h"
  321. #ifdef __cplusplus
  322. extern "C"{
  323. #endif 
  324. void * __RPC_USER MIDL_user_allocate(size_t);
  325. void __RPC_USER MIDL_user_free( void * ); 
  326. /* interface __MIDL_itf_msctf_0000 */
  327. /* [local] */ 
  328. //=--------------------------------------------------------------------------=
  329. // msctf.h
  330. // Text Framework declarations.
  331. //=--------------------------------------------------------------------------=
  332. // (C) Copyright 1995-2001 Microsoft Corporation.  All Rights Reserved.
  333. //
  334. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  335. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  336. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  337. // PARTICULAR PURPOSE.
  338. //=--------------------------------------------------------------------------=
  339. #ifndef MSCTF_DEFINED
  340. #define MSCTF_DEFINED
  341. #include <windows.h>
  342. #ifdef __cplusplus
  343. extern "C" {
  344. #endif /* __cplusplus */
  345. #define TF_E_LOCKED          MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0500)
  346. #define TF_E_STACKFULL       MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0501)
  347. #define TF_E_NOTOWNEDRANGE   MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0502)
  348. #define TF_E_NOPROVIDER      MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0503)
  349. #define TF_E_DISCONNECTED    MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0504)
  350. #define TF_E_INVALIDVIEW     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0505)
  351. #define TF_E_ALREADY_EXISTS  MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0506)
  352. #define TF_E_RANGE_NOT_COVERED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0507)
  353. #define TF_E_COMPOSITION_REJECTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0508)
  354. #define TF_E_EMPTYCONTEXT    MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0509)
  355. #define TF_E_INVALIDPOS      MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0200)
  356. #define TF_E_NOLOCK          MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201)
  357. #define TF_E_NOOBJECT        MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0202)
  358. #define TF_E_NOSERVICE       MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0203)
  359. #define TF_E_NOINTERFACE     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0204)
  360. #define TF_E_NOSELECTION     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0205)
  361. #define TF_E_NOLAYOUT        MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0206)
  362. #define TF_E_INVALIDPOINT    MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0207)
  363. #define TF_E_SYNCHRONOUS     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0208)
  364. #define TF_E_READONLY        MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0209)
  365. #define TF_E_FORMAT          MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x020a)
  366. #define TF_S_ASYNC           MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0x0300)
  367. HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim);
  368. HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim);
  369. HRESULT WINAPI TF_CreateInputProcessorProfiles(ITfInputProcessorProfiles **ppipr);
  370. HRESULT WINAPI TF_CreateDisplayAttributeMgr(ITfDisplayAttributeMgr **ppdam);
  371. HRESULT WINAPI TF_CreateLangBarMgr(ITfLangBarMgr **pppbm);
  372. HRESULT WINAPI TF_CreateLangBarItemMgr(ITfLangBarItemMgr **pplbim);
  373. EXTERN_C const GUID GUID_PROP_TEXTOWNER;
  374. EXTERN_C const GUID GUID_PROP_ATTRIBUTE;
  375. EXTERN_C const GUID GUID_PROP_LANGID;
  376. EXTERN_C const GUID GUID_PROP_READING;
  377. EXTERN_C const GUID GUID_PROP_COMPOSING;
  378. EXTERN_C const CLSID CLSID_TF_ThreadMgr;
  379. EXTERN_C const CLSID CLSID_TF_InputProcessorProfiles;
  380. EXTERN_C const CLSID CLSID_TF_LangBarMgr;
  381. EXTERN_C const CLSID CLSID_TF_DisplayAttributeMgr;
  382. EXTERN_C const CLSID CLSID_TF_CategoryMgr;
  383. EXTERN_C const CLSID CLSID_TF_LangBarItemMgr;
  384. EXTERN_C const GUID GUID_SYSTEM_FUNCTIONPROVIDER;
  385. EXTERN_C const GUID GUID_APP_FUNCTIONPROVIDER;
  386. EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_DISABLED;
  387. EXTERN_C const GUID GUID_COMPARTMENT_KEYBOARD_OPENCLOSE;
  388. EXTERN_C const GUID GUID_COMPARTMENT_HANDWRITING_OPENCLOSE;
  389. EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_DISABLED;
  390. EXTERN_C const GUID GUID_COMPARTMENT_SPEECH_OPENCLOSE;
  391. EXTERN_C const GUID GUID_COMPARTMENT_PERSISTMENUENABLED;
  392. EXTERN_C const GUID GUID_COMPARTMENT_EMPTYCONTEXT;
  393. EXTERN_C const GUID GUID_COMPARTMENT_TIPUISTATUS;
  394. EXTERN_C const GUID GUID_PROP_MODEBIAS;
  395. EXTERN_C const GUID GUID_MODEBIAS_NONE;
  396. EXTERN_C const GUID GUID_MODEBIAS_FILENAME;
  397. EXTERN_C const GUID GUID_MODEBIAS_READING;
  398. EXTERN_C const GUID GUID_MODEBIAS_DATETIME;
  399. EXTERN_C const GUID GUID_MODEBIAS_NAME;
  400. EXTERN_C const GUID GUID_MODEBIAS_CONVERSATION;
  401. EXTERN_C const GUID GUID_MODEBIAS_NUMERIC;
  402. EXTERN_C const GUID GUID_MODEBIAS_HIRAGANA;
  403. EXTERN_C const GUID GUID_MODEBIAS_KATAKANA;
  404. EXTERN_C const GUID GUID_MODEBIAS_HANGUL;
  405. EXTERN_C const GUID GUID_MODEBIAS_CHINESE;
  406. EXTERN_C const GUID GUID_MODEBIAS_HALFWIDTHKATAKANA;
  407. EXTERN_C const GUID GUID_MODEBIAS_FULLWIDTHALPHANUMERIC;
  408. EXTERN_C const GUID GUID_MODEBIAS_HALFWIDTHALPHANUMERIC;
  409. EXTERN_C const GUID GUID_MODEBIAS_FULLWIDTHHANGUL;
  410. EXTERN_C const GUID GUID_TFCAT_CATEGORY_OF_TIP;
  411. EXTERN_C const GUID GUID_TFCAT_TIP_KEYBOARD;
  412. EXTERN_C const GUID GUID_TFCAT_TIP_SPEECH;
  413. EXTERN_C const GUID GUID_TFCAT_TIP_HANDWRITING;
  414. EXTERN_C const GUID GUID_TFCAT_PROP_AUDIODATA;
  415. EXTERN_C const GUID GUID_TFCAT_PROP_INKDATA;
  416. EXTERN_C const GUID GUID_TFCAT_PROPSTYLE_CUSTOM;
  417. EXTERN_C const GUID GUID_TFCAT_PROPSTYLE_STATIC;
  418. EXTERN_C const GUID GUID_TFCAT_PROPSTYLE_STATICCOMPACT;
  419. EXTERN_C const GUID GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER;
  420. EXTERN_C const GUID GUID_TFCAT_DISPLAYATTRIBUTEPROPERTY;
  421. #define TF_INVALID_GUIDATOM ((TfGuidAtom)0)
  422. #define TF_CLIENTID_NULL    ((TfClientId)0)
  423. #define TF_MOD_ALT                         0x0001
  424. #define TF_MOD_CONTROL                     0x0002
  425. #define TF_MOD_SHIFT                       0x0004
  426. #define TF_MOD_RALT                        0x0008
  427. #define TF_MOD_RCONTROL                    0x0010
  428. #define TF_MOD_RSHIFT                      0x0020
  429. #define TF_MOD_LALT                        0x0040
  430. #define TF_MOD_LCONTROL                    0x0080
  431. #define TF_MOD_LSHIFT                      0x0100
  432. #define TF_MOD_ON_KEYUP                    0x0200
  433. #define TF_MOD_IGNORE_ALL_MODIFIER         0x0400
  434. #define TF_US_HIDETIPUI         0x00000001
  435. #define TF_DISABLE_SPEECH         0x00000001
  436. #define TF_DISABLE_DICTATION      0x00000002
  437. #define TF_DISABLE_COMMANDING     0x00000004
  438. #define TF_PROCESS_ATOM             TEXT("_CTF_PROCESS_ATOM_")
  439. #define TF_ENABLE_PROCESS_ATOM      TEXT("_CTF_ENABLE_PROCESS_ATOM_")
  440. #ifdef __cplusplus
  441. }
  442. #endif  /* __cplusplus */
  443. #if 0
  444. typedef /* [uuid] */  DECLSPEC_UUID("4f5d560f-5ab5-4dde-8c4d-404592857ab0") UINT_PTR HKL;
  445. #endif
  446. typedef /* [uuid] */  DECLSPEC_UUID("7213778c-7bb0-4270-b050-6189ee594e97") DWORD TfEditCookie;
  447. #define TF_INVALID_EDIT_COOKIE ( 0 )
  448. typedef /* [uuid] */  DECLSPEC_UUID("88a9c478-f3ec-4763-8345-cd9250443f8d") DWORD TfGuidAtom;
  449. typedef /* [uuid] */  DECLSPEC_UUID("de403c21-89fd-4f85-8b87-64584d063fbc") DWORD TfClientId;
  450. typedef /* [uuid] */  DECLSPEC_UUID("e26d9e1d-691e-4f29-90d7-338dcf1f8cef") struct TF_PERSISTENT_PROPERTY_HEADER_ACP
  451.     {
  452.     GUID guidType;
  453.     LONG ichStart;
  454.     LONG cch;
  455.     ULONG cb;
  456.     DWORD dwPrivate;
  457.     CLSID clsidTIP;
  458.     }  TF_PERSISTENT_PROPERTY_HEADER_ACP;
  459. typedef /* [uuid] */  DECLSPEC_UUID("e1b5808d-1e46-4c19-84dc-68c5f5978cc8") struct TF_LANGUAGEPROFILE
  460.     {
  461.     CLSID clsid;
  462.     LANGID langid;
  463.     GUID catid;
  464.     BOOL fActive;
  465.     GUID guidProfile;
  466.     }  TF_LANGUAGEPROFILE;
  467. typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][uuid] */  DECLSPEC_UUID("5a886226-ae9a-489b-b991-2b1e25ee59a9") 
  468. enum __MIDL___MIDL_itf_msctf_0000_0001
  469.     { TF_ANCHOR_START = 0,
  470. TF_ANCHOR_END = 1
  471.     }  TfAnchor;
  472. extern RPC_IF_HANDLE __MIDL_itf_msctf_0000_v0_0_c_ifspec;
  473. extern RPC_IF_HANDLE __MIDL_itf_msctf_0000_v0_0_s_ifspec;
  474. #ifndef __ITfThreadMgr_INTERFACE_DEFINED__
  475. #define __ITfThreadMgr_INTERFACE_DEFINED__
  476. /* interface ITfThreadMgr */
  477. /* [unique][uuid][local][object] */ 
  478. EXTERN_C const IID IID_ITfThreadMgr;
  479. #if defined(__cplusplus) && !defined(CINTERFACE)
  480.     
  481.     MIDL_INTERFACE("aa80e801-2021-11d2-93e0-0060b067b86e")
  482.     ITfThreadMgr : public IUnknown
  483.     {
  484.     public:
  485.         virtual HRESULT STDMETHODCALLTYPE Activate( 
  486.             /* [out] */ TfClientId *ptid) = 0;
  487.         
  488.         virtual HRESULT STDMETHODCALLTYPE Deactivate( void) = 0;
  489.         
  490.         virtual HRESULT STDMETHODCALLTYPE CreateDocumentMgr( 
  491.             /* [out] */ ITfDocumentMgr **ppdim) = 0;
  492.         
  493.         virtual HRESULT STDMETHODCALLTYPE EnumDocumentMgrs( 
  494.             /* [out] */ IEnumTfDocumentMgrs **ppEnum) = 0;
  495.         
  496.         virtual HRESULT STDMETHODCALLTYPE GetFocus( 
  497.             /* [out] */ ITfDocumentMgr **ppdimFocus) = 0;
  498.         
  499.         virtual HRESULT STDMETHODCALLTYPE SetFocus( 
  500.             /* [in] */ ITfDocumentMgr *pdimFocus) = 0;
  501.         
  502.         virtual HRESULT STDMETHODCALLTYPE AssociateFocus( 
  503.             /* [in] */ HWND hwnd,
  504.             /* [unique][in] */ ITfDocumentMgr *pdimNew,
  505.             /* [out] */ ITfDocumentMgr **ppdimPrev) = 0;
  506.         
  507.         virtual HRESULT STDMETHODCALLTYPE IsThreadFocus( 
  508.             /* [out] */ BOOL *pfThreadFocus) = 0;
  509.         
  510.         virtual HRESULT STDMETHODCALLTYPE GetFunctionProvider( 
  511.             /* [in] */ REFCLSID clsid,
  512.             /* [out] */ ITfFunctionProvider **ppFuncProv) = 0;
  513.         
  514.         virtual HRESULT STDMETHODCALLTYPE EnumFunctionProviders( 
  515.             /* [out] */ IEnumTfFunctionProviders **ppEnum) = 0;
  516.         
  517.         virtual HRESULT STDMETHODCALLTYPE GetGlobalCompartment( 
  518.             /* [out] */ ITfCompartmentMgr **ppCompMgr) = 0;
  519.         
  520.     };
  521.     
  522. #else  /* C style interface */
  523.     typedef struct ITfThreadMgrVtbl
  524.     {
  525.         BEGIN_INTERFACE
  526.         
  527.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  528.             ITfThreadMgr * This,
  529.             /* [in] */ REFIID riid,
  530.             /* [iid_is][out] */ void **ppvObject);
  531.         
  532.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  533.             ITfThreadMgr * This);
  534.         
  535.         ULONG ( STDMETHODCALLTYPE *Release )( 
  536.             ITfThreadMgr * This);
  537.         
  538.         HRESULT ( STDMETHODCALLTYPE *Activate )( 
  539.             ITfThreadMgr * This,
  540.             /* [out] */ TfClientId *ptid);
  541.         
  542.         HRESULT ( STDMETHODCALLTYPE *Deactivate )( 
  543.             ITfThreadMgr * This);
  544.         
  545.         HRESULT ( STDMETHODCALLTYPE *CreateDocumentMgr )( 
  546.             ITfThreadMgr * This,
  547.             /* [out] */ ITfDocumentMgr **ppdim);
  548.         
  549.         HRESULT ( STDMETHODCALLTYPE *EnumDocumentMgrs )( 
  550.             ITfThreadMgr * This,
  551.             /* [out] */ IEnumTfDocumentMgrs **ppEnum);
  552.         
  553.         HRESULT ( STDMETHODCALLTYPE *GetFocus )( 
  554.             ITfThreadMgr * This,
  555.             /* [out] */ ITfDocumentMgr **ppdimFocus);
  556.         
  557.         HRESULT ( STDMETHODCALLTYPE *SetFocus )( 
  558.             ITfThreadMgr * This,
  559.             /* [in] */ ITfDocumentMgr *pdimFocus);
  560.         
  561.         HRESULT ( STDMETHODCALLTYPE *AssociateFocus )( 
  562.             ITfThreadMgr * This,
  563.             /* [in] */ HWND hwnd,
  564.             /* [unique][in] */ ITfDocumentMgr *pdimNew,
  565.             /* [out] */ ITfDocumentMgr **ppdimPrev);
  566.         
  567.         HRESULT ( STDMETHODCALLTYPE *IsThreadFocus )( 
  568.             ITfThreadMgr * This,
  569.             /* [out] */ BOOL *pfThreadFocus);
  570.         
  571.         HRESULT ( STDMETHODCALLTYPE *GetFunctionProvider )( 
  572.             ITfThreadMgr * This,
  573.             /* [in] */ REFCLSID clsid,
  574.             /* [out] */ ITfFunctionProvider **ppFuncProv);
  575.         
  576.         HRESULT ( STDMETHODCALLTYPE *EnumFunctionProviders )( 
  577.             ITfThreadMgr * This,
  578.             /* [out] */ IEnumTfFunctionProviders **ppEnum);
  579.         
  580.         HRESULT ( STDMETHODCALLTYPE *GetGlobalCompartment )( 
  581.             ITfThreadMgr * This,
  582.             /* [out] */ ITfCompartmentMgr **ppCompMgr);
  583.         
  584.         END_INTERFACE
  585.     } ITfThreadMgrVtbl;
  586.     interface ITfThreadMgr
  587.     {
  588.         CONST_VTBL struct ITfThreadMgrVtbl *lpVtbl;
  589.     };
  590.     
  591. #ifdef COBJMACROS
  592. #define ITfThreadMgr_QueryInterface(This,riid,ppvObject)
  593.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  594. #define ITfThreadMgr_AddRef(This)
  595.     (This)->lpVtbl -> AddRef(This)
  596. #define ITfThreadMgr_Release(This)
  597.     (This)->lpVtbl -> Release(This)
  598. #define ITfThreadMgr_Activate(This,ptid)
  599.     (This)->lpVtbl -> Activate(This,ptid)
  600. #define ITfThreadMgr_Deactivate(This)
  601.     (This)->lpVtbl -> Deactivate(This)
  602. #define ITfThreadMgr_CreateDocumentMgr(This,ppdim)
  603.     (This)->lpVtbl -> CreateDocumentMgr(This,ppdim)
  604. #define ITfThreadMgr_EnumDocumentMgrs(This,ppEnum)
  605.     (This)->lpVtbl -> EnumDocumentMgrs(This,ppEnum)
  606. #define ITfThreadMgr_GetFocus(This,ppdimFocus)
  607.     (This)->lpVtbl -> GetFocus(This,ppdimFocus)
  608. #define ITfThreadMgr_SetFocus(This,pdimFocus)
  609.     (This)->lpVtbl -> SetFocus(This,pdimFocus)
  610. #define ITfThreadMgr_AssociateFocus(This,hwnd,pdimNew,ppdimPrev)
  611.     (This)->lpVtbl -> AssociateFocus(This,hwnd,pdimNew,ppdimPrev)
  612. #define ITfThreadMgr_IsThreadFocus(This,pfThreadFocus)
  613.     (This)->lpVtbl -> IsThreadFocus(This,pfThreadFocus)
  614. #define ITfThreadMgr_GetFunctionProvider(This,clsid,ppFuncProv)
  615.     (This)->lpVtbl -> GetFunctionProvider(This,clsid,ppFuncProv)
  616. #define ITfThreadMgr_EnumFunctionProviders(This,ppEnum)
  617.     (This)->lpVtbl -> EnumFunctionProviders(This,ppEnum)
  618. #define ITfThreadMgr_GetGlobalCompartment(This,ppCompMgr)
  619.     (This)->lpVtbl -> GetGlobalCompartment(This,ppCompMgr)
  620. #endif /* COBJMACROS */
  621. #endif  /* C style interface */
  622. HRESULT STDMETHODCALLTYPE ITfThreadMgr_Activate_Proxy( 
  623.     ITfThreadMgr * This,
  624.     /* [out] */ TfClientId *ptid);
  625. void __RPC_STUB ITfThreadMgr_Activate_Stub(
  626.     IRpcStubBuffer *This,
  627.     IRpcChannelBuffer *_pRpcChannelBuffer,
  628.     PRPC_MESSAGE _pRpcMessage,
  629.     DWORD *_pdwStubPhase);
  630. HRESULT STDMETHODCALLTYPE ITfThreadMgr_Deactivate_Proxy( 
  631.     ITfThreadMgr * This);
  632. void __RPC_STUB ITfThreadMgr_Deactivate_Stub(
  633.     IRpcStubBuffer *This,
  634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  635.     PRPC_MESSAGE _pRpcMessage,
  636.     DWORD *_pdwStubPhase);
  637. HRESULT STDMETHODCALLTYPE ITfThreadMgr_CreateDocumentMgr_Proxy( 
  638.     ITfThreadMgr * This,
  639.     /* [out] */ ITfDocumentMgr **ppdim);
  640. void __RPC_STUB ITfThreadMgr_CreateDocumentMgr_Stub(
  641.     IRpcStubBuffer *This,
  642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  643.     PRPC_MESSAGE _pRpcMessage,
  644.     DWORD *_pdwStubPhase);
  645. HRESULT STDMETHODCALLTYPE ITfThreadMgr_EnumDocumentMgrs_Proxy( 
  646.     ITfThreadMgr * This,
  647.     /* [out] */ IEnumTfDocumentMgrs **ppEnum);
  648. void __RPC_STUB ITfThreadMgr_EnumDocumentMgrs_Stub(
  649.     IRpcStubBuffer *This,
  650.     IRpcChannelBuffer *_pRpcChannelBuffer,
  651.     PRPC_MESSAGE _pRpcMessage,
  652.     DWORD *_pdwStubPhase);
  653. HRESULT STDMETHODCALLTYPE ITfThreadMgr_GetFocus_Proxy( 
  654.     ITfThreadMgr * This,
  655.     /* [out] */ ITfDocumentMgr **ppdimFocus);
  656. void __RPC_STUB ITfThreadMgr_GetFocus_Stub(
  657.     IRpcStubBuffer *This,
  658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  659.     PRPC_MESSAGE _pRpcMessage,
  660.     DWORD *_pdwStubPhase);
  661. HRESULT STDMETHODCALLTYPE ITfThreadMgr_SetFocus_Proxy( 
  662.     ITfThreadMgr * This,
  663.     /* [in] */ ITfDocumentMgr *pdimFocus);
  664. void __RPC_STUB ITfThreadMgr_SetFocus_Stub(
  665.     IRpcStubBuffer *This,
  666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  667.     PRPC_MESSAGE _pRpcMessage,
  668.     DWORD *_pdwStubPhase);
  669. HRESULT STDMETHODCALLTYPE ITfThreadMgr_AssociateFocus_Proxy( 
  670.     ITfThreadMgr * This,
  671.     /* [in] */ HWND hwnd,
  672.     /* [unique][in] */ ITfDocumentMgr *pdimNew,
  673.     /* [out] */ ITfDocumentMgr **ppdimPrev);
  674. void __RPC_STUB ITfThreadMgr_AssociateFocus_Stub(
  675.     IRpcStubBuffer *This,
  676.     IRpcChannelBuffer *_pRpcChannelBuffer,
  677.     PRPC_MESSAGE _pRpcMessage,
  678.     DWORD *_pdwStubPhase);
  679. HRESULT STDMETHODCALLTYPE ITfThreadMgr_IsThreadFocus_Proxy( 
  680.     ITfThreadMgr * This,
  681.     /* [out] */ BOOL *pfThreadFocus);
  682. void __RPC_STUB ITfThreadMgr_IsThreadFocus_Stub(
  683.     IRpcStubBuffer *This,
  684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  685.     PRPC_MESSAGE _pRpcMessage,
  686.     DWORD *_pdwStubPhase);
  687. HRESULT STDMETHODCALLTYPE ITfThreadMgr_GetFunctionProvider_Proxy( 
  688.     ITfThreadMgr * This,
  689.     /* [in] */ REFCLSID clsid,
  690.     /* [out] */ ITfFunctionProvider **ppFuncProv);
  691. void __RPC_STUB ITfThreadMgr_GetFunctionProvider_Stub(
  692.     IRpcStubBuffer *This,
  693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  694.     PRPC_MESSAGE _pRpcMessage,
  695.     DWORD *_pdwStubPhase);
  696. HRESULT STDMETHODCALLTYPE ITfThreadMgr_EnumFunctionProviders_Proxy( 
  697.     ITfThreadMgr * This,
  698.     /* [out] */ IEnumTfFunctionProviders **ppEnum);
  699. void __RPC_STUB ITfThreadMgr_EnumFunctionProviders_Stub(
  700.     IRpcStubBuffer *This,
  701.     IRpcChannelBuffer *_pRpcChannelBuffer,
  702.     PRPC_MESSAGE _pRpcMessage,
  703.     DWORD *_pdwStubPhase);
  704. HRESULT STDMETHODCALLTYPE ITfThreadMgr_GetGlobalCompartment_Proxy( 
  705.     ITfThreadMgr * This,
  706.     /* [out] */ ITfCompartmentMgr **ppCompMgr);
  707. void __RPC_STUB ITfThreadMgr_GetGlobalCompartment_Stub(
  708.     IRpcStubBuffer *This,
  709.     IRpcChannelBuffer *_pRpcChannelBuffer,
  710.     PRPC_MESSAGE _pRpcMessage,
  711.     DWORD *_pdwStubPhase);
  712. #endif  /* __ITfThreadMgr_INTERFACE_DEFINED__ */
  713. #ifndef __ITfThreadMgrEventSink_INTERFACE_DEFINED__
  714. #define __ITfThreadMgrEventSink_INTERFACE_DEFINED__
  715. /* interface ITfThreadMgrEventSink */
  716. /* [unique][uuid][object] */ 
  717. EXTERN_C const IID IID_ITfThreadMgrEventSink;
  718. #if defined(__cplusplus) && !defined(CINTERFACE)
  719.     
  720.     MIDL_INTERFACE("aa80e80e-2021-11d2-93e0-0060b067b86e")
  721.     ITfThreadMgrEventSink : public IUnknown
  722.     {
  723.     public:
  724.         virtual HRESULT STDMETHODCALLTYPE OnInitDocumentMgr( 
  725.             /* [in] */ ITfDocumentMgr *pdim) = 0;
  726.         
  727.         virtual HRESULT STDMETHODCALLTYPE OnUninitDocumentMgr( 
  728.             /* [in] */ ITfDocumentMgr *pdim) = 0;
  729.         
  730.         virtual HRESULT STDMETHODCALLTYPE OnSetFocus( 
  731.             /* [in] */ ITfDocumentMgr *pdimFocus,
  732.             /* [in] */ ITfDocumentMgr *pdimPrevFocus) = 0;
  733.         
  734.         virtual HRESULT STDMETHODCALLTYPE OnPushContext( 
  735.             /* [in] */ ITfContext *pic) = 0;
  736.         
  737.         virtual HRESULT STDMETHODCALLTYPE OnPopContext( 
  738.             /* [in] */ ITfContext *pic) = 0;
  739.         
  740.     };
  741.     
  742. #else  /* C style interface */
  743.     typedef struct ITfThreadMgrEventSinkVtbl
  744.     {
  745.         BEGIN_INTERFACE
  746.         
  747.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  748.             ITfThreadMgrEventSink * This,
  749.             /* [in] */ REFIID riid,
  750.             /* [iid_is][out] */ void **ppvObject);
  751.         
  752.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  753.             ITfThreadMgrEventSink * This);
  754.         
  755.         ULONG ( STDMETHODCALLTYPE *Release )( 
  756.             ITfThreadMgrEventSink * This);
  757.         
  758.         HRESULT ( STDMETHODCALLTYPE *OnInitDocumentMgr )( 
  759.             ITfThreadMgrEventSink * This,
  760.             /* [in] */ ITfDocumentMgr *pdim);
  761.         
  762.         HRESULT ( STDMETHODCALLTYPE *OnUninitDocumentMgr )( 
  763.             ITfThreadMgrEventSink * This,
  764.             /* [in] */ ITfDocumentMgr *pdim);
  765.         
  766.         HRESULT ( STDMETHODCALLTYPE *OnSetFocus )( 
  767.             ITfThreadMgrEventSink * This,
  768.             /* [in] */ ITfDocumentMgr *pdimFocus,
  769.             /* [in] */ ITfDocumentMgr *pdimPrevFocus);
  770.         
  771.         HRESULT ( STDMETHODCALLTYPE *OnPushContext )( 
  772.             ITfThreadMgrEventSink * This,
  773.             /* [in] */ ITfContext *pic);
  774.         
  775.         HRESULT ( STDMETHODCALLTYPE *OnPopContext )( 
  776.             ITfThreadMgrEventSink * This,
  777.             /* [in] */ ITfContext *pic);
  778.         
  779.         END_INTERFACE
  780.     } ITfThreadMgrEventSinkVtbl;
  781.     interface ITfThreadMgrEventSink
  782.     {
  783.         CONST_VTBL struct ITfThreadMgrEventSinkVtbl *lpVtbl;
  784.     };
  785.     
  786. #ifdef COBJMACROS
  787. #define ITfThreadMgrEventSink_QueryInterface(This,riid,ppvObject)
  788.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  789. #define ITfThreadMgrEventSink_AddRef(This)
  790.     (This)->lpVtbl -> AddRef(This)
  791. #define ITfThreadMgrEventSink_Release(This)
  792.     (This)->lpVtbl -> Release(This)
  793. #define ITfThreadMgrEventSink_OnInitDocumentMgr(This,pdim)
  794.     (This)->lpVtbl -> OnInitDocumentMgr(This,pdim)
  795. #define ITfThreadMgrEventSink_OnUninitDocumentMgr(This,pdim)
  796.     (This)->lpVtbl -> OnUninitDocumentMgr(This,pdim)
  797. #define ITfThreadMgrEventSink_OnSetFocus(This,pdimFocus,pdimPrevFocus)
  798.     (This)->lpVtbl -> OnSetFocus(This,pdimFocus,pdimPrevFocus)
  799. #define ITfThreadMgrEventSink_OnPushContext(This,pic)
  800.     (This)->lpVtbl -> OnPushContext(This,pic)
  801. #define ITfThreadMgrEventSink_OnPopContext(This,pic)
  802.     (This)->lpVtbl -> OnPopContext(This,pic)
  803. #endif /* COBJMACROS */
  804. #endif  /* C style interface */
  805. HRESULT STDMETHODCALLTYPE ITfThreadMgrEventSink_OnInitDocumentMgr_Proxy( 
  806.     ITfThreadMgrEventSink * This,
  807.     /* [in] */ ITfDocumentMgr *pdim);
  808. void __RPC_STUB ITfThreadMgrEventSink_OnInitDocumentMgr_Stub(
  809.     IRpcStubBuffer *This,
  810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  811.     PRPC_MESSAGE _pRpcMessage,
  812.     DWORD *_pdwStubPhase);
  813. HRESULT STDMETHODCALLTYPE ITfThreadMgrEventSink_OnUninitDocumentMgr_Proxy( 
  814.     ITfThreadMgrEventSink * This,
  815.     /* [in] */ ITfDocumentMgr *pdim);
  816. void __RPC_STUB ITfThreadMgrEventSink_OnUninitDocumentMgr_Stub(
  817.     IRpcStubBuffer *This,
  818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  819.     PRPC_MESSAGE _pRpcMessage,
  820.     DWORD *_pdwStubPhase);
  821. HRESULT STDMETHODCALLTYPE ITfThreadMgrEventSink_OnSetFocus_Proxy( 
  822.     ITfThreadMgrEventSink * This,
  823.     /* [in] */ ITfDocumentMgr *pdimFocus,
  824.     /* [in] */ ITfDocumentMgr *pdimPrevFocus);
  825. void __RPC_STUB ITfThreadMgrEventSink_OnSetFocus_Stub(
  826.     IRpcStubBuffer *This,
  827.     IRpcChannelBuffer *_pRpcChannelBuffer,
  828.     PRPC_MESSAGE _pRpcMessage,
  829.     DWORD *_pdwStubPhase);
  830. HRESULT STDMETHODCALLTYPE ITfThreadMgrEventSink_OnPushContext_Proxy( 
  831.     ITfThreadMgrEventSink * This,
  832.     /* [in] */ ITfContext *pic);
  833. void __RPC_STUB ITfThreadMgrEventSink_OnPushContext_Stub(
  834.     IRpcStubBuffer *This,
  835.     IRpcChannelBuffer *_pRpcChannelBuffer,
  836.     PRPC_MESSAGE _pRpcMessage,
  837.     DWORD *_pdwStubPhase);
  838. HRESULT STDMETHODCALLTYPE ITfThreadMgrEventSink_OnPopContext_Proxy( 
  839.     ITfThreadMgrEventSink * This,
  840.     /* [in] */ ITfContext *pic);
  841. void __RPC_STUB ITfThreadMgrEventSink_OnPopContext_Stub(
  842.     IRpcStubBuffer *This,
  843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  844.     PRPC_MESSAGE _pRpcMessage,
  845.     DWORD *_pdwStubPhase);
  846. #endif  /* __ITfThreadMgrEventSink_INTERFACE_DEFINED__ */
  847. #ifndef __ITfConfigureSystemKeystrokeFeed_INTERFACE_DEFINED__
  848. #define __ITfConfigureSystemKeystrokeFeed_INTERFACE_DEFINED__
  849. /* interface ITfConfigureSystemKeystrokeFeed */
  850. /* [unique][uuid][local][object] */ 
  851. EXTERN_C const IID IID_ITfConfigureSystemKeystrokeFeed;
  852. #if defined(__cplusplus) && !defined(CINTERFACE)
  853.     
  854.     MIDL_INTERFACE("0d2c969a-bc9c-437c-84ee-951c49b1a764")
  855.     ITfConfigureSystemKeystrokeFeed : public IUnknown
  856.     {
  857.     public:
  858.         virtual HRESULT STDMETHODCALLTYPE DisableSystemKeystrokeFeed( void) = 0;
  859.         
  860.         virtual HRESULT STDMETHODCALLTYPE EnableSystemKeystrokeFeed( void) = 0;
  861.         
  862.     };
  863.     
  864. #else  /* C style interface */
  865.     typedef struct ITfConfigureSystemKeystrokeFeedVtbl
  866.     {
  867.         BEGIN_INTERFACE
  868.         
  869.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  870.             ITfConfigureSystemKeystrokeFeed * This,
  871.             /* [in] */ REFIID riid,
  872.             /* [iid_is][out] */ void **ppvObject);
  873.         
  874.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  875.             ITfConfigureSystemKeystrokeFeed * This);
  876.         
  877.         ULONG ( STDMETHODCALLTYPE *Release )( 
  878.             ITfConfigureSystemKeystrokeFeed * This);
  879.         
  880.         HRESULT ( STDMETHODCALLTYPE *DisableSystemKeystrokeFeed )( 
  881.             ITfConfigureSystemKeystrokeFeed * This);
  882.         
  883.         HRESULT ( STDMETHODCALLTYPE *EnableSystemKeystrokeFeed )( 
  884.             ITfConfigureSystemKeystrokeFeed * This);
  885.         
  886.         END_INTERFACE
  887.     } ITfConfigureSystemKeystrokeFeedVtbl;
  888.     interface ITfConfigureSystemKeystrokeFeed
  889.     {
  890.         CONST_VTBL struct ITfConfigureSystemKeystrokeFeedVtbl *lpVtbl;
  891.     };
  892.     
  893. #ifdef COBJMACROS
  894. #define ITfConfigureSystemKeystrokeFeed_QueryInterface(This,riid,ppvObject)
  895.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  896. #define ITfConfigureSystemKeystrokeFeed_AddRef(This)
  897.     (This)->lpVtbl -> AddRef(This)
  898. #define ITfConfigureSystemKeystrokeFeed_Release(This)
  899.     (This)->lpVtbl -> Release(This)
  900. #define ITfConfigureSystemKeystrokeFeed_DisableSystemKeystrokeFeed(This)
  901.     (This)->lpVtbl -> DisableSystemKeystrokeFeed(This)
  902. #define ITfConfigureSystemKeystrokeFeed_EnableSystemKeystrokeFeed(This)
  903.     (This)->lpVtbl -> EnableSystemKeystrokeFeed(This)
  904. #endif /* COBJMACROS */
  905. #endif  /* C style interface */
  906. HRESULT STDMETHODCALLTYPE ITfConfigureSystemKeystrokeFeed_DisableSystemKeystrokeFeed_Proxy( 
  907.     ITfConfigureSystemKeystrokeFeed * This);
  908. void __RPC_STUB ITfConfigureSystemKeystrokeFeed_DisableSystemKeystrokeFeed_Stub(
  909.     IRpcStubBuffer *This,
  910.     IRpcChannelBuffer *_pRpcChannelBuffer,
  911.     PRPC_MESSAGE _pRpcMessage,
  912.     DWORD *_pdwStubPhase);
  913. HRESULT STDMETHODCALLTYPE ITfConfigureSystemKeystrokeFeed_EnableSystemKeystrokeFeed_Proxy( 
  914.     ITfConfigureSystemKeystrokeFeed * This);
  915. void __RPC_STUB ITfConfigureSystemKeystrokeFeed_EnableSystemKeystrokeFeed_Stub(
  916.     IRpcStubBuffer *This,
  917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  918.     PRPC_MESSAGE _pRpcMessage,
  919.     DWORD *_pdwStubPhase);
  920. #endif  /* __ITfConfigureSystemKeystrokeFeed_INTERFACE_DEFINED__ */
  921. #ifndef __IEnumTfDocumentMgrs_INTERFACE_DEFINED__
  922. #define __IEnumTfDocumentMgrs_INTERFACE_DEFINED__
  923. /* interface IEnumTfDocumentMgrs */
  924. /* [unique][uuid][object] */ 
  925. EXTERN_C const IID IID_IEnumTfDocumentMgrs;
  926. #if defined(__cplusplus) && !defined(CINTERFACE)
  927.     
  928.     MIDL_INTERFACE("aa80e808-2021-11d2-93e0-0060b067b86e")
  929.     IEnumTfDocumentMgrs : public IUnknown
  930.     {
  931.     public:
  932.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  933.             /* [out] */ IEnumTfDocumentMgrs **ppEnum) = 0;
  934.         
  935.         virtual HRESULT STDMETHODCALLTYPE Next( 
  936.             /* [in] */ ULONG ulCount,
  937.             /* [length_is][size_is][out] */ ITfDocumentMgr **rgDocumentMgr,
  938.             /* [out] */ ULONG *pcFetched) = 0;
  939.         
  940.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  941.         
  942.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  943.             /* [in] */ ULONG ulCount) = 0;
  944.         
  945.     };
  946.     
  947. #else  /* C style interface */
  948.     typedef struct IEnumTfDocumentMgrsVtbl
  949.     {
  950.         BEGIN_INTERFACE
  951.         
  952.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  953.             IEnumTfDocumentMgrs * This,
  954.             /* [in] */ REFIID riid,
  955.             /* [iid_is][out] */ void **ppvObject);
  956.         
  957.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  958.             IEnumTfDocumentMgrs * This);
  959.         
  960.         ULONG ( STDMETHODCALLTYPE *Release )( 
  961.             IEnumTfDocumentMgrs * This);
  962.         
  963.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  964.             IEnumTfDocumentMgrs * This,
  965.             /* [out] */ IEnumTfDocumentMgrs **ppEnum);
  966.         
  967.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  968.             IEnumTfDocumentMgrs * This,
  969.             /* [in] */ ULONG ulCount,
  970.             /* [length_is][size_is][out] */ ITfDocumentMgr **rgDocumentMgr,
  971.             /* [out] */ ULONG *pcFetched);
  972.         
  973.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  974.             IEnumTfDocumentMgrs * This);
  975.         
  976.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  977.             IEnumTfDocumentMgrs * This,
  978.             /* [in] */ ULONG ulCount);
  979.         
  980.         END_INTERFACE
  981.     } IEnumTfDocumentMgrsVtbl;
  982.     interface IEnumTfDocumentMgrs
  983.     {
  984.         CONST_VTBL struct IEnumTfDocumentMgrsVtbl *lpVtbl;
  985.     };
  986.     
  987. #ifdef COBJMACROS
  988. #define IEnumTfDocumentMgrs_QueryInterface(This,riid,ppvObject)
  989.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  990. #define IEnumTfDocumentMgrs_AddRef(This)
  991.     (This)->lpVtbl -> AddRef(This)
  992. #define IEnumTfDocumentMgrs_Release(This)
  993.     (This)->lpVtbl -> Release(This)
  994. #define IEnumTfDocumentMgrs_Clone(This,ppEnum)
  995.     (This)->lpVtbl -> Clone(This,ppEnum)
  996. #define IEnumTfDocumentMgrs_Next(This,ulCount,rgDocumentMgr,pcFetched)
  997.     (This)->lpVtbl -> Next(This,ulCount,rgDocumentMgr,pcFetched)
  998. #define IEnumTfDocumentMgrs_Reset(This)
  999.     (This)->lpVtbl -> Reset(This)
  1000. #define IEnumTfDocumentMgrs_Skip(This,ulCount)
  1001.     (This)->lpVtbl -> Skip(This,ulCount)
  1002. #endif /* COBJMACROS */
  1003. #endif  /* C style interface */
  1004. HRESULT STDMETHODCALLTYPE IEnumTfDocumentMgrs_Clone_Proxy( 
  1005.     IEnumTfDocumentMgrs * This,
  1006.     /* [out] */ IEnumTfDocumentMgrs **ppEnum);
  1007. void __RPC_STUB IEnumTfDocumentMgrs_Clone_Stub(
  1008.     IRpcStubBuffer *This,
  1009.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1010.     PRPC_MESSAGE _pRpcMessage,
  1011.     DWORD *_pdwStubPhase);
  1012. HRESULT STDMETHODCALLTYPE IEnumTfDocumentMgrs_Next_Proxy( 
  1013.     IEnumTfDocumentMgrs * This,
  1014.     /* [in] */ ULONG ulCount,
  1015.     /* [length_is][size_is][out] */ ITfDocumentMgr **rgDocumentMgr,
  1016.     /* [out] */ ULONG *pcFetched);
  1017. void __RPC_STUB IEnumTfDocumentMgrs_Next_Stub(
  1018.     IRpcStubBuffer *This,
  1019.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1020.     PRPC_MESSAGE _pRpcMessage,
  1021.     DWORD *_pdwStubPhase);
  1022. HRESULT STDMETHODCALLTYPE IEnumTfDocumentMgrs_Reset_Proxy( 
  1023.     IEnumTfDocumentMgrs * This);
  1024. void __RPC_STUB IEnumTfDocumentMgrs_Reset_Stub(
  1025.     IRpcStubBuffer *This,
  1026.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1027.     PRPC_MESSAGE _pRpcMessage,
  1028.     DWORD *_pdwStubPhase);
  1029. HRESULT STDMETHODCALLTYPE IEnumTfDocumentMgrs_Skip_Proxy( 
  1030.     IEnumTfDocumentMgrs * This,
  1031.     /* [in] */ ULONG ulCount);
  1032. void __RPC_STUB IEnumTfDocumentMgrs_Skip_Stub(
  1033.     IRpcStubBuffer *This,
  1034.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1035.     PRPC_MESSAGE _pRpcMessage,
  1036.     DWORD *_pdwStubPhase);
  1037. #endif  /* __IEnumTfDocumentMgrs_INTERFACE_DEFINED__ */
  1038. #ifndef __ITfDocumentMgr_INTERFACE_DEFINED__
  1039. #define __ITfDocumentMgr_INTERFACE_DEFINED__
  1040. /* interface ITfDocumentMgr */
  1041. /* [unique][uuid][object] */ 
  1042. #define TF_POPF_ALL ( 0x1 )
  1043. EXTERN_C const IID IID_ITfDocumentMgr;
  1044. #if defined(__cplusplus) && !defined(CINTERFACE)
  1045.     
  1046.     MIDL_INTERFACE("aa80e7f4-2021-11d2-93e0-0060b067b86e")
  1047.     ITfDocumentMgr : public IUnknown
  1048.     {
  1049.     public:
  1050.         virtual HRESULT STDMETHODCALLTYPE CreateContext( 
  1051.             /* [in] */ TfClientId tidOwner,
  1052.             /* [in] */ DWORD dwFlags,
  1053.             /* [unique][in] */ IUnknown *punk,
  1054.             /* [out] */ ITfContext **ppic,
  1055.             /* [out] */ TfEditCookie *pecTextStore) = 0;
  1056.         
  1057.         virtual HRESULT STDMETHODCALLTYPE Push( 
  1058.             /* [in] */ ITfContext *pic) = 0;
  1059.         
  1060.         virtual HRESULT STDMETHODCALLTYPE Pop( 
  1061.             /* [in] */ DWORD dwFlags) = 0;
  1062.         
  1063.         virtual HRESULT STDMETHODCALLTYPE GetTop( 
  1064.             /* [out] */ ITfContext **ppic) = 0;
  1065.         
  1066.         virtual HRESULT STDMETHODCALLTYPE GetBase( 
  1067.             /* [out] */ ITfContext **ppic) = 0;
  1068.         
  1069.         virtual HRESULT STDMETHODCALLTYPE EnumContexts( 
  1070.             /* [out] */ IEnumTfContexts **ppEnum) = 0;
  1071.         
  1072.     };
  1073.     
  1074. #else  /* C style interface */
  1075.     typedef struct ITfDocumentMgrVtbl
  1076.     {
  1077.         BEGIN_INTERFACE
  1078.         
  1079.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1080.             ITfDocumentMgr * This,
  1081.             /* [in] */ REFIID riid,
  1082.             /* [iid_is][out] */ void **ppvObject);
  1083.         
  1084.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1085.             ITfDocumentMgr * This);
  1086.         
  1087.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1088.             ITfDocumentMgr * This);
  1089.         
  1090.         HRESULT ( STDMETHODCALLTYPE *CreateContext )( 
  1091.             ITfDocumentMgr * This,
  1092.             /* [in] */ TfClientId tidOwner,
  1093.             /* [in] */ DWORD dwFlags,
  1094.             /* [unique][in] */ IUnknown *punk,
  1095.             /* [out] */ ITfContext **ppic,
  1096.             /* [out] */ TfEditCookie *pecTextStore);
  1097.         
  1098.         HRESULT ( STDMETHODCALLTYPE *Push )( 
  1099.             ITfDocumentMgr * This,
  1100.             /* [in] */ ITfContext *pic);
  1101.         
  1102.         HRESULT ( STDMETHODCALLTYPE *Pop )( 
  1103.             ITfDocumentMgr * This,
  1104.             /* [in] */ DWORD dwFlags);
  1105.         
  1106.         HRESULT ( STDMETHODCALLTYPE *GetTop )( 
  1107.             ITfDocumentMgr * This,
  1108.             /* [out] */ ITfContext **ppic);
  1109.         
  1110.         HRESULT ( STDMETHODCALLTYPE *GetBase )( 
  1111.             ITfDocumentMgr * This,
  1112.             /* [out] */ ITfContext **ppic);
  1113.         
  1114.         HRESULT ( STDMETHODCALLTYPE *EnumContexts )( 
  1115.             ITfDocumentMgr * This,
  1116.             /* [out] */ IEnumTfContexts **ppEnum);
  1117.         
  1118.         END_INTERFACE
  1119.     } ITfDocumentMgrVtbl;
  1120.     interface ITfDocumentMgr
  1121.     {
  1122.         CONST_VTBL struct ITfDocumentMgrVtbl *lpVtbl;
  1123.     };
  1124.     
  1125. #ifdef COBJMACROS
  1126. #define ITfDocumentMgr_QueryInterface(This,riid,ppvObject)
  1127.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1128. #define ITfDocumentMgr_AddRef(This)
  1129.     (This)->lpVtbl -> AddRef(This)
  1130. #define ITfDocumentMgr_Release(This)
  1131.     (This)->lpVtbl -> Release(This)
  1132. #define ITfDocumentMgr_CreateContext(This,tidOwner,dwFlags,punk,ppic,pecTextStore)
  1133.     (This)->lpVtbl -> CreateContext(This,tidOwner,dwFlags,punk,ppic,pecTextStore)
  1134. #define ITfDocumentMgr_Push(This,pic)
  1135.     (This)->lpVtbl -> Push(This,pic)
  1136. #define ITfDocumentMgr_Pop(This,dwFlags)
  1137.     (This)->lpVtbl -> Pop(This,dwFlags)
  1138. #define ITfDocumentMgr_GetTop(This,ppic)
  1139.     (This)->lpVtbl -> GetTop(This,ppic)
  1140. #define ITfDocumentMgr_GetBase(This,ppic)
  1141.     (This)->lpVtbl -> GetBase(This,ppic)
  1142. #define ITfDocumentMgr_EnumContexts(This,ppEnum)
  1143.     (This)->lpVtbl -> EnumContexts(This,ppEnum)
  1144. #endif /* COBJMACROS */
  1145. #endif  /* C style interface */
  1146. HRESULT STDMETHODCALLTYPE ITfDocumentMgr_CreateContext_Proxy( 
  1147.     ITfDocumentMgr * This,
  1148.     /* [in] */ TfClientId tidOwner,
  1149.     /* [in] */ DWORD dwFlags,
  1150.     /* [unique][in] */ IUnknown *punk,
  1151.     /* [out] */ ITfContext **ppic,
  1152.     /* [out] */ TfEditCookie *pecTextStore);
  1153. void __RPC_STUB ITfDocumentMgr_CreateContext_Stub(
  1154.     IRpcStubBuffer *This,
  1155.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1156.     PRPC_MESSAGE _pRpcMessage,
  1157.     DWORD *_pdwStubPhase);
  1158. HRESULT STDMETHODCALLTYPE ITfDocumentMgr_Push_Proxy( 
  1159.     ITfDocumentMgr * This,
  1160.     /* [in] */ ITfContext *pic);
  1161. void __RPC_STUB ITfDocumentMgr_Push_Stub(
  1162.     IRpcStubBuffer *This,
  1163.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1164.     PRPC_MESSAGE _pRpcMessage,
  1165.     DWORD *_pdwStubPhase);
  1166. HRESULT STDMETHODCALLTYPE ITfDocumentMgr_Pop_Proxy( 
  1167.     ITfDocumentMgr * This,
  1168.     /* [in] */ DWORD dwFlags);
  1169. void __RPC_STUB ITfDocumentMgr_Pop_Stub(
  1170.     IRpcStubBuffer *This,
  1171.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1172.     PRPC_MESSAGE _pRpcMessage,
  1173.     DWORD *_pdwStubPhase);
  1174. HRESULT STDMETHODCALLTYPE ITfDocumentMgr_GetTop_Proxy( 
  1175.     ITfDocumentMgr * This,
  1176.     /* [out] */ ITfContext **ppic);
  1177. void __RPC_STUB ITfDocumentMgr_GetTop_Stub(
  1178.     IRpcStubBuffer *This,
  1179.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1180.     PRPC_MESSAGE _pRpcMessage,
  1181.     DWORD *_pdwStubPhase);
  1182. HRESULT STDMETHODCALLTYPE ITfDocumentMgr_GetBase_Proxy( 
  1183.     ITfDocumentMgr * This,
  1184.     /* [out] */ ITfContext **ppic);
  1185. void __RPC_STUB ITfDocumentMgr_GetBase_Stub(
  1186.     IRpcStubBuffer *This,
  1187.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1188.     PRPC_MESSAGE _pRpcMessage,
  1189.     DWORD *_pdwStubPhase);
  1190. HRESULT STDMETHODCALLTYPE ITfDocumentMgr_EnumContexts_Proxy( 
  1191.     ITfDocumentMgr * This,
  1192.     /* [out] */ IEnumTfContexts **ppEnum);
  1193. void __RPC_STUB ITfDocumentMgr_EnumContexts_Stub(
  1194.     IRpcStubBuffer *This,
  1195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1196.     PRPC_MESSAGE _pRpcMessage,
  1197.     DWORD *_pdwStubPhase);
  1198. #endif  /* __ITfDocumentMgr_INTERFACE_DEFINED__ */
  1199. #ifndef __IEnumTfContexts_INTERFACE_DEFINED__
  1200. #define __IEnumTfContexts_INTERFACE_DEFINED__
  1201. /* interface IEnumTfContexts */
  1202. /* [unique][uuid][object] */ 
  1203. EXTERN_C const IID IID_IEnumTfContexts;
  1204. #if defined(__cplusplus) && !defined(CINTERFACE)
  1205.     
  1206.     MIDL_INTERFACE("8f1a7ea6-1654-4502-a86e-b2902344d507")
  1207.     IEnumTfContexts : public IUnknown
  1208.     {
  1209.     public:
  1210.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1211.             /* [out] */ IEnumTfContexts **ppEnum) = 0;
  1212.         
  1213.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1214.             /* [in] */ ULONG ulCount,
  1215.             /* [length_is][size_is][out] */ ITfContext **rgContext,
  1216.             /* [out] */ ULONG *pcFetched) = 0;
  1217.         
  1218.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1219.         
  1220.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1221.             /* [in] */ ULONG ulCount) = 0;
  1222.         
  1223.     };
  1224.     
  1225. #else  /* C style interface */
  1226.     typedef struct IEnumTfContextsVtbl
  1227.     {
  1228.         BEGIN_INTERFACE
  1229.         
  1230.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1231.             IEnumTfContexts * This,
  1232.             /* [in] */ REFIID riid,
  1233.             /* [iid_is][out] */ void **ppvObject);
  1234.         
  1235.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1236.             IEnumTfContexts * This);
  1237.         
  1238.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1239.             IEnumTfContexts * This);
  1240.         
  1241.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1242.             IEnumTfContexts * This,
  1243.             /* [out] */ IEnumTfContexts **ppEnum);
  1244.         
  1245.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1246.             IEnumTfContexts * This,
  1247.             /* [in] */ ULONG ulCount,
  1248.             /* [length_is][size_is][out] */ ITfContext **rgContext,
  1249.             /* [out] */ ULONG *pcFetched);
  1250.         
  1251.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1252.             IEnumTfContexts * This);
  1253.         
  1254.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1255.             IEnumTfContexts * This,
  1256.             /* [in] */ ULONG ulCount);
  1257.         
  1258.         END_INTERFACE
  1259.     } IEnumTfContextsVtbl;
  1260.     interface IEnumTfContexts
  1261.     {
  1262.         CONST_VTBL struct IEnumTfContextsVtbl *lpVtbl;
  1263.     };
  1264.     
  1265. #ifdef COBJMACROS
  1266. #define IEnumTfContexts_QueryInterface(This,riid,ppvObject)
  1267.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1268. #define IEnumTfContexts_AddRef(This)
  1269.     (This)->lpVtbl -> AddRef(This)
  1270. #define IEnumTfContexts_Release(This)
  1271.     (This)->lpVtbl -> Release(This)
  1272. #define IEnumTfContexts_Clone(This,ppEnum)
  1273.     (This)->lpVtbl -> Clone(This,ppEnum)
  1274. #define IEnumTfContexts_Next(This,ulCount,rgContext,pcFetched)
  1275.     (This)->lpVtbl -> Next(This,ulCount,rgContext,pcFetched)
  1276. #define IEnumTfContexts_Reset(This)
  1277.     (This)->lpVtbl -> Reset(This)
  1278. #define IEnumTfContexts_Skip(This,ulCount)
  1279.     (This)->lpVtbl -> Skip(This,ulCount)
  1280. #endif /* COBJMACROS */
  1281. #endif  /* C style interface */
  1282. HRESULT STDMETHODCALLTYPE IEnumTfContexts_Clone_Proxy( 
  1283.     IEnumTfContexts * This,
  1284.     /* [out] */ IEnumTfContexts **ppEnum);
  1285. void __RPC_STUB IEnumTfContexts_Clone_Stub(
  1286.     IRpcStubBuffer *This,
  1287.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1288.     PRPC_MESSAGE _pRpcMessage,
  1289.     DWORD *_pdwStubPhase);
  1290. HRESULT STDMETHODCALLTYPE IEnumTfContexts_Next_Proxy( 
  1291.     IEnumTfContexts * This,
  1292.     /* [in] */ ULONG ulCount,
  1293.     /* [length_is][size_is][out] */ ITfContext **rgContext,
  1294.     /* [out] */ ULONG *pcFetched);
  1295. void __RPC_STUB IEnumTfContexts_Next_Stub(
  1296.     IRpcStubBuffer *This,
  1297.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1298.     PRPC_MESSAGE _pRpcMessage,
  1299.     DWORD *_pdwStubPhase);
  1300. HRESULT STDMETHODCALLTYPE IEnumTfContexts_Reset_Proxy( 
  1301.     IEnumTfContexts * This);
  1302. void __RPC_STUB IEnumTfContexts_Reset_Stub(
  1303.     IRpcStubBuffer *This,
  1304.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1305.     PRPC_MESSAGE _pRpcMessage,
  1306.     DWORD *_pdwStubPhase);
  1307. HRESULT STDMETHODCALLTYPE IEnumTfContexts_Skip_Proxy( 
  1308.     IEnumTfContexts * This,
  1309.     /* [in] */ ULONG ulCount);
  1310. void __RPC_STUB IEnumTfContexts_Skip_Stub(
  1311.     IRpcStubBuffer *This,
  1312.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1313.     PRPC_MESSAGE _pRpcMessage,
  1314.     DWORD *_pdwStubPhase);
  1315. #endif  /* __IEnumTfContexts_INTERFACE_DEFINED__ */
  1316. #ifndef __ITfCompositionView_INTERFACE_DEFINED__
  1317. #define __ITfCompositionView_INTERFACE_DEFINED__
  1318. /* interface ITfCompositionView */
  1319. /* [unique][uuid][object] */ 
  1320. EXTERN_C const IID IID_ITfCompositionView;
  1321. #if defined(__cplusplus) && !defined(CINTERFACE)
  1322.     
  1323.     MIDL_INTERFACE("D7540241-F9A1-4364-BEFC-DBCD2C4395B7")
  1324.     ITfCompositionView : public IUnknown
  1325.     {
  1326.     public:
  1327.         virtual HRESULT STDMETHODCALLTYPE GetOwnerClsid( 
  1328.             /* [out] */ CLSID *pclsid) = 0;
  1329.         
  1330.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  1331.             /* [out] */ ITfRange **ppRange) = 0;
  1332.         
  1333.     };
  1334.     
  1335. #else  /* C style interface */
  1336.     typedef struct ITfCompositionViewVtbl
  1337.     {
  1338.         BEGIN_INTERFACE
  1339.         
  1340.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1341.             ITfCompositionView * This,
  1342.             /* [in] */ REFIID riid,
  1343.             /* [iid_is][out] */ void **ppvObject);
  1344.         
  1345.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1346.             ITfCompositionView * This);
  1347.         
  1348.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1349.             ITfCompositionView * This);
  1350.         
  1351.         HRESULT ( STDMETHODCALLTYPE *GetOwnerClsid )( 
  1352.             ITfCompositionView * This,
  1353.             /* [out] */ CLSID *pclsid);
  1354.         
  1355.         HRESULT ( STDMETHODCALLTYPE *GetRange )( 
  1356.             ITfCompositionView * This,
  1357.             /* [out] */ ITfRange **ppRange);
  1358.         
  1359.         END_INTERFACE
  1360.     } ITfCompositionViewVtbl;
  1361.     interface ITfCompositionView
  1362.     {
  1363.         CONST_VTBL struct ITfCompositionViewVtbl *lpVtbl;
  1364.     };
  1365.     
  1366. #ifdef COBJMACROS
  1367. #define ITfCompositionView_QueryInterface(This,riid,ppvObject)
  1368.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1369. #define ITfCompositionView_AddRef(This)
  1370.     (This)->lpVtbl -> AddRef(This)
  1371. #define ITfCompositionView_Release(This)
  1372.     (This)->lpVtbl -> Release(This)
  1373. #define ITfCompositionView_GetOwnerClsid(This,pclsid)
  1374.     (This)->lpVtbl -> GetOwnerClsid(This,pclsid)
  1375. #define ITfCompositionView_GetRange(This,ppRange)
  1376.     (This)->lpVtbl -> GetRange(This,ppRange)
  1377. #endif /* COBJMACROS */
  1378. #endif  /* C style interface */
  1379. HRESULT STDMETHODCALLTYPE ITfCompositionView_GetOwnerClsid_Proxy( 
  1380.     ITfCompositionView * This,
  1381.     /* [out] */ CLSID *pclsid);
  1382. void __RPC_STUB ITfCompositionView_GetOwnerClsid_Stub(
  1383.     IRpcStubBuffer *This,
  1384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1385.     PRPC_MESSAGE _pRpcMessage,
  1386.     DWORD *_pdwStubPhase);
  1387. HRESULT STDMETHODCALLTYPE ITfCompositionView_GetRange_Proxy( 
  1388.     ITfCompositionView * This,
  1389.     /* [out] */ ITfRange **ppRange);
  1390. void __RPC_STUB ITfCompositionView_GetRange_Stub(
  1391.     IRpcStubBuffer *This,
  1392.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1393.     PRPC_MESSAGE _pRpcMessage,
  1394.     DWORD *_pdwStubPhase);
  1395. #endif  /* __ITfCompositionView_INTERFACE_DEFINED__ */
  1396. #ifndef __IEnumITfCompositionView_INTERFACE_DEFINED__
  1397. #define __IEnumITfCompositionView_INTERFACE_DEFINED__
  1398. /* interface IEnumITfCompositionView */
  1399. /* [unique][uuid][object] */ 
  1400. EXTERN_C const IID IID_IEnumITfCompositionView;
  1401. #if defined(__cplusplus) && !defined(CINTERFACE)
  1402.     
  1403.     MIDL_INTERFACE("5EFD22BA-7838-46CB-88E2-CADB14124F8F")
  1404.     IEnumITfCompositionView : public IUnknown
  1405.     {
  1406.     public:
  1407.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1408.             /* [out] */ IEnumITfCompositionView **ppEnum) = 0;
  1409.         
  1410.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1411.             /* [in] */ ULONG ulCount,
  1412.             /* [length_is][size_is][out] */ ITfCompositionView **rgCompositionView,
  1413.             /* [out] */ ULONG *pcFetched) = 0;
  1414.         
  1415.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1416.         
  1417.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1418.             /* [in] */ ULONG ulCount) = 0;
  1419.         
  1420.     };
  1421.     
  1422. #else  /* C style interface */
  1423.     typedef struct IEnumITfCompositionViewVtbl
  1424.     {
  1425.         BEGIN_INTERFACE
  1426.         
  1427.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1428.             IEnumITfCompositionView * This,
  1429.             /* [in] */ REFIID riid,
  1430.             /* [iid_is][out] */ void **ppvObject);
  1431.         
  1432.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1433.             IEnumITfCompositionView * This);
  1434.         
  1435.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1436.             IEnumITfCompositionView * This);
  1437.         
  1438.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1439.             IEnumITfCompositionView * This,
  1440.             /* [out] */ IEnumITfCompositionView **ppEnum);
  1441.         
  1442.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1443.             IEnumITfCompositionView * This,
  1444.             /* [in] */ ULONG ulCount,
  1445.             /* [length_is][size_is][out] */ ITfCompositionView **rgCompositionView,
  1446.             /* [out] */ ULONG *pcFetched);
  1447.         
  1448.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1449.             IEnumITfCompositionView * This);
  1450.         
  1451.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1452.             IEnumITfCompositionView * This,
  1453.             /* [in] */ ULONG ulCount);
  1454.         
  1455.         END_INTERFACE
  1456.     } IEnumITfCompositionViewVtbl;
  1457.     interface IEnumITfCompositionView
  1458.     {
  1459.         CONST_VTBL struct IEnumITfCompositionViewVtbl *lpVtbl;
  1460.     };
  1461.     
  1462. #ifdef COBJMACROS
  1463. #define IEnumITfCompositionView_QueryInterface(This,riid,ppvObject)
  1464.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1465. #define IEnumITfCompositionView_AddRef(This)
  1466.     (This)->lpVtbl -> AddRef(This)
  1467. #define IEnumITfCompositionView_Release(This)
  1468.     (This)->lpVtbl -> Release(This)
  1469. #define IEnumITfCompositionView_Clone(This,ppEnum)
  1470.     (This)->lpVtbl -> Clone(This,ppEnum)
  1471. #define IEnumITfCompositionView_Next(This,ulCount,rgCompositionView,pcFetched)
  1472.     (This)->lpVtbl -> Next(This,ulCount,rgCompositionView,pcFetched)
  1473. #define IEnumITfCompositionView_Reset(This)
  1474.     (This)->lpVtbl -> Reset(This)
  1475. #define IEnumITfCompositionView_Skip(This,ulCount)
  1476.     (This)->lpVtbl -> Skip(This,ulCount)
  1477. #endif /* COBJMACROS */
  1478. #endif  /* C style interface */
  1479. HRESULT STDMETHODCALLTYPE IEnumITfCompositionView_Clone_Proxy( 
  1480.     IEnumITfCompositionView * This,
  1481.     /* [out] */ IEnumITfCompositionView **ppEnum);
  1482. void __RPC_STUB IEnumITfCompositionView_Clone_Stub(
  1483.     IRpcStubBuffer *This,
  1484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1485.     PRPC_MESSAGE _pRpcMessage,
  1486.     DWORD *_pdwStubPhase);
  1487. HRESULT STDMETHODCALLTYPE IEnumITfCompositionView_Next_Proxy( 
  1488.     IEnumITfCompositionView * This,
  1489.     /* [in] */ ULONG ulCount,
  1490.     /* [length_is][size_is][out] */ ITfCompositionView **rgCompositionView,
  1491.     /* [out] */ ULONG *pcFetched);
  1492. void __RPC_STUB IEnumITfCompositionView_Next_Stub(
  1493.     IRpcStubBuffer *This,
  1494.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1495.     PRPC_MESSAGE _pRpcMessage,
  1496.     DWORD *_pdwStubPhase);
  1497. HRESULT STDMETHODCALLTYPE IEnumITfCompositionView_Reset_Proxy( 
  1498.     IEnumITfCompositionView * This);
  1499. void __RPC_STUB IEnumITfCompositionView_Reset_Stub(
  1500.     IRpcStubBuffer *This,
  1501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1502.     PRPC_MESSAGE _pRpcMessage,
  1503.     DWORD *_pdwStubPhase);
  1504. HRESULT STDMETHODCALLTYPE IEnumITfCompositionView_Skip_Proxy( 
  1505.     IEnumITfCompositionView * This,
  1506.     /* [in] */ ULONG ulCount);
  1507. void __RPC_STUB IEnumITfCompositionView_Skip_Stub(
  1508.     IRpcStubBuffer *This,
  1509.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1510.     PRPC_MESSAGE _pRpcMessage,
  1511.     DWORD *_pdwStubPhase);
  1512. #endif  /* __IEnumITfCompositionView_INTERFACE_DEFINED__ */
  1513. #ifndef __ITfComposition_INTERFACE_DEFINED__
  1514. #define __ITfComposition_INTERFACE_DEFINED__
  1515. /* interface ITfComposition */
  1516. /* [unique][uuid][object] */ 
  1517. EXTERN_C const IID IID_ITfComposition;
  1518. #if defined(__cplusplus) && !defined(CINTERFACE)
  1519.     
  1520.     MIDL_INTERFACE("20168D64-5A8F-4A5A-B7BD-CFA29F4D0FD9")
  1521.     ITfComposition : public IUnknown
  1522.     {
  1523.     public:
  1524.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  1525.             /* [out] */ ITfRange **ppRange) = 0;
  1526.         
  1527.         virtual HRESULT STDMETHODCALLTYPE ShiftStart( 
  1528.             /* [in] */ TfEditCookie ecWrite,
  1529.             /* [in] */ ITfRange *pNewStart) = 0;
  1530.         
  1531.         virtual HRESULT STDMETHODCALLTYPE ShiftEnd( 
  1532.             /* [in] */ TfEditCookie ecWrite,
  1533.             /* [in] */ ITfRange *pNewEnd) = 0;
  1534.         
  1535.         virtual HRESULT STDMETHODCALLTYPE EndComposition( 
  1536.             /* [in] */ TfEditCookie ecWrite) = 0;
  1537.         
  1538.     };
  1539.     
  1540. #else  /* C style interface */
  1541.     typedef struct ITfCompositionVtbl
  1542.     {
  1543.         BEGIN_INTERFACE
  1544.         
  1545.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1546.             ITfComposition * This,
  1547.             /* [in] */ REFIID riid,
  1548.             /* [iid_is][out] */ void **ppvObject);
  1549.         
  1550.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1551.             ITfComposition * This);
  1552.         
  1553.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1554.             ITfComposition * This);
  1555.         
  1556.         HRESULT ( STDMETHODCALLTYPE *GetRange )( 
  1557.             ITfComposition * This,
  1558.             /* [out] */ ITfRange **ppRange);
  1559.         
  1560.         HRESULT ( STDMETHODCALLTYPE *ShiftStart )( 
  1561.             ITfComposition * This,
  1562.             /* [in] */ TfEditCookie ecWrite,
  1563.             /* [in] */ ITfRange *pNewStart);
  1564.         
  1565.         HRESULT ( STDMETHODCALLTYPE *ShiftEnd )( 
  1566.             ITfComposition * This,
  1567.             /* [in] */ TfEditCookie ecWrite,
  1568.             /* [in] */ ITfRange *pNewEnd);
  1569.         
  1570.         HRESULT ( STDMETHODCALLTYPE *EndComposition )( 
  1571.             ITfComposition * This,
  1572.             /* [in] */ TfEditCookie ecWrite);
  1573.         
  1574.         END_INTERFACE
  1575.     } ITfCompositionVtbl;
  1576.     interface ITfComposition
  1577.     {
  1578.         CONST_VTBL struct ITfCompositionVtbl *lpVtbl;
  1579.     };
  1580.     
  1581. #ifdef COBJMACROS
  1582. #define ITfComposition_QueryInterface(This,riid,ppvObject)
  1583.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1584. #define ITfComposition_AddRef(This)
  1585.     (This)->lpVtbl -> AddRef(This)
  1586. #define ITfComposition_Release(This)
  1587.     (This)->lpVtbl -> Release(This)
  1588. #define ITfComposition_GetRange(This,ppRange)
  1589.     (This)->lpVtbl -> GetRange(This,ppRange)
  1590. #define ITfComposition_ShiftStart(This,ecWrite,pNewStart)
  1591.     (This)->lpVtbl -> ShiftStart(This,ecWrite,pNewStart)
  1592. #define ITfComposition_ShiftEnd(This,ecWrite,pNewEnd)
  1593.     (This)->lpVtbl -> ShiftEnd(This,ecWrite,pNewEnd)
  1594. #define ITfComposition_EndComposition(This,ecWrite)
  1595.     (This)->lpVtbl -> EndComposition(This,ecWrite)
  1596. #endif /* COBJMACROS */
  1597. #endif  /* C style interface */
  1598. HRESULT STDMETHODCALLTYPE ITfComposition_GetRange_Proxy( 
  1599.     ITfComposition * This,
  1600.     /* [out] */ ITfRange **ppRange);
  1601. void __RPC_STUB ITfComposition_GetRange_Stub(
  1602.     IRpcStubBuffer *This,
  1603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1604.     PRPC_MESSAGE _pRpcMessage,
  1605.     DWORD *_pdwStubPhase);
  1606. HRESULT STDMETHODCALLTYPE ITfComposition_ShiftStart_Proxy( 
  1607.     ITfComposition * This,
  1608.     /* [in] */ TfEditCookie ecWrite,
  1609.     /* [in] */ ITfRange *pNewStart);
  1610. void __RPC_STUB ITfComposition_ShiftStart_Stub(
  1611.     IRpcStubBuffer *This,
  1612.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1613.     PRPC_MESSAGE _pRpcMessage,
  1614.     DWORD *_pdwStubPhase);
  1615. HRESULT STDMETHODCALLTYPE ITfComposition_ShiftEnd_Proxy( 
  1616.     ITfComposition * This,
  1617.     /* [in] */ TfEditCookie ecWrite,
  1618.     /* [in] */ ITfRange *pNewEnd);
  1619. void __RPC_STUB ITfComposition_ShiftEnd_Stub(
  1620.     IRpcStubBuffer *This,
  1621.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1622.     PRPC_MESSAGE _pRpcMessage,
  1623.     DWORD *_pdwStubPhase);
  1624. HRESULT STDMETHODCALLTYPE ITfComposition_EndComposition_Proxy( 
  1625.     ITfComposition * This,
  1626.     /* [in] */ TfEditCookie ecWrite);
  1627. void __RPC_STUB ITfComposition_EndComposition_Stub(
  1628.     IRpcStubBuffer *This,
  1629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1630.     PRPC_MESSAGE _pRpcMessage,
  1631.     DWORD *_pdwStubPhase);
  1632. #endif  /* __ITfComposition_INTERFACE_DEFINED__ */
  1633. #ifndef __ITfCompositionSink_INTERFACE_DEFINED__
  1634. #define __ITfCompositionSink_INTERFACE_DEFINED__
  1635. /* interface ITfCompositionSink */
  1636. /* [unique][uuid][object] */ 
  1637. EXTERN_C const IID IID_ITfCompositionSink;
  1638. #if defined(__cplusplus) && !defined(CINTERFACE)
  1639.     
  1640.     MIDL_INTERFACE("A781718C-579A-4B15-A280-32B8577ACC5E")
  1641.     ITfCompositionSink : public IUnknown
  1642.     {
  1643.     public:
  1644.         virtual HRESULT STDMETHODCALLTYPE OnCompositionTerminated( 
  1645.             /* [in] */ TfEditCookie ecWrite,
  1646.             /* [in] */ ITfComposition *pComposition) = 0;
  1647.         
  1648.     };
  1649.     
  1650. #else  /* C style interface */
  1651.     typedef struct ITfCompositionSinkVtbl
  1652.     {
  1653.         BEGIN_INTERFACE
  1654.         
  1655.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1656.             ITfCompositionSink * This,
  1657.             /* [in] */ REFIID riid,
  1658.             /* [iid_is][out] */ void **ppvObject);
  1659.         
  1660.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1661.             ITfCompositionSink * This);
  1662.         
  1663.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1664.             ITfCompositionSink * This);
  1665.         
  1666.         HRESULT ( STDMETHODCALLTYPE *OnCompositionTerminated )( 
  1667.             ITfCompositionSink * This,
  1668.             /* [in] */ TfEditCookie ecWrite,
  1669.             /* [in] */ ITfComposition *pComposition);
  1670.         
  1671.         END_INTERFACE
  1672.     } ITfCompositionSinkVtbl;
  1673.     interface ITfCompositionSink
  1674.     {
  1675.         CONST_VTBL struct ITfCompositionSinkVtbl *lpVtbl;
  1676.     };
  1677.     
  1678. #ifdef COBJMACROS
  1679. #define ITfCompositionSink_QueryInterface(This,riid,ppvObject)
  1680.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1681. #define ITfCompositionSink_AddRef(This)
  1682.     (This)->lpVtbl -> AddRef(This)
  1683. #define ITfCompositionSink_Release(This)
  1684.     (This)->lpVtbl -> Release(This)
  1685. #define ITfCompositionSink_OnCompositionTerminated(This,ecWrite,pComposition)
  1686.     (This)->lpVtbl -> OnCompositionTerminated(This,ecWrite,pComposition)
  1687. #endif /* COBJMACROS */
  1688. #endif  /* C style interface */
  1689. HRESULT STDMETHODCALLTYPE ITfCompositionSink_OnCompositionTerminated_Proxy( 
  1690.     ITfCompositionSink * This,
  1691.     /* [in] */ TfEditCookie ecWrite,
  1692.     /* [in] */ ITfComposition *pComposition);
  1693. void __RPC_STUB ITfCompositionSink_OnCompositionTerminated_Stub(
  1694.     IRpcStubBuffer *This,
  1695.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1696.     PRPC_MESSAGE _pRpcMessage,
  1697.     DWORD *_pdwStubPhase);
  1698. #endif  /* __ITfCompositionSink_INTERFACE_DEFINED__ */
  1699. #ifndef __ITfContextComposition_INTERFACE_DEFINED__
  1700. #define __ITfContextComposition_INTERFACE_DEFINED__
  1701. /* interface ITfContextComposition */
  1702. /* [unique][uuid][object] */ 
  1703. EXTERN_C const IID IID_ITfContextComposition;
  1704. #if defined(__cplusplus) && !defined(CINTERFACE)
  1705.     
  1706.     MIDL_INTERFACE("D40C8AAE-AC92-4FC7-9A11-0EE0E23AA39B")
  1707.     ITfContextComposition : public IUnknown
  1708.     {
  1709.     public:
  1710.         virtual HRESULT STDMETHODCALLTYPE StartComposition( 
  1711.             /* [in] */ TfEditCookie ecWrite,
  1712.             /* [in] */ ITfRange *pCompositionRange,
  1713.             /* [in] */ ITfCompositionSink *pSink,
  1714.             /* [out] */ ITfComposition **ppComposition) = 0;
  1715.         
  1716.         virtual HRESULT STDMETHODCALLTYPE EnumCompositions( 
  1717.             /* [out] */ IEnumITfCompositionView **ppEnum) = 0;
  1718.         
  1719.         virtual HRESULT STDMETHODCALLTYPE FindComposition( 
  1720.             /* [in] */ TfEditCookie ecRead,
  1721.             /* [in] */ ITfRange *pTestRange,
  1722.             /* [out] */ IEnumITfCompositionView **ppEnum) = 0;
  1723.         
  1724.         virtual HRESULT STDMETHODCALLTYPE TakeOwnership( 
  1725.             /* [in] */ TfEditCookie ecWrite,
  1726.             /* [in] */ ITfCompositionView *pComposition,
  1727.             /* [in] */ ITfCompositionSink *pSink,
  1728.             /* [out] */ ITfComposition **ppComposition) = 0;
  1729.         
  1730.     };
  1731.     
  1732. #else  /* C style interface */
  1733.     typedef struct ITfContextCompositionVtbl
  1734.     {
  1735.         BEGIN_INTERFACE
  1736.         
  1737.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1738.             ITfContextComposition * This,
  1739.             /* [in] */ REFIID riid,
  1740.             /* [iid_is][out] */ void **ppvObject);
  1741.         
  1742.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1743.             ITfContextComposition * This);
  1744.         
  1745.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1746.             ITfContextComposition * This);
  1747.         
  1748.         HRESULT ( STDMETHODCALLTYPE *StartComposition )( 
  1749.             ITfContextComposition * This,
  1750.             /* [in] */ TfEditCookie ecWrite,
  1751.             /* [in] */ ITfRange *pCompositionRange,
  1752.             /* [in] */ ITfCompositionSink *pSink,
  1753.             /* [out] */ ITfComposition **ppComposition);
  1754.         
  1755.         HRESULT ( STDMETHODCALLTYPE *EnumCompositions )( 
  1756.             ITfContextComposition * This,
  1757.             /* [out] */ IEnumITfCompositionView **ppEnum);
  1758.         
  1759.         HRESULT ( STDMETHODCALLTYPE *FindComposition )( 
  1760.             ITfContextComposition * This,
  1761.             /* [in] */ TfEditCookie ecRead,
  1762.             /* [in] */ ITfRange *pTestRange,
  1763.             /* [out] */ IEnumITfCompositionView **ppEnum);
  1764.         
  1765.         HRESULT ( STDMETHODCALLTYPE *TakeOwnership )( 
  1766.             ITfContextComposition * This,
  1767.             /* [in] */ TfEditCookie ecWrite,
  1768.             /* [in] */ ITfCompositionView *pComposition,
  1769.             /* [in] */ ITfCompositionSink *pSink,
  1770.             /* [out] */ ITfComposition **ppComposition);
  1771.         
  1772.         END_INTERFACE
  1773.     } ITfContextCompositionVtbl;
  1774.     interface ITfContextComposition
  1775.     {
  1776.         CONST_VTBL struct ITfContextCompositionVtbl *lpVtbl;
  1777.     };
  1778.     
  1779. #ifdef COBJMACROS
  1780. #define ITfContextComposition_QueryInterface(This,riid,ppvObject)
  1781.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1782. #define ITfContextComposition_AddRef(This)
  1783.     (This)->lpVtbl -> AddRef(This)
  1784. #define ITfContextComposition_Release(This)
  1785.     (This)->lpVtbl -> Release(This)
  1786. #define ITfContextComposition_StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition)
  1787.     (This)->lpVtbl -> StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition)
  1788. #define ITfContextComposition_EnumCompositions(This,ppEnum)
  1789.     (This)->lpVtbl -> EnumCompositions(This,ppEnum)
  1790. #define ITfContextComposition_FindComposition(This,ecRead,pTestRange,ppEnum)
  1791.     (This)->lpVtbl -> FindComposition(This,ecRead,pTestRange,ppEnum)
  1792. #define ITfContextComposition_TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition)
  1793.     (This)->lpVtbl -> TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition)
  1794. #endif /* COBJMACROS */
  1795. #endif  /* C style interface */
  1796. HRESULT STDMETHODCALLTYPE ITfContextComposition_StartComposition_Proxy( 
  1797.     ITfContextComposition * This,
  1798.     /* [in] */ TfEditCookie ecWrite,
  1799.     /* [in] */ ITfRange *pCompositionRange,
  1800.     /* [in] */ ITfCompositionSink *pSink,
  1801.     /* [out] */ ITfComposition **ppComposition);
  1802. void __RPC_STUB ITfContextComposition_StartComposition_Stub(
  1803.     IRpcStubBuffer *This,
  1804.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1805.     PRPC_MESSAGE _pRpcMessage,
  1806.     DWORD *_pdwStubPhase);
  1807. HRESULT STDMETHODCALLTYPE ITfContextComposition_EnumCompositions_Proxy( 
  1808.     ITfContextComposition * This,
  1809.     /* [out] */ IEnumITfCompositionView **ppEnum);
  1810. void __RPC_STUB ITfContextComposition_EnumCompositions_Stub(
  1811.     IRpcStubBuffer *This,
  1812.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1813.     PRPC_MESSAGE _pRpcMessage,
  1814.     DWORD *_pdwStubPhase);
  1815. HRESULT STDMETHODCALLTYPE ITfContextComposition_FindComposition_Proxy( 
  1816.     ITfContextComposition * This,
  1817.     /* [in] */ TfEditCookie ecRead,
  1818.     /* [in] */ ITfRange *pTestRange,
  1819.     /* [out] */ IEnumITfCompositionView **ppEnum);
  1820. void __RPC_STUB ITfContextComposition_FindComposition_Stub(
  1821.     IRpcStubBuffer *This,
  1822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1823.     PRPC_MESSAGE _pRpcMessage,
  1824.     DWORD *_pdwStubPhase);
  1825. HRESULT STDMETHODCALLTYPE ITfContextComposition_TakeOwnership_Proxy( 
  1826.     ITfContextComposition * This,
  1827.     /* [in] */ TfEditCookie ecWrite,
  1828.     /* [in] */ ITfCompositionView *pComposition,
  1829.     /* [in] */ ITfCompositionSink *pSink,
  1830.     /* [out] */ ITfComposition **ppComposition);
  1831. void __RPC_STUB ITfContextComposition_TakeOwnership_Stub(
  1832.     IRpcStubBuffer *This,
  1833.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1834.     PRPC_MESSAGE _pRpcMessage,
  1835.     DWORD *_pdwStubPhase);
  1836. #endif  /* __ITfContextComposition_INTERFACE_DEFINED__ */
  1837. #ifndef __ITfContextOwnerCompositionServices_INTERFACE_DEFINED__
  1838. #define __ITfContextOwnerCompositionServices_INTERFACE_DEFINED__
  1839. /* interface ITfContextOwnerCompositionServices */
  1840. /* [unique][uuid][object] */ 
  1841. EXTERN_C const IID IID_ITfContextOwnerCompositionServices;
  1842. #if defined(__cplusplus) && !defined(CINTERFACE)
  1843.     
  1844.     MIDL_INTERFACE("86462810-593B-4916-9764-19C08E9CE110")
  1845.     ITfContextOwnerCompositionServices : public ITfContextComposition
  1846.     {
  1847.     public:
  1848.         virtual HRESULT STDMETHODCALLTYPE TerminateComposition( 
  1849.             /* [in] */ ITfCompositionView *pComposition) = 0;
  1850.         
  1851.     };
  1852.     
  1853. #else  /* C style interface */
  1854.     typedef struct ITfContextOwnerCompositionServicesVtbl
  1855.     {
  1856.         BEGIN_INTERFACE
  1857.         
  1858.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1859.             ITfContextOwnerCompositionServices * This,
  1860.             /* [in] */ REFIID riid,
  1861.             /* [iid_is][out] */ void **ppvObject);
  1862.         
  1863.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1864.             ITfContextOwnerCompositionServices * This);
  1865.         
  1866.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1867.             ITfContextOwnerCompositionServices * This);
  1868.         
  1869.         HRESULT ( STDMETHODCALLTYPE *StartComposition )( 
  1870.             ITfContextOwnerCompositionServices * This,
  1871.             /* [in] */ TfEditCookie ecWrite,
  1872.             /* [in] */ ITfRange *pCompositionRange,
  1873.             /* [in] */ ITfCompositionSink *pSink,
  1874.             /* [out] */ ITfComposition **ppComposition);
  1875.         
  1876.         HRESULT ( STDMETHODCALLTYPE *EnumCompositions )( 
  1877.             ITfContextOwnerCompositionServices * This,
  1878.             /* [out] */ IEnumITfCompositionView **ppEnum);
  1879.         
  1880.         HRESULT ( STDMETHODCALLTYPE *FindComposition )( 
  1881.             ITfContextOwnerCompositionServices * This,
  1882.             /* [in] */ TfEditCookie ecRead,
  1883.             /* [in] */ ITfRange *pTestRange,
  1884.             /* [out] */ IEnumITfCompositionView **ppEnum);
  1885.         
  1886.         HRESULT ( STDMETHODCALLTYPE *TakeOwnership )( 
  1887.             ITfContextOwnerCompositionServices * This,
  1888.             /* [in] */ TfEditCookie ecWrite,
  1889.             /* [in] */ ITfCompositionView *pComposition,
  1890.             /* [in] */ ITfCompositionSink *pSink,
  1891.             /* [out] */ ITfComposition **ppComposition);
  1892.         
  1893.         HRESULT ( STDMETHODCALLTYPE *TerminateComposition )( 
  1894.             ITfContextOwnerCompositionServices * This,
  1895.             /* [in] */ ITfCompositionView *pComposition);
  1896.         
  1897.         END_INTERFACE
  1898.     } ITfContextOwnerCompositionServicesVtbl;
  1899.     interface ITfContextOwnerCompositionServices
  1900.     {
  1901.         CONST_VTBL struct ITfContextOwnerCompositionServicesVtbl *lpVtbl;
  1902.     };
  1903.     
  1904. #ifdef COBJMACROS
  1905. #define ITfContextOwnerCompositionServices_QueryInterface(This,riid,ppvObject)
  1906.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1907. #define ITfContextOwnerCompositionServices_AddRef(This)
  1908.     (This)->lpVtbl -> AddRef(This)
  1909. #define ITfContextOwnerCompositionServices_Release(This)
  1910.     (This)->lpVtbl -> Release(This)
  1911. #define ITfContextOwnerCompositionServices_StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition)
  1912.     (This)->lpVtbl -> StartComposition(This,ecWrite,pCompositionRange,pSink,ppComposition)
  1913. #define ITfContextOwnerCompositionServices_EnumCompositions(This,ppEnum)
  1914.     (This)->lpVtbl -> EnumCompositions(This,ppEnum)
  1915. #define ITfContextOwnerCompositionServices_FindComposition(This,ecRead,pTestRange,ppEnum)
  1916.     (This)->lpVtbl -> FindComposition(This,ecRead,pTestRange,ppEnum)
  1917. #define ITfContextOwnerCompositionServices_TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition)
  1918.     (This)->lpVtbl -> TakeOwnership(This,ecWrite,pComposition,pSink,ppComposition)
  1919. #define ITfContextOwnerCompositionServices_TerminateComposition(This,pComposition)
  1920.     (This)->lpVtbl -> TerminateComposition(This,pComposition)
  1921. #endif /* COBJMACROS */
  1922. #endif  /* C style interface */
  1923. HRESULT STDMETHODCALLTYPE ITfContextOwnerCompositionServices_TerminateComposition_Proxy( 
  1924.     ITfContextOwnerCompositionServices * This,
  1925.     /* [in] */ ITfCompositionView *pComposition);
  1926. void __RPC_STUB ITfContextOwnerCompositionServices_TerminateComposition_Stub(
  1927.     IRpcStubBuffer *This,
  1928.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1929.     PRPC_MESSAGE _pRpcMessage,
  1930.     DWORD *_pdwStubPhase);
  1931. #endif  /* __ITfContextOwnerCompositionServices_INTERFACE_DEFINED__ */
  1932. #ifndef __ITfContextOwnerCompositionSink_INTERFACE_DEFINED__
  1933. #define __ITfContextOwnerCompositionSink_INTERFACE_DEFINED__
  1934. /* interface ITfContextOwnerCompositionSink */
  1935. /* [unique][uuid][object] */ 
  1936. EXTERN_C const IID IID_ITfContextOwnerCompositionSink;
  1937. #if defined(__cplusplus) && !defined(CINTERFACE)
  1938.     
  1939.     MIDL_INTERFACE("5F20AA40-B57A-4F34-96AB-3576F377CC79")
  1940.     ITfContextOwnerCompositionSink : public IUnknown
  1941.     {
  1942.     public:
  1943.         virtual HRESULT STDMETHODCALLTYPE OnStartComposition( 
  1944.             /* [in] */ ITfCompositionView *pComposition,
  1945.             /* [out] */ BOOL *pfOk) = 0;
  1946.         
  1947.         virtual HRESULT STDMETHODCALLTYPE OnUpdateComposition( 
  1948.             /* [in] */ ITfCompositionView *pComposition,
  1949.             /* [in] */ ITfRange *pRangeNew) = 0;
  1950.         
  1951.         virtual HRESULT STDMETHODCALLTYPE OnEndComposition( 
  1952.             /* [in] */ ITfCompositionView *pComposition) = 0;
  1953.         
  1954.     };
  1955.     
  1956. #else  /* C style interface */
  1957.     typedef struct ITfContextOwnerCompositionSinkVtbl
  1958.     {
  1959.         BEGIN_INTERFACE
  1960.         
  1961.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1962.             ITfContextOwnerCompositionSink * This,
  1963.             /* [in] */ REFIID riid,
  1964.             /* [iid_is][out] */ void **ppvObject);
  1965.         
  1966.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1967.             ITfContextOwnerCompositionSink * This);
  1968.         
  1969.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1970.             ITfContextOwnerCompositionSink * This);
  1971.         
  1972.         HRESULT ( STDMETHODCALLTYPE *OnStartComposition )( 
  1973.             ITfContextOwnerCompositionSink * This,
  1974.             /* [in] */ ITfCompositionView *pComposition,
  1975.             /* [out] */ BOOL *pfOk);
  1976.         
  1977.         HRESULT ( STDMETHODCALLTYPE *OnUpdateComposition )( 
  1978.             ITfContextOwnerCompositionSink * This,
  1979.             /* [in] */ ITfCompositionView *pComposition,
  1980.             /* [in] */ ITfRange *pRangeNew);
  1981.         
  1982.         HRESULT ( STDMETHODCALLTYPE *OnEndComposition )( 
  1983.             ITfContextOwnerCompositionSink * This,
  1984.             /* [in] */ ITfCompositionView *pComposition);
  1985.         
  1986.         END_INTERFACE
  1987.     } ITfContextOwnerCompositionSinkVtbl;
  1988.     interface ITfContextOwnerCompositionSink
  1989.     {
  1990.         CONST_VTBL struct ITfContextOwnerCompositionSinkVtbl *lpVtbl;
  1991.     };
  1992.     
  1993. #ifdef COBJMACROS
  1994. #define ITfContextOwnerCompositionSink_QueryInterface(This,riid,ppvObject)
  1995.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1996. #define ITfContextOwnerCompositionSink_AddRef(This)
  1997.     (This)->lpVtbl -> AddRef(This)
  1998. #define ITfContextOwnerCompositionSink_Release(This)
  1999.     (This)->lpVtbl -> Release(This)
  2000. #define ITfContextOwnerCompositionSink_OnStartComposition(This,pComposition,pfOk)
  2001.     (This)->lpVtbl -> OnStartComposition(This,pComposition,pfOk)
  2002. #define ITfContextOwnerCompositionSink_OnUpdateComposition(This,pComposition,pRangeNew)
  2003.     (This)->lpVtbl -> OnUpdateComposition(This,pComposition,pRangeNew)
  2004. #define ITfContextOwnerCompositionSink_OnEndComposition(This,pComposition)
  2005.     (This)->lpVtbl -> OnEndComposition(This,pComposition)
  2006. #endif /* COBJMACROS */
  2007. #endif  /* C style interface */
  2008. HRESULT STDMETHODCALLTYPE ITfContextOwnerCompositionSink_OnStartComposition_Proxy( 
  2009.     ITfContextOwnerCompositionSink * This,
  2010.     /* [in] */ ITfCompositionView *pComposition,
  2011.     /* [out] */ BOOL *pfOk);
  2012. void __RPC_STUB ITfContextOwnerCompositionSink_OnStartComposition_Stub(
  2013.     IRpcStubBuffer *This,
  2014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2015.     PRPC_MESSAGE _pRpcMessage,
  2016.     DWORD *_pdwStubPhase);
  2017. HRESULT STDMETHODCALLTYPE ITfContextOwnerCompositionSink_OnUpdateComposition_Proxy( 
  2018.     ITfContextOwnerCompositionSink * This,
  2019.     /* [in] */ ITfCompositionView *pComposition,
  2020.     /* [in] */ ITfRange *pRangeNew);
  2021. void __RPC_STUB ITfContextOwnerCompositionSink_OnUpdateComposition_Stub(
  2022.     IRpcStubBuffer *This,
  2023.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2024.     PRPC_MESSAGE _pRpcMessage,
  2025.     DWORD *_pdwStubPhase);
  2026. HRESULT STDMETHODCALLTYPE ITfContextOwnerCompositionSink_OnEndComposition_Proxy( 
  2027.     ITfContextOwnerCompositionSink * This,
  2028.     /* [in] */ ITfCompositionView *pComposition);
  2029. void __RPC_STUB ITfContextOwnerCompositionSink_OnEndComposition_Stub(
  2030.     IRpcStubBuffer *This,
  2031.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2032.     PRPC_MESSAGE _pRpcMessage,
  2033.     DWORD *_pdwStubPhase);
  2034. #endif  /* __ITfContextOwnerCompositionSink_INTERFACE_DEFINED__ */
  2035. #ifndef __ITfContextView_INTERFACE_DEFINED__
  2036. #define __ITfContextView_INTERFACE_DEFINED__
  2037. /* interface ITfContextView */
  2038. /* [unique][uuid][object] */ 
  2039. EXTERN_C const IID IID_ITfContextView;
  2040. #if defined(__cplusplus) && !defined(CINTERFACE)
  2041.     
  2042.     MIDL_INTERFACE("2433bf8e-0f9b-435c-ba2c-180611978c30")
  2043.     ITfContextView : public IUnknown
  2044.     {
  2045.     public:
  2046.         virtual HRESULT STDMETHODCALLTYPE GetRangeFromPoint( 
  2047.             /* [in] */ TfEditCookie ec,
  2048.             /* [in] */ const POINT *ppt,
  2049.             /* [in] */ DWORD dwFlags,
  2050.             /* [out] */ ITfRange **ppRange) = 0;
  2051.         
  2052.         virtual HRESULT STDMETHODCALLTYPE GetTextExt( 
  2053.             /* [in] */ TfEditCookie ec,
  2054.             /* [in] */ ITfRange *pRange,
  2055.             /* [out] */ RECT *prc,
  2056.             /* [out] */ BOOL *pfClipped) = 0;
  2057.         
  2058.         virtual HRESULT STDMETHODCALLTYPE GetScreenExt( 
  2059.             /* [out] */ RECT *prc) = 0;
  2060.         
  2061.         virtual HRESULT STDMETHODCALLTYPE GetWnd( 
  2062.             /* [out] */ HWND *phwnd) = 0;
  2063.         
  2064.     };
  2065.     
  2066. #else  /* C style interface */
  2067.     typedef struct ITfContextViewVtbl
  2068.     {
  2069.         BEGIN_INTERFACE
  2070.         
  2071.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2072.             ITfContextView * This,
  2073.             /* [in] */ REFIID riid,
  2074.             /* [iid_is][out] */ void **ppvObject);
  2075.         
  2076.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2077.             ITfContextView * This);
  2078.         
  2079.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2080.             ITfContextView * This);
  2081.         
  2082.         HRESULT ( STDMETHODCALLTYPE *GetRangeFromPoint )( 
  2083.             ITfContextView * This,
  2084.             /* [in] */ TfEditCookie ec,
  2085.             /* [in] */ const POINT *ppt,
  2086.             /* [in] */ DWORD dwFlags,
  2087.             /* [out] */ ITfRange **ppRange);
  2088.         
  2089.         HRESULT ( STDMETHODCALLTYPE *GetTextExt )( 
  2090.             ITfContextView * This,
  2091.             /* [in] */ TfEditCookie ec,
  2092.             /* [in] */ ITfRange *pRange,
  2093.             /* [out] */ RECT *prc,
  2094.             /* [out] */ BOOL *pfClipped);
  2095.         
  2096.         HRESULT ( STDMETHODCALLTYPE *GetScreenExt )( 
  2097.             ITfContextView * This,
  2098.             /* [out] */ RECT *prc);
  2099.         
  2100.         HRESULT ( STDMETHODCALLTYPE *GetWnd )( 
  2101.             ITfContextView * This,
  2102.             /* [out] */ HWND *phwnd);
  2103.         
  2104.         END_INTERFACE
  2105.     } ITfContextViewVtbl;
  2106.     interface ITfContextView
  2107.     {
  2108.         CONST_VTBL struct ITfContextViewVtbl *lpVtbl;
  2109.     };
  2110.     
  2111. #ifdef COBJMACROS
  2112. #define ITfContextView_QueryInterface(This,riid,ppvObject)
  2113.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2114. #define ITfContextView_AddRef(This)
  2115.     (This)->lpVtbl -> AddRef(This)
  2116. #define ITfContextView_Release(This)
  2117.     (This)->lpVtbl -> Release(This)
  2118. #define ITfContextView_GetRangeFromPoint(This,ec,ppt,dwFlags,ppRange)
  2119.     (This)->lpVtbl -> GetRangeFromPoint(This,ec,ppt,dwFlags,ppRange)
  2120. #define ITfContextView_GetTextExt(This,ec,pRange,prc,pfClipped)
  2121.     (This)->lpVtbl -> GetTextExt(This,ec,pRange,prc,pfClipped)
  2122. #define ITfContextView_GetScreenExt(This,prc)
  2123.     (This)->lpVtbl -> GetScreenExt(This,prc)
  2124. #define ITfContextView_GetWnd(This,phwnd)
  2125.     (This)->lpVtbl -> GetWnd(This,phwnd)
  2126. #endif /* COBJMACROS */
  2127. #endif  /* C style interface */
  2128. HRESULT STDMETHODCALLTYPE ITfContextView_GetRangeFromPoint_Proxy( 
  2129.     ITfContextView * This,
  2130.     /* [in] */ TfEditCookie ec,
  2131.     /* [in] */ const POINT *ppt,
  2132.     /* [in] */ DWORD dwFlags,
  2133.     /* [out] */ ITfRange **ppRange);
  2134. void __RPC_STUB ITfContextView_GetRangeFromPoint_Stub(
  2135.     IRpcStubBuffer *This,
  2136.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2137.     PRPC_MESSAGE _pRpcMessage,
  2138.     DWORD *_pdwStubPhase);
  2139. HRESULT STDMETHODCALLTYPE ITfContextView_GetTextExt_Proxy( 
  2140.     ITfContextView * This,
  2141.     /* [in] */ TfEditCookie ec,
  2142.     /* [in] */ ITfRange *pRange,
  2143.     /* [out] */ RECT *prc,
  2144.     /* [out] */ BOOL *pfClipped);
  2145. void __RPC_STUB ITfContextView_GetTextExt_Stub(
  2146.     IRpcStubBuffer *This,
  2147.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2148.     PRPC_MESSAGE _pRpcMessage,
  2149.     DWORD *_pdwStubPhase);
  2150. HRESULT STDMETHODCALLTYPE ITfContextView_GetScreenExt_Proxy( 
  2151.     ITfContextView * This,
  2152.     /* [out] */ RECT *prc);
  2153. void __RPC_STUB ITfContextView_GetScreenExt_Stub(
  2154.     IRpcStubBuffer *This,
  2155.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2156.     PRPC_MESSAGE _pRpcMessage,
  2157.     DWORD *_pdwStubPhase);
  2158. HRESULT STDMETHODCALLTYPE ITfContextView_GetWnd_Proxy( 
  2159.     ITfContextView * This,
  2160.     /* [out] */ HWND *phwnd);
  2161. void __RPC_STUB ITfContextView_GetWnd_Stub(
  2162.     IRpcStubBuffer *This,
  2163.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2164.     PRPC_MESSAGE _pRpcMessage,
  2165.     DWORD *_pdwStubPhase);
  2166. #endif  /* __ITfContextView_INTERFACE_DEFINED__ */
  2167. #ifndef __IEnumTfContextViews_INTERFACE_DEFINED__
  2168. #define __IEnumTfContextViews_INTERFACE_DEFINED__
  2169. /* interface IEnumTfContextViews */
  2170. /* [unique][uuid][object] */ 
  2171. EXTERN_C const IID IID_IEnumTfContextViews;
  2172. #if defined(__cplusplus) && !defined(CINTERFACE)
  2173.     
  2174.     MIDL_INTERFACE("F0C0F8DD-CF38-44E1-BB0F-68CF0D551C78")
  2175.     IEnumTfContextViews : public IUnknown
  2176.     {
  2177.     public:
  2178.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  2179.             /* [out] */ IEnumTfContextViews **ppEnum) = 0;
  2180.         
  2181.         virtual HRESULT STDMETHODCALLTYPE Next( 
  2182.             /* [in] */ ULONG ulCount,
  2183.             /* [length_is][size_is][out] */ ITfContextView **rgViews,
  2184.             /* [out] */ ULONG *pcFetched) = 0;
  2185.         
  2186.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2187.         
  2188.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  2189.             /* [in] */ ULONG ulCount) = 0;
  2190.         
  2191.     };
  2192.     
  2193. #else  /* C style interface */
  2194.     typedef struct IEnumTfContextViewsVtbl
  2195.     {
  2196.         BEGIN_INTERFACE
  2197.         
  2198.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2199.             IEnumTfContextViews * This,
  2200.             /* [in] */ REFIID riid,
  2201.             /* [iid_is][out] */ void **ppvObject);
  2202.         
  2203.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2204.             IEnumTfContextViews * This);
  2205.         
  2206.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2207.             IEnumTfContextViews * This);
  2208.         
  2209.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  2210.             IEnumTfContextViews * This,
  2211.             /* [out] */ IEnumTfContextViews **ppEnum);
  2212.         
  2213.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  2214.             IEnumTfContextViews * This,
  2215.             /* [in] */ ULONG ulCount,
  2216.             /* [length_is][size_is][out] */ ITfContextView **rgViews,
  2217.             /* [out] */ ULONG *pcFetched);
  2218.         
  2219.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  2220.             IEnumTfContextViews * This);
  2221.         
  2222.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  2223.             IEnumTfContextViews * This,
  2224.             /* [in] */ ULONG ulCount);
  2225.         
  2226.         END_INTERFACE
  2227.     } IEnumTfContextViewsVtbl;
  2228.     interface IEnumTfContextViews
  2229.     {
  2230.         CONST_VTBL struct IEnumTfContextViewsVtbl *lpVtbl;
  2231.     };
  2232.     
  2233. #ifdef COBJMACROS
  2234. #define IEnumTfContextViews_QueryInterface(This,riid,ppvObject)
  2235.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2236. #define IEnumTfContextViews_AddRef(This)
  2237.     (This)->lpVtbl -> AddRef(This)
  2238. #define IEnumTfContextViews_Release(This)
  2239.     (This)->lpVtbl -> Release(This)
  2240. #define IEnumTfContextViews_Clone(This,ppEnum)
  2241.     (This)->lpVtbl -> Clone(This,ppEnum)
  2242. #define IEnumTfContextViews_Next(This,ulCount,rgViews,pcFetched)
  2243.     (This)->lpVtbl -> Next(This,ulCount,rgViews,pcFetched)
  2244. #define IEnumTfContextViews_Reset(This)
  2245.     (This)->lpVtbl -> Reset(This)
  2246. #define IEnumTfContextViews_Skip(This,ulCount)
  2247.     (This)->lpVtbl -> Skip(This,ulCount)
  2248. #endif /* COBJMACROS */
  2249. #endif  /* C style interface */
  2250. HRESULT STDMETHODCALLTYPE IEnumTfContextViews_Clone_Proxy( 
  2251.     IEnumTfContextViews * This,
  2252.     /* [out] */ IEnumTfContextViews **ppEnum);
  2253. void __RPC_STUB IEnumTfContextViews_Clone_Stub(
  2254.     IRpcStubBuffer *This,
  2255.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2256.     PRPC_MESSAGE _pRpcMessage,
  2257.     DWORD *_pdwStubPhase);
  2258. HRESULT STDMETHODCALLTYPE IEnumTfContextViews_Next_Proxy( 
  2259.     IEnumTfContextViews * This,
  2260.     /* [in] */ ULONG ulCount,
  2261.     /* [length_is][size_is][out] */ ITfContextView **rgViews,
  2262.     /* [out] */ ULONG *pcFetched);
  2263. void __RPC_STUB IEnumTfContextViews_Next_Stub(
  2264.     IRpcStubBuffer *This,
  2265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2266.     PRPC_MESSAGE _pRpcMessage,
  2267.     DWORD *_pdwStubPhase);
  2268. HRESULT STDMETHODCALLTYPE IEnumTfContextViews_Reset_Proxy( 
  2269.     IEnumTfContextViews * This);
  2270. void __RPC_STUB IEnumTfContextViews_Reset_Stub(
  2271.     IRpcStubBuffer *This,
  2272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2273.     PRPC_MESSAGE _pRpcMessage,
  2274.     DWORD *_pdwStubPhase);
  2275. HRESULT STDMETHODCALLTYPE IEnumTfContextViews_Skip_Proxy( 
  2276.     IEnumTfContextViews * This,
  2277.     /* [in] */ ULONG ulCount);
  2278. void __RPC_STUB IEnumTfContextViews_Skip_Stub(
  2279.     IRpcStubBuffer *This,
  2280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2281.     PRPC_MESSAGE _pRpcMessage,
  2282.     DWORD *_pdwStubPhase);
  2283. #endif  /* __IEnumTfContextViews_INTERFACE_DEFINED__ */
  2284. #ifndef __ITfContext_INTERFACE_DEFINED__
  2285. #define __ITfContext_INTERFACE_DEFINED__
  2286. /* interface ITfContext */
  2287. /* [unique][uuid][object] */ 
  2288. #define TF_ES_ASYNCDONTCARE ( 0 )
  2289. #define TF_ES_SYNC ( 0x1 )
  2290. #define TF_ES_READ ( 0x2 )
  2291. #define TF_ES_READWRITE ( 0x6 )
  2292. #define TF_ES_ASYNC ( 0x8 )
  2293. typedef /* [public][public][public][public][public][uuid] */  DECLSPEC_UUID("1690be9b-d3e9-49f6-8d8b-51b905af4c43") 
  2294. enum __MIDL_ITfContext_0001
  2295.     { TF_AE_NONE = 0,
  2296. TF_AE_START = 1,
  2297. TF_AE_END = 2
  2298.     }  TfActiveSelEnd;
  2299. typedef /* [uuid] */  DECLSPEC_UUID("36ae42a4-6989-4bdc-b48a-6137b7bf2e42") struct TF_SELECTIONSTYLE
  2300.     {
  2301.     TfActiveSelEnd ase;
  2302.     BOOL fInterimChar;
  2303.     }  TF_SELECTIONSTYLE;
  2304. typedef /* [uuid] */  DECLSPEC_UUID("75eb22f2-b0bf-46a8-8006-975a3b6efcf1") struct TF_SELECTION
  2305.     {
  2306.     ITfRange *range;
  2307.     TF_SELECTIONSTYLE style;
  2308.     }  TF_SELECTION;
  2309. #define TF_DEFAULT_SELECTION ( TS_DEFAULT_SELECTION )
  2310. #define TF_SD_READONLY ( TS_SD_READONLY )
  2311. #define TF_SD_LOADING ( TS_SD_LOADING )
  2312. #define TF_SS_DISJOINTSEL ( TS_SS_DISJOINTSEL )
  2313. #define TF_SS_REGIONS ( TS_SS_REGIONS )
  2314. #define TF_SS_TRANSITORY ( TS_SS_TRANSITORY )
  2315. typedef /* [uuid] */  DECLSPEC_UUID("bc7d979a-846a-444d-afef-0a9bfa82b961") TS_STATUS TF_STATUS;
  2316. EXTERN_C const IID IID_ITfContext;
  2317. #if defined(__cplusplus) && !defined(CINTERFACE)
  2318.     
  2319.     MIDL_INTERFACE("aa80e7fd-2021-11d2-93e0-0060b067b86e")
  2320.     ITfContext : public IUnknown
  2321.     {
  2322.     public:
  2323.         virtual HRESULT STDMETHODCALLTYPE RequestEditSession( 
  2324.             /* [in] */ TfClientId tid,
  2325.             /* [in] */ ITfEditSession *pes,
  2326.             /* [in] */ DWORD dwFlags,
  2327.             /* [out] */ HRESULT *phrSession) = 0;
  2328.         
  2329.         virtual HRESULT STDMETHODCALLTYPE InWriteSession( 
  2330.             /* [in] */ TfClientId tid,
  2331.             /* [out] */ BOOL *pfWriteSession) = 0;
  2332.         
  2333.         virtual HRESULT STDMETHODCALLTYPE GetSelection( 
  2334.             /* [in] */ TfEditCookie ec,
  2335.             /* [in] */ ULONG ulIndex,
  2336.             /* [in] */ ULONG ulCount,
  2337.             /* [length_is][size_is][out] */ TF_SELECTION *pSelection,
  2338.             /* [out] */ ULONG *pcFetched) = 0;
  2339.         
  2340.         virtual HRESULT STDMETHODCALLTYPE SetSelection( 
  2341.             /* [in] */ TfEditCookie ec,
  2342.             /* [in] */ ULONG ulCount,
  2343.             /* [size_is][in] */ const TF_SELECTION *pSelection) = 0;
  2344.         
  2345.         virtual HRESULT STDMETHODCALLTYPE GetStart( 
  2346.             /* [in] */ TfEditCookie ec,
  2347.             /* [out] */ ITfRange **ppStart) = 0;
  2348.         
  2349.         virtual HRESULT STDMETHODCALLTYPE GetEnd( 
  2350.             /* [in] */ TfEditCookie ec,
  2351.             /* [out] */ ITfRange **ppEnd) = 0;
  2352.         
  2353.         virtual HRESULT STDMETHODCALLTYPE GetActiveView( 
  2354.             /* [out] */ ITfContextView **ppView) = 0;
  2355.         
  2356.         virtual HRESULT STDMETHODCALLTYPE EnumViews( 
  2357.             /* [out] */ IEnumTfContextViews **ppEnum) = 0;
  2358.         
  2359.         virtual HRESULT STDMETHODCALLTYPE GetStatus( 
  2360.             /* [out] */ TF_STATUS *pdcs) = 0;
  2361.         
  2362.         virtual HRESULT STDMETHODCALLTYPE GetProperty( 
  2363.             /* [in] */ REFGUID guidProp,
  2364.             /* [out] */ ITfProperty **ppProp) = 0;
  2365.         
  2366.         virtual HRESULT STDMETHODCALLTYPE GetAppProperty( 
  2367.             /* [in] */ REFGUID guidProp,
  2368.             /* [out] */ ITfReadOnlyProperty **ppProp) = 0;
  2369.         
  2370.         virtual HRESULT STDMETHODCALLTYPE TrackProperties( 
  2371.             /* [size_is][in] */ const GUID **prgProp,
  2372.             /* [in] */ ULONG cProp,
  2373.             /* [size_is][in] */ const GUID **prgAppProp,
  2374.             /* [in] */ ULONG cAppProp,
  2375.             /* [out] */ ITfReadOnlyProperty **ppProperty) = 0;
  2376.         
  2377.         virtual HRESULT STDMETHODCALLTYPE EnumProperties( 
  2378.             /* [out] */ IEnumTfProperties **ppEnum) = 0;
  2379.         
  2380.         virtual HRESULT STDMETHODCALLTYPE GetDocumentMgr( 
  2381.             /* [out] */ ITfDocumentMgr **ppDm) = 0;
  2382.         
  2383.         virtual HRESULT STDMETHODCALLTYPE CreateRangeBackup( 
  2384.             /* [in] */ TfEditCookie ec,
  2385.             /* [in] */ ITfRange *pRange,
  2386.             /* [out] */ ITfRangeBackup **ppBackup) = 0;
  2387.         
  2388.     };
  2389.     
  2390. #else  /* C style interface */
  2391.     typedef struct ITfContextVtbl
  2392.     {
  2393.         BEGIN_INTERFACE
  2394.         
  2395.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2396.             ITfContext * This,
  2397.             /* [in] */ REFIID riid,
  2398.             /* [iid_is][out] */ void **ppvObject);
  2399.         
  2400.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2401.             ITfContext * This);
  2402.         
  2403.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2404.             ITfContext * This);
  2405.         
  2406.         HRESULT ( STDMETHODCALLTYPE *RequestEditSession )( 
  2407.             ITfContext * This,
  2408.             /* [in] */ TfClientId tid,
  2409.             /* [in] */ ITfEditSession *pes,
  2410.             /* [in] */ DWORD dwFlags,
  2411.             /* [out] */ HRESULT *phrSession);
  2412.         
  2413.         HRESULT ( STDMETHODCALLTYPE *InWriteSession )( 
  2414.             ITfContext * This,
  2415.             /* [in] */ TfClientId tid,
  2416.             /* [out] */ BOOL *pfWriteSession);
  2417.         
  2418.         HRESULT ( STDMETHODCALLTYPE *GetSelection )( 
  2419.             ITfContext * This,
  2420.             /* [in] */ TfEditCookie ec,
  2421.             /* [in] */ ULONG ulIndex,
  2422.             /* [in] */ ULONG ulCount,
  2423.             /* [length_is][size_is][out] */ TF_SELECTION *pSelection,
  2424.             /* [out] */ ULONG *pcFetched);
  2425.         
  2426.         HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
  2427.             ITfContext * This,
  2428.             /* [in] */ TfEditCookie ec,
  2429.             /* [in] */ ULONG ulCount,