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

模拟服务器

开发平台:

C/C++

  1.             /* [size_is][in] */ const TF_SELECTION *pSelection);
  2.         
  3.         HRESULT ( STDMETHODCALLTYPE *GetStart )( 
  4.             ITfContext * This,
  5.             /* [in] */ TfEditCookie ec,
  6.             /* [out] */ ITfRange **ppStart);
  7.         
  8.         HRESULT ( STDMETHODCALLTYPE *GetEnd )( 
  9.             ITfContext * This,
  10.             /* [in] */ TfEditCookie ec,
  11.             /* [out] */ ITfRange **ppEnd);
  12.         
  13.         HRESULT ( STDMETHODCALLTYPE *GetActiveView )( 
  14.             ITfContext * This,
  15.             /* [out] */ ITfContextView **ppView);
  16.         
  17.         HRESULT ( STDMETHODCALLTYPE *EnumViews )( 
  18.             ITfContext * This,
  19.             /* [out] */ IEnumTfContextViews **ppEnum);
  20.         
  21.         HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
  22.             ITfContext * This,
  23.             /* [out] */ TF_STATUS *pdcs);
  24.         
  25.         HRESULT ( STDMETHODCALLTYPE *GetProperty )( 
  26.             ITfContext * This,
  27.             /* [in] */ REFGUID guidProp,
  28.             /* [out] */ ITfProperty **ppProp);
  29.         
  30.         HRESULT ( STDMETHODCALLTYPE *GetAppProperty )( 
  31.             ITfContext * This,
  32.             /* [in] */ REFGUID guidProp,
  33.             /* [out] */ ITfReadOnlyProperty **ppProp);
  34.         
  35.         HRESULT ( STDMETHODCALLTYPE *TrackProperties )( 
  36.             ITfContext * This,
  37.             /* [size_is][in] */ const GUID **prgProp,
  38.             /* [in] */ ULONG cProp,
  39.             /* [size_is][in] */ const GUID **prgAppProp,
  40.             /* [in] */ ULONG cAppProp,
  41.             /* [out] */ ITfReadOnlyProperty **ppProperty);
  42.         
  43.         HRESULT ( STDMETHODCALLTYPE *EnumProperties )( 
  44.             ITfContext * This,
  45.             /* [out] */ IEnumTfProperties **ppEnum);
  46.         
  47.         HRESULT ( STDMETHODCALLTYPE *GetDocumentMgr )( 
  48.             ITfContext * This,
  49.             /* [out] */ ITfDocumentMgr **ppDm);
  50.         
  51.         HRESULT ( STDMETHODCALLTYPE *CreateRangeBackup )( 
  52.             ITfContext * This,
  53.             /* [in] */ TfEditCookie ec,
  54.             /* [in] */ ITfRange *pRange,
  55.             /* [out] */ ITfRangeBackup **ppBackup);
  56.         
  57.         END_INTERFACE
  58.     } ITfContextVtbl;
  59.     interface ITfContext
  60.     {
  61.         CONST_VTBL struct ITfContextVtbl *lpVtbl;
  62.     };
  63.     
  64. #ifdef COBJMACROS
  65. #define ITfContext_QueryInterface(This,riid,ppvObject)
  66.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  67. #define ITfContext_AddRef(This)
  68.     (This)->lpVtbl -> AddRef(This)
  69. #define ITfContext_Release(This)
  70.     (This)->lpVtbl -> Release(This)
  71. #define ITfContext_RequestEditSession(This,tid,pes,dwFlags,phrSession)
  72.     (This)->lpVtbl -> RequestEditSession(This,tid,pes,dwFlags,phrSession)
  73. #define ITfContext_InWriteSession(This,tid,pfWriteSession)
  74.     (This)->lpVtbl -> InWriteSession(This,tid,pfWriteSession)
  75. #define ITfContext_GetSelection(This,ec,ulIndex,ulCount,pSelection,pcFetched)
  76.     (This)->lpVtbl -> GetSelection(This,ec,ulIndex,ulCount,pSelection,pcFetched)
  77. #define ITfContext_SetSelection(This,ec,ulCount,pSelection)
  78.     (This)->lpVtbl -> SetSelection(This,ec,ulCount,pSelection)
  79. #define ITfContext_GetStart(This,ec,ppStart)
  80.     (This)->lpVtbl -> GetStart(This,ec,ppStart)
  81. #define ITfContext_GetEnd(This,ec,ppEnd)
  82.     (This)->lpVtbl -> GetEnd(This,ec,ppEnd)
  83. #define ITfContext_GetActiveView(This,ppView)
  84.     (This)->lpVtbl -> GetActiveView(This,ppView)
  85. #define ITfContext_EnumViews(This,ppEnum)
  86.     (This)->lpVtbl -> EnumViews(This,ppEnum)
  87. #define ITfContext_GetStatus(This,pdcs)
  88.     (This)->lpVtbl -> GetStatus(This,pdcs)
  89. #define ITfContext_GetProperty(This,guidProp,ppProp)
  90.     (This)->lpVtbl -> GetProperty(This,guidProp,ppProp)
  91. #define ITfContext_GetAppProperty(This,guidProp,ppProp)
  92.     (This)->lpVtbl -> GetAppProperty(This,guidProp,ppProp)
  93. #define ITfContext_TrackProperties(This,prgProp,cProp,prgAppProp,cAppProp,ppProperty)
  94.     (This)->lpVtbl -> TrackProperties(This,prgProp,cProp,prgAppProp,cAppProp,ppProperty)
  95. #define ITfContext_EnumProperties(This,ppEnum)
  96.     (This)->lpVtbl -> EnumProperties(This,ppEnum)
  97. #define ITfContext_GetDocumentMgr(This,ppDm)
  98.     (This)->lpVtbl -> GetDocumentMgr(This,ppDm)
  99. #define ITfContext_CreateRangeBackup(This,ec,pRange,ppBackup)
  100.     (This)->lpVtbl -> CreateRangeBackup(This,ec,pRange,ppBackup)
  101. #endif /* COBJMACROS */
  102. #endif  /* C style interface */
  103. HRESULT STDMETHODCALLTYPE ITfContext_RequestEditSession_Proxy( 
  104.     ITfContext * This,
  105.     /* [in] */ TfClientId tid,
  106.     /* [in] */ ITfEditSession *pes,
  107.     /* [in] */ DWORD dwFlags,
  108.     /* [out] */ HRESULT *phrSession);
  109. void __RPC_STUB ITfContext_RequestEditSession_Stub(
  110.     IRpcStubBuffer *This,
  111.     IRpcChannelBuffer *_pRpcChannelBuffer,
  112.     PRPC_MESSAGE _pRpcMessage,
  113.     DWORD *_pdwStubPhase);
  114. HRESULT STDMETHODCALLTYPE ITfContext_InWriteSession_Proxy( 
  115.     ITfContext * This,
  116.     /* [in] */ TfClientId tid,
  117.     /* [out] */ BOOL *pfWriteSession);
  118. void __RPC_STUB ITfContext_InWriteSession_Stub(
  119.     IRpcStubBuffer *This,
  120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  121.     PRPC_MESSAGE _pRpcMessage,
  122.     DWORD *_pdwStubPhase);
  123. HRESULT STDMETHODCALLTYPE ITfContext_GetSelection_Proxy( 
  124.     ITfContext * This,
  125.     /* [in] */ TfEditCookie ec,
  126.     /* [in] */ ULONG ulIndex,
  127.     /* [in] */ ULONG ulCount,
  128.     /* [length_is][size_is][out] */ TF_SELECTION *pSelection,
  129.     /* [out] */ ULONG *pcFetched);
  130. void __RPC_STUB ITfContext_GetSelection_Stub(
  131.     IRpcStubBuffer *This,
  132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  133.     PRPC_MESSAGE _pRpcMessage,
  134.     DWORD *_pdwStubPhase);
  135. HRESULT STDMETHODCALLTYPE ITfContext_SetSelection_Proxy( 
  136.     ITfContext * This,
  137.     /* [in] */ TfEditCookie ec,
  138.     /* [in] */ ULONG ulCount,
  139.     /* [size_is][in] */ const TF_SELECTION *pSelection);
  140. void __RPC_STUB ITfContext_SetSelection_Stub(
  141.     IRpcStubBuffer *This,
  142.     IRpcChannelBuffer *_pRpcChannelBuffer,
  143.     PRPC_MESSAGE _pRpcMessage,
  144.     DWORD *_pdwStubPhase);
  145. HRESULT STDMETHODCALLTYPE ITfContext_GetStart_Proxy( 
  146.     ITfContext * This,
  147.     /* [in] */ TfEditCookie ec,
  148.     /* [out] */ ITfRange **ppStart);
  149. void __RPC_STUB ITfContext_GetStart_Stub(
  150.     IRpcStubBuffer *This,
  151.     IRpcChannelBuffer *_pRpcChannelBuffer,
  152.     PRPC_MESSAGE _pRpcMessage,
  153.     DWORD *_pdwStubPhase);
  154. HRESULT STDMETHODCALLTYPE ITfContext_GetEnd_Proxy( 
  155.     ITfContext * This,
  156.     /* [in] */ TfEditCookie ec,
  157.     /* [out] */ ITfRange **ppEnd);
  158. void __RPC_STUB ITfContext_GetEnd_Stub(
  159.     IRpcStubBuffer *This,
  160.     IRpcChannelBuffer *_pRpcChannelBuffer,
  161.     PRPC_MESSAGE _pRpcMessage,
  162.     DWORD *_pdwStubPhase);
  163. HRESULT STDMETHODCALLTYPE ITfContext_GetActiveView_Proxy( 
  164.     ITfContext * This,
  165.     /* [out] */ ITfContextView **ppView);
  166. void __RPC_STUB ITfContext_GetActiveView_Stub(
  167.     IRpcStubBuffer *This,
  168.     IRpcChannelBuffer *_pRpcChannelBuffer,
  169.     PRPC_MESSAGE _pRpcMessage,
  170.     DWORD *_pdwStubPhase);
  171. HRESULT STDMETHODCALLTYPE ITfContext_EnumViews_Proxy( 
  172.     ITfContext * This,
  173.     /* [out] */ IEnumTfContextViews **ppEnum);
  174. void __RPC_STUB ITfContext_EnumViews_Stub(
  175.     IRpcStubBuffer *This,
  176.     IRpcChannelBuffer *_pRpcChannelBuffer,
  177.     PRPC_MESSAGE _pRpcMessage,
  178.     DWORD *_pdwStubPhase);
  179. HRESULT STDMETHODCALLTYPE ITfContext_GetStatus_Proxy( 
  180.     ITfContext * This,
  181.     /* [out] */ TF_STATUS *pdcs);
  182. void __RPC_STUB ITfContext_GetStatus_Stub(
  183.     IRpcStubBuffer *This,
  184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  185.     PRPC_MESSAGE _pRpcMessage,
  186.     DWORD *_pdwStubPhase);
  187. HRESULT STDMETHODCALLTYPE ITfContext_GetProperty_Proxy( 
  188.     ITfContext * This,
  189.     /* [in] */ REFGUID guidProp,
  190.     /* [out] */ ITfProperty **ppProp);
  191. void __RPC_STUB ITfContext_GetProperty_Stub(
  192.     IRpcStubBuffer *This,
  193.     IRpcChannelBuffer *_pRpcChannelBuffer,
  194.     PRPC_MESSAGE _pRpcMessage,
  195.     DWORD *_pdwStubPhase);
  196. HRESULT STDMETHODCALLTYPE ITfContext_GetAppProperty_Proxy( 
  197.     ITfContext * This,
  198.     /* [in] */ REFGUID guidProp,
  199.     /* [out] */ ITfReadOnlyProperty **ppProp);
  200. void __RPC_STUB ITfContext_GetAppProperty_Stub(
  201.     IRpcStubBuffer *This,
  202.     IRpcChannelBuffer *_pRpcChannelBuffer,
  203.     PRPC_MESSAGE _pRpcMessage,
  204.     DWORD *_pdwStubPhase);
  205. HRESULT STDMETHODCALLTYPE ITfContext_TrackProperties_Proxy( 
  206.     ITfContext * This,
  207.     /* [size_is][in] */ const GUID **prgProp,
  208.     /* [in] */ ULONG cProp,
  209.     /* [size_is][in] */ const GUID **prgAppProp,
  210.     /* [in] */ ULONG cAppProp,
  211.     /* [out] */ ITfReadOnlyProperty **ppProperty);
  212. void __RPC_STUB ITfContext_TrackProperties_Stub(
  213.     IRpcStubBuffer *This,
  214.     IRpcChannelBuffer *_pRpcChannelBuffer,
  215.     PRPC_MESSAGE _pRpcMessage,
  216.     DWORD *_pdwStubPhase);
  217. HRESULT STDMETHODCALLTYPE ITfContext_EnumProperties_Proxy( 
  218.     ITfContext * This,
  219.     /* [out] */ IEnumTfProperties **ppEnum);
  220. void __RPC_STUB ITfContext_EnumProperties_Stub(
  221.     IRpcStubBuffer *This,
  222.     IRpcChannelBuffer *_pRpcChannelBuffer,
  223.     PRPC_MESSAGE _pRpcMessage,
  224.     DWORD *_pdwStubPhase);
  225. HRESULT STDMETHODCALLTYPE ITfContext_GetDocumentMgr_Proxy( 
  226.     ITfContext * This,
  227.     /* [out] */ ITfDocumentMgr **ppDm);
  228. void __RPC_STUB ITfContext_GetDocumentMgr_Stub(
  229.     IRpcStubBuffer *This,
  230.     IRpcChannelBuffer *_pRpcChannelBuffer,
  231.     PRPC_MESSAGE _pRpcMessage,
  232.     DWORD *_pdwStubPhase);
  233. HRESULT STDMETHODCALLTYPE ITfContext_CreateRangeBackup_Proxy( 
  234.     ITfContext * This,
  235.     /* [in] */ TfEditCookie ec,
  236.     /* [in] */ ITfRange *pRange,
  237.     /* [out] */ ITfRangeBackup **ppBackup);
  238. void __RPC_STUB ITfContext_CreateRangeBackup_Stub(
  239.     IRpcStubBuffer *This,
  240.     IRpcChannelBuffer *_pRpcChannelBuffer,
  241.     PRPC_MESSAGE _pRpcMessage,
  242.     DWORD *_pdwStubPhase);
  243. #endif  /* __ITfContext_INTERFACE_DEFINED__ */
  244. #ifndef __ITfQueryEmbedded_INTERFACE_DEFINED__
  245. #define __ITfQueryEmbedded_INTERFACE_DEFINED__
  246. /* interface ITfQueryEmbedded */
  247. /* [unique][uuid][object] */ 
  248. EXTERN_C const IID IID_ITfQueryEmbedded;
  249. #if defined(__cplusplus) && !defined(CINTERFACE)
  250.     
  251.     MIDL_INTERFACE("0fab9bdb-d250-4169-84e5-6be118fdd7a8")
  252.     ITfQueryEmbedded : public IUnknown
  253.     {
  254.     public:
  255.         virtual HRESULT STDMETHODCALLTYPE QueryInsertEmbedded( 
  256.             /* [in] */ const GUID *pguidService,
  257.             /* [in] */ const FORMATETC *pFormatEtc,
  258.             /* [out] */ BOOL *pfInsertable) = 0;
  259.         
  260.     };
  261.     
  262. #else  /* C style interface */
  263.     typedef struct ITfQueryEmbeddedVtbl
  264.     {
  265.         BEGIN_INTERFACE
  266.         
  267.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  268.             ITfQueryEmbedded * This,
  269.             /* [in] */ REFIID riid,
  270.             /* [iid_is][out] */ void **ppvObject);
  271.         
  272.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  273.             ITfQueryEmbedded * This);
  274.         
  275.         ULONG ( STDMETHODCALLTYPE *Release )( 
  276.             ITfQueryEmbedded * This);
  277.         
  278.         HRESULT ( STDMETHODCALLTYPE *QueryInsertEmbedded )( 
  279.             ITfQueryEmbedded * This,
  280.             /* [in] */ const GUID *pguidService,
  281.             /* [in] */ const FORMATETC *pFormatEtc,
  282.             /* [out] */ BOOL *pfInsertable);
  283.         
  284.         END_INTERFACE
  285.     } ITfQueryEmbeddedVtbl;
  286.     interface ITfQueryEmbedded
  287.     {
  288.         CONST_VTBL struct ITfQueryEmbeddedVtbl *lpVtbl;
  289.     };
  290.     
  291. #ifdef COBJMACROS
  292. #define ITfQueryEmbedded_QueryInterface(This,riid,ppvObject)
  293.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  294. #define ITfQueryEmbedded_AddRef(This)
  295.     (This)->lpVtbl -> AddRef(This)
  296. #define ITfQueryEmbedded_Release(This)
  297.     (This)->lpVtbl -> Release(This)
  298. #define ITfQueryEmbedded_QueryInsertEmbedded(This,pguidService,pFormatEtc,pfInsertable)
  299.     (This)->lpVtbl -> QueryInsertEmbedded(This,pguidService,pFormatEtc,pfInsertable)
  300. #endif /* COBJMACROS */
  301. #endif  /* C style interface */
  302. HRESULT STDMETHODCALLTYPE ITfQueryEmbedded_QueryInsertEmbedded_Proxy( 
  303.     ITfQueryEmbedded * This,
  304.     /* [in] */ const GUID *pguidService,
  305.     /* [in] */ const FORMATETC *pFormatEtc,
  306.     /* [out] */ BOOL *pfInsertable);
  307. void __RPC_STUB ITfQueryEmbedded_QueryInsertEmbedded_Stub(
  308.     IRpcStubBuffer *This,
  309.     IRpcChannelBuffer *_pRpcChannelBuffer,
  310.     PRPC_MESSAGE _pRpcMessage,
  311.     DWORD *_pdwStubPhase);
  312. #endif  /* __ITfQueryEmbedded_INTERFACE_DEFINED__ */
  313. #ifndef __ITfInsertAtSelection_INTERFACE_DEFINED__
  314. #define __ITfInsertAtSelection_INTERFACE_DEFINED__
  315. /* interface ITfInsertAtSelection */
  316. /* [unique][uuid][object] */ 
  317. #define TF_IAS_NOQUERY ( 0x1 )
  318. #define TF_IAS_QUERYONLY ( 0x2 )
  319. #define TF_IAS_NO_DEFAULT_COMPOSITION ( 0x80000000 )
  320. EXTERN_C const IID IID_ITfInsertAtSelection;
  321. #if defined(__cplusplus) && !defined(CINTERFACE)
  322.     
  323.     MIDL_INTERFACE("55ce16ba-3014-41c1-9ceb-fade1446ac6c")
  324.     ITfInsertAtSelection : public IUnknown
  325.     {
  326.     public:
  327.         virtual HRESULT STDMETHODCALLTYPE InsertTextAtSelection( 
  328.             /* [in] */ TfEditCookie ec,
  329.             /* [in] */ DWORD dwFlags,
  330.             /* [size_is][in] */ const WCHAR *pchText,
  331.             /* [in] */ LONG cch,
  332.             /* [out] */ ITfRange **ppRange) = 0;
  333.         
  334.         virtual HRESULT STDMETHODCALLTYPE InsertEmbeddedAtSelection( 
  335.             /* [in] */ TfEditCookie ec,
  336.             /* [in] */ DWORD dwFlags,
  337.             /* [in] */ IDataObject *pDataObject,
  338.             /* [out] */ ITfRange **ppRange) = 0;
  339.         
  340.     };
  341.     
  342. #else  /* C style interface */
  343.     typedef struct ITfInsertAtSelectionVtbl
  344.     {
  345.         BEGIN_INTERFACE
  346.         
  347.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  348.             ITfInsertAtSelection * This,
  349.             /* [in] */ REFIID riid,
  350.             /* [iid_is][out] */ void **ppvObject);
  351.         
  352.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  353.             ITfInsertAtSelection * This);
  354.         
  355.         ULONG ( STDMETHODCALLTYPE *Release )( 
  356.             ITfInsertAtSelection * This);
  357.         
  358.         HRESULT ( STDMETHODCALLTYPE *InsertTextAtSelection )( 
  359.             ITfInsertAtSelection * This,
  360.             /* [in] */ TfEditCookie ec,
  361.             /* [in] */ DWORD dwFlags,
  362.             /* [size_is][in] */ const WCHAR *pchText,
  363.             /* [in] */ LONG cch,
  364.             /* [out] */ ITfRange **ppRange);
  365.         
  366.         HRESULT ( STDMETHODCALLTYPE *InsertEmbeddedAtSelection )( 
  367.             ITfInsertAtSelection * This,
  368.             /* [in] */ TfEditCookie ec,
  369.             /* [in] */ DWORD dwFlags,
  370.             /* [in] */ IDataObject *pDataObject,
  371.             /* [out] */ ITfRange **ppRange);
  372.         
  373.         END_INTERFACE
  374.     } ITfInsertAtSelectionVtbl;
  375.     interface ITfInsertAtSelection
  376.     {
  377.         CONST_VTBL struct ITfInsertAtSelectionVtbl *lpVtbl;
  378.     };
  379.     
  380. #ifdef COBJMACROS
  381. #define ITfInsertAtSelection_QueryInterface(This,riid,ppvObject)
  382.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  383. #define ITfInsertAtSelection_AddRef(This)
  384.     (This)->lpVtbl -> AddRef(This)
  385. #define ITfInsertAtSelection_Release(This)
  386.     (This)->lpVtbl -> Release(This)
  387. #define ITfInsertAtSelection_InsertTextAtSelection(This,ec,dwFlags,pchText,cch,ppRange)
  388.     (This)->lpVtbl -> InsertTextAtSelection(This,ec,dwFlags,pchText,cch,ppRange)
  389. #define ITfInsertAtSelection_InsertEmbeddedAtSelection(This,ec,dwFlags,pDataObject,ppRange)
  390.     (This)->lpVtbl -> InsertEmbeddedAtSelection(This,ec,dwFlags,pDataObject,ppRange)
  391. #endif /* COBJMACROS */
  392. #endif  /* C style interface */
  393. HRESULT STDMETHODCALLTYPE ITfInsertAtSelection_InsertTextAtSelection_Proxy( 
  394.     ITfInsertAtSelection * This,
  395.     /* [in] */ TfEditCookie ec,
  396.     /* [in] */ DWORD dwFlags,
  397.     /* [size_is][in] */ const WCHAR *pchText,
  398.     /* [in] */ LONG cch,
  399.     /* [out] */ ITfRange **ppRange);
  400. void __RPC_STUB ITfInsertAtSelection_InsertTextAtSelection_Stub(
  401.     IRpcStubBuffer *This,
  402.     IRpcChannelBuffer *_pRpcChannelBuffer,
  403.     PRPC_MESSAGE _pRpcMessage,
  404.     DWORD *_pdwStubPhase);
  405. HRESULT STDMETHODCALLTYPE ITfInsertAtSelection_InsertEmbeddedAtSelection_Proxy( 
  406.     ITfInsertAtSelection * This,
  407.     /* [in] */ TfEditCookie ec,
  408.     /* [in] */ DWORD dwFlags,
  409.     /* [in] */ IDataObject *pDataObject,
  410.     /* [out] */ ITfRange **ppRange);
  411. void __RPC_STUB ITfInsertAtSelection_InsertEmbeddedAtSelection_Stub(
  412.     IRpcStubBuffer *This,
  413.     IRpcChannelBuffer *_pRpcChannelBuffer,
  414.     PRPC_MESSAGE _pRpcMessage,
  415.     DWORD *_pdwStubPhase);
  416. #endif  /* __ITfInsertAtSelection_INTERFACE_DEFINED__ */
  417. #ifndef __ITfCleanupContextSink_INTERFACE_DEFINED__
  418. #define __ITfCleanupContextSink_INTERFACE_DEFINED__
  419. /* interface ITfCleanupContextSink */
  420. /* [unique][uuid][object] */ 
  421. EXTERN_C const IID IID_ITfCleanupContextSink;
  422. #if defined(__cplusplus) && !defined(CINTERFACE)
  423.     
  424.     MIDL_INTERFACE("01689689-7acb-4e9b-ab7c-7ea46b12b522")
  425.     ITfCleanupContextSink : public IUnknown
  426.     {
  427.     public:
  428.         virtual HRESULT STDMETHODCALLTYPE OnCleanupContext( 
  429.             /* [in] */ TfEditCookie ecWrite,
  430.             /* [in] */ ITfContext *pic) = 0;
  431.         
  432.     };
  433.     
  434. #else  /* C style interface */
  435.     typedef struct ITfCleanupContextSinkVtbl
  436.     {
  437.         BEGIN_INTERFACE
  438.         
  439.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  440.             ITfCleanupContextSink * This,
  441.             /* [in] */ REFIID riid,
  442.             /* [iid_is][out] */ void **ppvObject);
  443.         
  444.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  445.             ITfCleanupContextSink * This);
  446.         
  447.         ULONG ( STDMETHODCALLTYPE *Release )( 
  448.             ITfCleanupContextSink * This);
  449.         
  450.         HRESULT ( STDMETHODCALLTYPE *OnCleanupContext )( 
  451.             ITfCleanupContextSink * This,
  452.             /* [in] */ TfEditCookie ecWrite,
  453.             /* [in] */ ITfContext *pic);
  454.         
  455.         END_INTERFACE
  456.     } ITfCleanupContextSinkVtbl;
  457.     interface ITfCleanupContextSink
  458.     {
  459.         CONST_VTBL struct ITfCleanupContextSinkVtbl *lpVtbl;
  460.     };
  461.     
  462. #ifdef COBJMACROS
  463. #define ITfCleanupContextSink_QueryInterface(This,riid,ppvObject)
  464.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  465. #define ITfCleanupContextSink_AddRef(This)
  466.     (This)->lpVtbl -> AddRef(This)
  467. #define ITfCleanupContextSink_Release(This)
  468.     (This)->lpVtbl -> Release(This)
  469. #define ITfCleanupContextSink_OnCleanupContext(This,ecWrite,pic)
  470.     (This)->lpVtbl -> OnCleanupContext(This,ecWrite,pic)
  471. #endif /* COBJMACROS */
  472. #endif  /* C style interface */
  473. HRESULT STDMETHODCALLTYPE ITfCleanupContextSink_OnCleanupContext_Proxy( 
  474.     ITfCleanupContextSink * This,
  475.     /* [in] */ TfEditCookie ecWrite,
  476.     /* [in] */ ITfContext *pic);
  477. void __RPC_STUB ITfCleanupContextSink_OnCleanupContext_Stub(
  478.     IRpcStubBuffer *This,
  479.     IRpcChannelBuffer *_pRpcChannelBuffer,
  480.     PRPC_MESSAGE _pRpcMessage,
  481.     DWORD *_pdwStubPhase);
  482. #endif  /* __ITfCleanupContextSink_INTERFACE_DEFINED__ */
  483. #ifndef __ITfCleanupContextDurationSink_INTERFACE_DEFINED__
  484. #define __ITfCleanupContextDurationSink_INTERFACE_DEFINED__
  485. /* interface ITfCleanupContextDurationSink */
  486. /* [unique][uuid][object] */ 
  487. EXTERN_C const IID IID_ITfCleanupContextDurationSink;
  488. #if defined(__cplusplus) && !defined(CINTERFACE)
  489.     
  490.     MIDL_INTERFACE("45c35144-154e-4797-bed8-d33ae7bf8794")
  491.     ITfCleanupContextDurationSink : public IUnknown
  492.     {
  493.     public:
  494.         virtual HRESULT STDMETHODCALLTYPE OnStartCleanupContext( void) = 0;
  495.         
  496.         virtual HRESULT STDMETHODCALLTYPE OnEndCleanupContext( void) = 0;
  497.         
  498.     };
  499.     
  500. #else  /* C style interface */
  501.     typedef struct ITfCleanupContextDurationSinkVtbl
  502.     {
  503.         BEGIN_INTERFACE
  504.         
  505.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  506.             ITfCleanupContextDurationSink * This,
  507.             /* [in] */ REFIID riid,
  508.             /* [iid_is][out] */ void **ppvObject);
  509.         
  510.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  511.             ITfCleanupContextDurationSink * This);
  512.         
  513.         ULONG ( STDMETHODCALLTYPE *Release )( 
  514.             ITfCleanupContextDurationSink * This);
  515.         
  516.         HRESULT ( STDMETHODCALLTYPE *OnStartCleanupContext )( 
  517.             ITfCleanupContextDurationSink * This);
  518.         
  519.         HRESULT ( STDMETHODCALLTYPE *OnEndCleanupContext )( 
  520.             ITfCleanupContextDurationSink * This);
  521.         
  522.         END_INTERFACE
  523.     } ITfCleanupContextDurationSinkVtbl;
  524.     interface ITfCleanupContextDurationSink
  525.     {
  526.         CONST_VTBL struct ITfCleanupContextDurationSinkVtbl *lpVtbl;
  527.     };
  528.     
  529. #ifdef COBJMACROS
  530. #define ITfCleanupContextDurationSink_QueryInterface(This,riid,ppvObject)
  531.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  532. #define ITfCleanupContextDurationSink_AddRef(This)
  533.     (This)->lpVtbl -> AddRef(This)
  534. #define ITfCleanupContextDurationSink_Release(This)
  535.     (This)->lpVtbl -> Release(This)
  536. #define ITfCleanupContextDurationSink_OnStartCleanupContext(This)
  537.     (This)->lpVtbl -> OnStartCleanupContext(This)
  538. #define ITfCleanupContextDurationSink_OnEndCleanupContext(This)
  539.     (This)->lpVtbl -> OnEndCleanupContext(This)
  540. #endif /* COBJMACROS */
  541. #endif  /* C style interface */
  542. HRESULT STDMETHODCALLTYPE ITfCleanupContextDurationSink_OnStartCleanupContext_Proxy( 
  543.     ITfCleanupContextDurationSink * This);
  544. void __RPC_STUB ITfCleanupContextDurationSink_OnStartCleanupContext_Stub(
  545.     IRpcStubBuffer *This,
  546.     IRpcChannelBuffer *_pRpcChannelBuffer,
  547.     PRPC_MESSAGE _pRpcMessage,
  548.     DWORD *_pdwStubPhase);
  549. HRESULT STDMETHODCALLTYPE ITfCleanupContextDurationSink_OnEndCleanupContext_Proxy( 
  550.     ITfCleanupContextDurationSink * This);
  551. void __RPC_STUB ITfCleanupContextDurationSink_OnEndCleanupContext_Stub(
  552.     IRpcStubBuffer *This,
  553.     IRpcChannelBuffer *_pRpcChannelBuffer,
  554.     PRPC_MESSAGE _pRpcMessage,
  555.     DWORD *_pdwStubPhase);
  556. #endif  /* __ITfCleanupContextDurationSink_INTERFACE_DEFINED__ */
  557. #ifndef __ITfReadOnlyProperty_INTERFACE_DEFINED__
  558. #define __ITfReadOnlyProperty_INTERFACE_DEFINED__
  559. /* interface ITfReadOnlyProperty */
  560. /* [unique][uuid][object] */ 
  561. EXTERN_C const IID IID_ITfReadOnlyProperty;
  562. #if defined(__cplusplus) && !defined(CINTERFACE)
  563.     
  564.     MIDL_INTERFACE("17d49a3d-f8b8-4b2f-b254-52319dd64c53")
  565.     ITfReadOnlyProperty : public IUnknown
  566.     {
  567.     public:
  568.         virtual HRESULT STDMETHODCALLTYPE GetType( 
  569.             /* [out] */ GUID *pguid) = 0;
  570.         
  571.         virtual HRESULT STDMETHODCALLTYPE EnumRanges( 
  572.             /* [in] */ TfEditCookie ec,
  573.             /* [out] */ IEnumTfRanges **ppEnum,
  574.             /* [in] */ ITfRange *pTargetRange) = 0;
  575.         
  576.         virtual HRESULT STDMETHODCALLTYPE GetValue( 
  577.             /* [in] */ TfEditCookie ec,
  578.             /* [in] */ ITfRange *pRange,
  579.             /* [out] */ VARIANT *pvarValue) = 0;
  580.         
  581.         virtual HRESULT STDMETHODCALLTYPE GetContext( 
  582.             /* [out] */ ITfContext **ppContext) = 0;
  583.         
  584.     };
  585.     
  586. #else  /* C style interface */
  587.     typedef struct ITfReadOnlyPropertyVtbl
  588.     {
  589.         BEGIN_INTERFACE
  590.         
  591.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  592.             ITfReadOnlyProperty * This,
  593.             /* [in] */ REFIID riid,
  594.             /* [iid_is][out] */ void **ppvObject);
  595.         
  596.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  597.             ITfReadOnlyProperty * This);
  598.         
  599.         ULONG ( STDMETHODCALLTYPE *Release )( 
  600.             ITfReadOnlyProperty * This);
  601.         
  602.         HRESULT ( STDMETHODCALLTYPE *GetType )( 
  603.             ITfReadOnlyProperty * This,
  604.             /* [out] */ GUID *pguid);
  605.         
  606.         HRESULT ( STDMETHODCALLTYPE *EnumRanges )( 
  607.             ITfReadOnlyProperty * This,
  608.             /* [in] */ TfEditCookie ec,
  609.             /* [out] */ IEnumTfRanges **ppEnum,
  610.             /* [in] */ ITfRange *pTargetRange);
  611.         
  612.         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
  613.             ITfReadOnlyProperty * This,
  614.             /* [in] */ TfEditCookie ec,
  615.             /* [in] */ ITfRange *pRange,
  616.             /* [out] */ VARIANT *pvarValue);
  617.         
  618.         HRESULT ( STDMETHODCALLTYPE *GetContext )( 
  619.             ITfReadOnlyProperty * This,
  620.             /* [out] */ ITfContext **ppContext);
  621.         
  622.         END_INTERFACE
  623.     } ITfReadOnlyPropertyVtbl;
  624.     interface ITfReadOnlyProperty
  625.     {
  626.         CONST_VTBL struct ITfReadOnlyPropertyVtbl *lpVtbl;
  627.     };
  628.     
  629. #ifdef COBJMACROS
  630. #define ITfReadOnlyProperty_QueryInterface(This,riid,ppvObject)
  631.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  632. #define ITfReadOnlyProperty_AddRef(This)
  633.     (This)->lpVtbl -> AddRef(This)
  634. #define ITfReadOnlyProperty_Release(This)
  635.     (This)->lpVtbl -> Release(This)
  636. #define ITfReadOnlyProperty_GetType(This,pguid)
  637.     (This)->lpVtbl -> GetType(This,pguid)
  638. #define ITfReadOnlyProperty_EnumRanges(This,ec,ppEnum,pTargetRange)
  639.     (This)->lpVtbl -> EnumRanges(This,ec,ppEnum,pTargetRange)
  640. #define ITfReadOnlyProperty_GetValue(This,ec,pRange,pvarValue)
  641.     (This)->lpVtbl -> GetValue(This,ec,pRange,pvarValue)
  642. #define ITfReadOnlyProperty_GetContext(This,ppContext)
  643.     (This)->lpVtbl -> GetContext(This,ppContext)
  644. #endif /* COBJMACROS */
  645. #endif  /* C style interface */
  646. HRESULT STDMETHODCALLTYPE ITfReadOnlyProperty_GetType_Proxy( 
  647.     ITfReadOnlyProperty * This,
  648.     /* [out] */ GUID *pguid);
  649. void __RPC_STUB ITfReadOnlyProperty_GetType_Stub(
  650.     IRpcStubBuffer *This,
  651.     IRpcChannelBuffer *_pRpcChannelBuffer,
  652.     PRPC_MESSAGE _pRpcMessage,
  653.     DWORD *_pdwStubPhase);
  654. HRESULT STDMETHODCALLTYPE ITfReadOnlyProperty_EnumRanges_Proxy( 
  655.     ITfReadOnlyProperty * This,
  656.     /* [in] */ TfEditCookie ec,
  657.     /* [out] */ IEnumTfRanges **ppEnum,
  658.     /* [in] */ ITfRange *pTargetRange);
  659. void __RPC_STUB ITfReadOnlyProperty_EnumRanges_Stub(
  660.     IRpcStubBuffer *This,
  661.     IRpcChannelBuffer *_pRpcChannelBuffer,
  662.     PRPC_MESSAGE _pRpcMessage,
  663.     DWORD *_pdwStubPhase);
  664. HRESULT STDMETHODCALLTYPE ITfReadOnlyProperty_GetValue_Proxy( 
  665.     ITfReadOnlyProperty * This,
  666.     /* [in] */ TfEditCookie ec,
  667.     /* [in] */ ITfRange *pRange,
  668.     /* [out] */ VARIANT *pvarValue);
  669. void __RPC_STUB ITfReadOnlyProperty_GetValue_Stub(
  670.     IRpcStubBuffer *This,
  671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  672.     PRPC_MESSAGE _pRpcMessage,
  673.     DWORD *_pdwStubPhase);
  674. HRESULT STDMETHODCALLTYPE ITfReadOnlyProperty_GetContext_Proxy( 
  675.     ITfReadOnlyProperty * This,
  676.     /* [out] */ ITfContext **ppContext);
  677. void __RPC_STUB ITfReadOnlyProperty_GetContext_Stub(
  678.     IRpcStubBuffer *This,
  679.     IRpcChannelBuffer *_pRpcChannelBuffer,
  680.     PRPC_MESSAGE _pRpcMessage,
  681.     DWORD *_pdwStubPhase);
  682. #endif  /* __ITfReadOnlyProperty_INTERFACE_DEFINED__ */
  683. /* interface __MIDL_itf_msctf_0160 */
  684. /* [local] */ 
  685. typedef /* [uuid] */  DECLSPEC_UUID("d678c645-eb6a-45c9-b4ee-0f3e3a991348") struct TF_PROPERTYVAL
  686.     {
  687.     GUID guidId;
  688.     VARIANT varValue;
  689.     }  TF_PROPERTYVAL;
  690. extern RPC_IF_HANDLE __MIDL_itf_msctf_0160_v0_0_c_ifspec;
  691. extern RPC_IF_HANDLE __MIDL_itf_msctf_0160_v0_0_s_ifspec;
  692. #ifndef __IEnumTfPropertyValue_INTERFACE_DEFINED__
  693. #define __IEnumTfPropertyValue_INTERFACE_DEFINED__
  694. /* interface IEnumTfPropertyValue */
  695. /* [unique][uuid][object] */ 
  696. EXTERN_C const IID IID_IEnumTfPropertyValue;
  697. #if defined(__cplusplus) && !defined(CINTERFACE)
  698.     
  699.     MIDL_INTERFACE("8ed8981b-7c10-4d7d-9fb3-ab72e9c75f72")
  700.     IEnumTfPropertyValue : public IUnknown
  701.     {
  702.     public:
  703.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  704.             /* [out] */ IEnumTfPropertyValue **ppEnum) = 0;
  705.         
  706.         virtual HRESULT STDMETHODCALLTYPE Next( 
  707.             /* [in] */ ULONG ulCount,
  708.             /* [length_is][size_is][out] */ TF_PROPERTYVAL *rgValues,
  709.             /* [out] */ ULONG *pcFetched) = 0;
  710.         
  711.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  712.         
  713.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  714.             /* [in] */ ULONG ulCount) = 0;
  715.         
  716.     };
  717.     
  718. #else  /* C style interface */
  719.     typedef struct IEnumTfPropertyValueVtbl
  720.     {
  721.         BEGIN_INTERFACE
  722.         
  723.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  724.             IEnumTfPropertyValue * This,
  725.             /* [in] */ REFIID riid,
  726.             /* [iid_is][out] */ void **ppvObject);
  727.         
  728.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  729.             IEnumTfPropertyValue * This);
  730.         
  731.         ULONG ( STDMETHODCALLTYPE *Release )( 
  732.             IEnumTfPropertyValue * This);
  733.         
  734.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  735.             IEnumTfPropertyValue * This,
  736.             /* [out] */ IEnumTfPropertyValue **ppEnum);
  737.         
  738.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  739.             IEnumTfPropertyValue * This,
  740.             /* [in] */ ULONG ulCount,
  741.             /* [length_is][size_is][out] */ TF_PROPERTYVAL *rgValues,
  742.             /* [out] */ ULONG *pcFetched);
  743.         
  744.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  745.             IEnumTfPropertyValue * This);
  746.         
  747.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  748.             IEnumTfPropertyValue * This,
  749.             /* [in] */ ULONG ulCount);
  750.         
  751.         END_INTERFACE
  752.     } IEnumTfPropertyValueVtbl;
  753.     interface IEnumTfPropertyValue
  754.     {
  755.         CONST_VTBL struct IEnumTfPropertyValueVtbl *lpVtbl;
  756.     };
  757.     
  758. #ifdef COBJMACROS
  759. #define IEnumTfPropertyValue_QueryInterface(This,riid,ppvObject)
  760.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  761. #define IEnumTfPropertyValue_AddRef(This)
  762.     (This)->lpVtbl -> AddRef(This)
  763. #define IEnumTfPropertyValue_Release(This)
  764.     (This)->lpVtbl -> Release(This)
  765. #define IEnumTfPropertyValue_Clone(This,ppEnum)
  766.     (This)->lpVtbl -> Clone(This,ppEnum)
  767. #define IEnumTfPropertyValue_Next(This,ulCount,rgValues,pcFetched)
  768.     (This)->lpVtbl -> Next(This,ulCount,rgValues,pcFetched)
  769. #define IEnumTfPropertyValue_Reset(This)
  770.     (This)->lpVtbl -> Reset(This)
  771. #define IEnumTfPropertyValue_Skip(This,ulCount)
  772.     (This)->lpVtbl -> Skip(This,ulCount)
  773. #endif /* COBJMACROS */
  774. #endif  /* C style interface */
  775. HRESULT STDMETHODCALLTYPE IEnumTfPropertyValue_Clone_Proxy( 
  776.     IEnumTfPropertyValue * This,
  777.     /* [out] */ IEnumTfPropertyValue **ppEnum);
  778. void __RPC_STUB IEnumTfPropertyValue_Clone_Stub(
  779.     IRpcStubBuffer *This,
  780.     IRpcChannelBuffer *_pRpcChannelBuffer,
  781.     PRPC_MESSAGE _pRpcMessage,
  782.     DWORD *_pdwStubPhase);
  783. HRESULT STDMETHODCALLTYPE IEnumTfPropertyValue_Next_Proxy( 
  784.     IEnumTfPropertyValue * This,
  785.     /* [in] */ ULONG ulCount,
  786.     /* [length_is][size_is][out] */ TF_PROPERTYVAL *rgValues,
  787.     /* [out] */ ULONG *pcFetched);
  788. void __RPC_STUB IEnumTfPropertyValue_Next_Stub(
  789.     IRpcStubBuffer *This,
  790.     IRpcChannelBuffer *_pRpcChannelBuffer,
  791.     PRPC_MESSAGE _pRpcMessage,
  792.     DWORD *_pdwStubPhase);
  793. HRESULT STDMETHODCALLTYPE IEnumTfPropertyValue_Reset_Proxy( 
  794.     IEnumTfPropertyValue * This);
  795. void __RPC_STUB IEnumTfPropertyValue_Reset_Stub(
  796.     IRpcStubBuffer *This,
  797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  798.     PRPC_MESSAGE _pRpcMessage,
  799.     DWORD *_pdwStubPhase);
  800. HRESULT STDMETHODCALLTYPE IEnumTfPropertyValue_Skip_Proxy( 
  801.     IEnumTfPropertyValue * This,
  802.     /* [in] */ ULONG ulCount);
  803. void __RPC_STUB IEnumTfPropertyValue_Skip_Stub(
  804.     IRpcStubBuffer *This,
  805.     IRpcChannelBuffer *_pRpcChannelBuffer,
  806.     PRPC_MESSAGE _pRpcMessage,
  807.     DWORD *_pdwStubPhase);
  808. #endif  /* __IEnumTfPropertyValue_INTERFACE_DEFINED__ */
  809. #ifndef __ITfMouseTracker_INTERFACE_DEFINED__
  810. #define __ITfMouseTracker_INTERFACE_DEFINED__
  811. /* interface ITfMouseTracker */
  812. /* [unique][uuid][object] */ 
  813. EXTERN_C const IID IID_ITfMouseTracker;
  814. #if defined(__cplusplus) && !defined(CINTERFACE)
  815.     
  816.     MIDL_INTERFACE("09d146cd-a544-4132-925b-7afa8ef322d0")
  817.     ITfMouseTracker : public IUnknown
  818.     {
  819.     public:
  820.         virtual HRESULT STDMETHODCALLTYPE AdviseMouseSink( 
  821.             /* [in] */ ITfRange *range,
  822.             /* [in] */ ITfMouseSink *pSink,
  823.             /* [out] */ DWORD *pdwCookie) = 0;
  824.         
  825.         virtual HRESULT STDMETHODCALLTYPE UnadviseMouseSink( 
  826.             /* [in] */ DWORD dwCookie) = 0;
  827.         
  828.     };
  829.     
  830. #else  /* C style interface */
  831.     typedef struct ITfMouseTrackerVtbl
  832.     {
  833.         BEGIN_INTERFACE
  834.         
  835.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  836.             ITfMouseTracker * This,
  837.             /* [in] */ REFIID riid,
  838.             /* [iid_is][out] */ void **ppvObject);
  839.         
  840.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  841.             ITfMouseTracker * This);
  842.         
  843.         ULONG ( STDMETHODCALLTYPE *Release )( 
  844.             ITfMouseTracker * This);
  845.         
  846.         HRESULT ( STDMETHODCALLTYPE *AdviseMouseSink )( 
  847.             ITfMouseTracker * This,
  848.             /* [in] */ ITfRange *range,
  849.             /* [in] */ ITfMouseSink *pSink,
  850.             /* [out] */ DWORD *pdwCookie);
  851.         
  852.         HRESULT ( STDMETHODCALLTYPE *UnadviseMouseSink )( 
  853.             ITfMouseTracker * This,
  854.             /* [in] */ DWORD dwCookie);
  855.         
  856.         END_INTERFACE
  857.     } ITfMouseTrackerVtbl;
  858.     interface ITfMouseTracker
  859.     {
  860.         CONST_VTBL struct ITfMouseTrackerVtbl *lpVtbl;
  861.     };
  862.     
  863. #ifdef COBJMACROS
  864. #define ITfMouseTracker_QueryInterface(This,riid,ppvObject)
  865.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  866. #define ITfMouseTracker_AddRef(This)
  867.     (This)->lpVtbl -> AddRef(This)
  868. #define ITfMouseTracker_Release(This)
  869.     (This)->lpVtbl -> Release(This)
  870. #define ITfMouseTracker_AdviseMouseSink(This,range,pSink,pdwCookie)
  871.     (This)->lpVtbl -> AdviseMouseSink(This,range,pSink,pdwCookie)
  872. #define ITfMouseTracker_UnadviseMouseSink(This,dwCookie)
  873.     (This)->lpVtbl -> UnadviseMouseSink(This,dwCookie)
  874. #endif /* COBJMACROS */
  875. #endif  /* C style interface */
  876. HRESULT STDMETHODCALLTYPE ITfMouseTracker_AdviseMouseSink_Proxy( 
  877.     ITfMouseTracker * This,
  878.     /* [in] */ ITfRange *range,
  879.     /* [in] */ ITfMouseSink *pSink,
  880.     /* [out] */ DWORD *pdwCookie);
  881. void __RPC_STUB ITfMouseTracker_AdviseMouseSink_Stub(
  882.     IRpcStubBuffer *This,
  883.     IRpcChannelBuffer *_pRpcChannelBuffer,
  884.     PRPC_MESSAGE _pRpcMessage,
  885.     DWORD *_pdwStubPhase);
  886. HRESULT STDMETHODCALLTYPE ITfMouseTracker_UnadviseMouseSink_Proxy( 
  887.     ITfMouseTracker * This,
  888.     /* [in] */ DWORD dwCookie);
  889. void __RPC_STUB ITfMouseTracker_UnadviseMouseSink_Stub(
  890.     IRpcStubBuffer *This,
  891.     IRpcChannelBuffer *_pRpcChannelBuffer,
  892.     PRPC_MESSAGE _pRpcMessage,
  893.     DWORD *_pdwStubPhase);
  894. #endif  /* __ITfMouseTracker_INTERFACE_DEFINED__ */
  895. #ifndef __ITfMouseTrackerACP_INTERFACE_DEFINED__
  896. #define __ITfMouseTrackerACP_INTERFACE_DEFINED__
  897. /* interface ITfMouseTrackerACP */
  898. /* [unique][uuid][object] */ 
  899. EXTERN_C const IID IID_ITfMouseTrackerACP;
  900. #if defined(__cplusplus) && !defined(CINTERFACE)
  901.     
  902.     MIDL_INTERFACE("3bdd78e2-c16e-47fd-b883-ce6facc1a208")
  903.     ITfMouseTrackerACP : public IUnknown
  904.     {
  905.     public:
  906.         virtual HRESULT STDMETHODCALLTYPE AdviseMouseSink( 
  907.             /* [in] */ ITfRangeACP *range,
  908.             /* [in] */ ITfMouseSink *pSink,
  909.             /* [out] */ DWORD *pdwCookie) = 0;
  910.         
  911.         virtual HRESULT STDMETHODCALLTYPE UnadviseMouseSink( 
  912.             /* [in] */ DWORD dwCookie) = 0;
  913.         
  914.     };
  915.     
  916. #else  /* C style interface */
  917.     typedef struct ITfMouseTrackerACPVtbl
  918.     {
  919.         BEGIN_INTERFACE
  920.         
  921.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  922.             ITfMouseTrackerACP * This,
  923.             /* [in] */ REFIID riid,
  924.             /* [iid_is][out] */ void **ppvObject);
  925.         
  926.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  927.             ITfMouseTrackerACP * This);
  928.         
  929.         ULONG ( STDMETHODCALLTYPE *Release )( 
  930.             ITfMouseTrackerACP * This);
  931.         
  932.         HRESULT ( STDMETHODCALLTYPE *AdviseMouseSink )( 
  933.             ITfMouseTrackerACP * This,
  934.             /* [in] */ ITfRangeACP *range,
  935.             /* [in] */ ITfMouseSink *pSink,
  936.             /* [out] */ DWORD *pdwCookie);
  937.         
  938.         HRESULT ( STDMETHODCALLTYPE *UnadviseMouseSink )( 
  939.             ITfMouseTrackerACP * This,
  940.             /* [in] */ DWORD dwCookie);
  941.         
  942.         END_INTERFACE
  943.     } ITfMouseTrackerACPVtbl;
  944.     interface ITfMouseTrackerACP
  945.     {
  946.         CONST_VTBL struct ITfMouseTrackerACPVtbl *lpVtbl;
  947.     };
  948.     
  949. #ifdef COBJMACROS
  950. #define ITfMouseTrackerACP_QueryInterface(This,riid,ppvObject)
  951.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  952. #define ITfMouseTrackerACP_AddRef(This)
  953.     (This)->lpVtbl -> AddRef(This)
  954. #define ITfMouseTrackerACP_Release(This)
  955.     (This)->lpVtbl -> Release(This)
  956. #define ITfMouseTrackerACP_AdviseMouseSink(This,range,pSink,pdwCookie)
  957.     (This)->lpVtbl -> AdviseMouseSink(This,range,pSink,pdwCookie)
  958. #define ITfMouseTrackerACP_UnadviseMouseSink(This,dwCookie)
  959.     (This)->lpVtbl -> UnadviseMouseSink(This,dwCookie)
  960. #endif /* COBJMACROS */
  961. #endif  /* C style interface */
  962. HRESULT STDMETHODCALLTYPE ITfMouseTrackerACP_AdviseMouseSink_Proxy( 
  963.     ITfMouseTrackerACP * This,
  964.     /* [in] */ ITfRangeACP *range,
  965.     /* [in] */ ITfMouseSink *pSink,
  966.     /* [out] */ DWORD *pdwCookie);
  967. void __RPC_STUB ITfMouseTrackerACP_AdviseMouseSink_Stub(
  968.     IRpcStubBuffer *This,
  969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  970.     PRPC_MESSAGE _pRpcMessage,
  971.     DWORD *_pdwStubPhase);
  972. HRESULT STDMETHODCALLTYPE ITfMouseTrackerACP_UnadviseMouseSink_Proxy( 
  973.     ITfMouseTrackerACP * This,
  974.     /* [in] */ DWORD dwCookie);
  975. void __RPC_STUB ITfMouseTrackerACP_UnadviseMouseSink_Stub(
  976.     IRpcStubBuffer *This,
  977.     IRpcChannelBuffer *_pRpcChannelBuffer,
  978.     PRPC_MESSAGE _pRpcMessage,
  979.     DWORD *_pdwStubPhase);
  980. #endif  /* __ITfMouseTrackerACP_INTERFACE_DEFINED__ */
  981. #ifndef __ITfMouseSink_INTERFACE_DEFINED__
  982. #define __ITfMouseSink_INTERFACE_DEFINED__
  983. /* interface ITfMouseSink */
  984. /* [unique][uuid][local][object] */ 
  985. EXTERN_C const IID IID_ITfMouseSink;
  986. #if defined(__cplusplus) && !defined(CINTERFACE)
  987.     
  988.     MIDL_INTERFACE("a1adaaa2-3a24-449d-ac96-5183e7f5c217")
  989.     ITfMouseSink : public IUnknown
  990.     {
  991.     public:
  992.         virtual HRESULT STDMETHODCALLTYPE OnMouseEvent( 
  993.             /* [in] */ ULONG uEdge,
  994.             /* [in] */ ULONG uQuadrant,
  995.             /* [in] */ DWORD dwBtnStatus,
  996.             /* [out] */ BOOL *pfEaten) = 0;
  997.         
  998.     };
  999.     
  1000. #else  /* C style interface */
  1001.     typedef struct ITfMouseSinkVtbl
  1002.     {
  1003.         BEGIN_INTERFACE
  1004.         
  1005.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1006.             ITfMouseSink * This,
  1007.             /* [in] */ REFIID riid,
  1008.             /* [iid_is][out] */ void **ppvObject);
  1009.         
  1010.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1011.             ITfMouseSink * This);
  1012.         
  1013.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1014.             ITfMouseSink * This);
  1015.         
  1016.         HRESULT ( STDMETHODCALLTYPE *OnMouseEvent )( 
  1017.             ITfMouseSink * This,
  1018.             /* [in] */ ULONG uEdge,
  1019.             /* [in] */ ULONG uQuadrant,
  1020.             /* [in] */ DWORD dwBtnStatus,
  1021.             /* [out] */ BOOL *pfEaten);
  1022.         
  1023.         END_INTERFACE
  1024.     } ITfMouseSinkVtbl;
  1025.     interface ITfMouseSink
  1026.     {
  1027.         CONST_VTBL struct ITfMouseSinkVtbl *lpVtbl;
  1028.     };
  1029.     
  1030. #ifdef COBJMACROS
  1031. #define ITfMouseSink_QueryInterface(This,riid,ppvObject)
  1032.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1033. #define ITfMouseSink_AddRef(This)
  1034.     (This)->lpVtbl -> AddRef(This)
  1035. #define ITfMouseSink_Release(This)
  1036.     (This)->lpVtbl -> Release(This)
  1037. #define ITfMouseSink_OnMouseEvent(This,uEdge,uQuadrant,dwBtnStatus,pfEaten)
  1038.     (This)->lpVtbl -> OnMouseEvent(This,uEdge,uQuadrant,dwBtnStatus,pfEaten)
  1039. #endif /* COBJMACROS */
  1040. #endif  /* C style interface */
  1041. HRESULT STDMETHODCALLTYPE ITfMouseSink_OnMouseEvent_Proxy( 
  1042.     ITfMouseSink * This,
  1043.     /* [in] */ ULONG uEdge,
  1044.     /* [in] */ ULONG uQuadrant,
  1045.     /* [in] */ DWORD dwBtnStatus,
  1046.     /* [out] */ BOOL *pfEaten);
  1047. void __RPC_STUB ITfMouseSink_OnMouseEvent_Stub(
  1048.     IRpcStubBuffer *This,
  1049.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1050.     PRPC_MESSAGE _pRpcMessage,
  1051.     DWORD *_pdwStubPhase);
  1052. #endif  /* __ITfMouseSink_INTERFACE_DEFINED__ */
  1053. #ifndef __ITfEditRecord_INTERFACE_DEFINED__
  1054. #define __ITfEditRecord_INTERFACE_DEFINED__
  1055. /* interface ITfEditRecord */
  1056. /* [unique][uuid][object] */ 
  1057. #define TF_GTP_INCL_TEXT ( 0x1 )
  1058. EXTERN_C const IID IID_ITfEditRecord;
  1059. #if defined(__cplusplus) && !defined(CINTERFACE)
  1060.     
  1061.     MIDL_INTERFACE("42d4d099-7c1a-4a89-b836-6c6f22160df0")
  1062.     ITfEditRecord : public IUnknown
  1063.     {
  1064.     public:
  1065.         virtual HRESULT STDMETHODCALLTYPE GetSelectionStatus( 
  1066.             /* [out] */ BOOL *pfChanged) = 0;
  1067.         
  1068.         virtual HRESULT STDMETHODCALLTYPE GetTextAndPropertyUpdates( 
  1069.             /* [in] */ DWORD dwFlags,
  1070.             /* [size_is][in] */ const GUID **prgProperties,
  1071.             /* [in] */ ULONG cProperties,
  1072.             /* [out] */ IEnumTfRanges **ppEnum) = 0;
  1073.         
  1074.     };
  1075.     
  1076. #else  /* C style interface */
  1077.     typedef struct ITfEditRecordVtbl
  1078.     {
  1079.         BEGIN_INTERFACE
  1080.         
  1081.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1082.             ITfEditRecord * This,
  1083.             /* [in] */ REFIID riid,
  1084.             /* [iid_is][out] */ void **ppvObject);
  1085.         
  1086.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1087.             ITfEditRecord * This);
  1088.         
  1089.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1090.             ITfEditRecord * This);
  1091.         
  1092.         HRESULT ( STDMETHODCALLTYPE *GetSelectionStatus )( 
  1093.             ITfEditRecord * This,
  1094.             /* [out] */ BOOL *pfChanged);
  1095.         
  1096.         HRESULT ( STDMETHODCALLTYPE *GetTextAndPropertyUpdates )( 
  1097.             ITfEditRecord * This,
  1098.             /* [in] */ DWORD dwFlags,
  1099.             /* [size_is][in] */ const GUID **prgProperties,
  1100.             /* [in] */ ULONG cProperties,
  1101.             /* [out] */ IEnumTfRanges **ppEnum);
  1102.         
  1103.         END_INTERFACE
  1104.     } ITfEditRecordVtbl;
  1105.     interface ITfEditRecord
  1106.     {
  1107.         CONST_VTBL struct ITfEditRecordVtbl *lpVtbl;
  1108.     };
  1109.     
  1110. #ifdef COBJMACROS
  1111. #define ITfEditRecord_QueryInterface(This,riid,ppvObject)
  1112.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1113. #define ITfEditRecord_AddRef(This)
  1114.     (This)->lpVtbl -> AddRef(This)
  1115. #define ITfEditRecord_Release(This)
  1116.     (This)->lpVtbl -> Release(This)
  1117. #define ITfEditRecord_GetSelectionStatus(This,pfChanged)
  1118.     (This)->lpVtbl -> GetSelectionStatus(This,pfChanged)
  1119. #define ITfEditRecord_GetTextAndPropertyUpdates(This,dwFlags,prgProperties,cProperties,ppEnum)
  1120.     (This)->lpVtbl -> GetTextAndPropertyUpdates(This,dwFlags,prgProperties,cProperties,ppEnum)
  1121. #endif /* COBJMACROS */
  1122. #endif  /* C style interface */
  1123. HRESULT STDMETHODCALLTYPE ITfEditRecord_GetSelectionStatus_Proxy( 
  1124.     ITfEditRecord * This,
  1125.     /* [out] */ BOOL *pfChanged);
  1126. void __RPC_STUB ITfEditRecord_GetSelectionStatus_Stub(
  1127.     IRpcStubBuffer *This,
  1128.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1129.     PRPC_MESSAGE _pRpcMessage,
  1130.     DWORD *_pdwStubPhase);
  1131. HRESULT STDMETHODCALLTYPE ITfEditRecord_GetTextAndPropertyUpdates_Proxy( 
  1132.     ITfEditRecord * This,
  1133.     /* [in] */ DWORD dwFlags,
  1134.     /* [size_is][in] */ const GUID **prgProperties,
  1135.     /* [in] */ ULONG cProperties,
  1136.     /* [out] */ IEnumTfRanges **ppEnum);
  1137. void __RPC_STUB ITfEditRecord_GetTextAndPropertyUpdates_Stub(
  1138.     IRpcStubBuffer *This,
  1139.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1140.     PRPC_MESSAGE _pRpcMessage,
  1141.     DWORD *_pdwStubPhase);
  1142. #endif  /* __ITfEditRecord_INTERFACE_DEFINED__ */
  1143. #ifndef __ITfTextEditSink_INTERFACE_DEFINED__
  1144. #define __ITfTextEditSink_INTERFACE_DEFINED__
  1145. /* interface ITfTextEditSink */
  1146. /* [unique][uuid][object] */ 
  1147. EXTERN_C const IID IID_ITfTextEditSink;
  1148. #if defined(__cplusplus) && !defined(CINTERFACE)
  1149.     
  1150.     MIDL_INTERFACE("8127d409-ccd3-4683-967a-b43d5b482bf7")
  1151.     ITfTextEditSink : public IUnknown
  1152.     {
  1153.     public:
  1154.         virtual HRESULT STDMETHODCALLTYPE OnEndEdit( 
  1155.             /* [in] */ ITfContext *pic,
  1156.             /* [in] */ TfEditCookie ecReadOnly,
  1157.             /* [in] */ ITfEditRecord *pEditRecord) = 0;
  1158.         
  1159.     };
  1160.     
  1161. #else  /* C style interface */
  1162.     typedef struct ITfTextEditSinkVtbl
  1163.     {
  1164.         BEGIN_INTERFACE
  1165.         
  1166.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1167.             ITfTextEditSink * This,
  1168.             /* [in] */ REFIID riid,
  1169.             /* [iid_is][out] */ void **ppvObject);
  1170.         
  1171.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1172.             ITfTextEditSink * This);
  1173.         
  1174.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1175.             ITfTextEditSink * This);
  1176.         
  1177.         HRESULT ( STDMETHODCALLTYPE *OnEndEdit )( 
  1178.             ITfTextEditSink * This,
  1179.             /* [in] */ ITfContext *pic,
  1180.             /* [in] */ TfEditCookie ecReadOnly,
  1181.             /* [in] */ ITfEditRecord *pEditRecord);
  1182.         
  1183.         END_INTERFACE
  1184.     } ITfTextEditSinkVtbl;
  1185.     interface ITfTextEditSink
  1186.     {
  1187.         CONST_VTBL struct ITfTextEditSinkVtbl *lpVtbl;
  1188.     };
  1189.     
  1190. #ifdef COBJMACROS
  1191. #define ITfTextEditSink_QueryInterface(This,riid,ppvObject)
  1192.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1193. #define ITfTextEditSink_AddRef(This)
  1194.     (This)->lpVtbl -> AddRef(This)
  1195. #define ITfTextEditSink_Release(This)
  1196.     (This)->lpVtbl -> Release(This)
  1197. #define ITfTextEditSink_OnEndEdit(This,pic,ecReadOnly,pEditRecord)
  1198.     (This)->lpVtbl -> OnEndEdit(This,pic,ecReadOnly,pEditRecord)
  1199. #endif /* COBJMACROS */
  1200. #endif  /* C style interface */
  1201. HRESULT STDMETHODCALLTYPE ITfTextEditSink_OnEndEdit_Proxy( 
  1202.     ITfTextEditSink * This,
  1203.     /* [in] */ ITfContext *pic,
  1204.     /* [in] */ TfEditCookie ecReadOnly,
  1205.     /* [in] */ ITfEditRecord *pEditRecord);
  1206. void __RPC_STUB ITfTextEditSink_OnEndEdit_Stub(
  1207.     IRpcStubBuffer *This,
  1208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1209.     PRPC_MESSAGE _pRpcMessage,
  1210.     DWORD *_pdwStubPhase);
  1211. #endif  /* __ITfTextEditSink_INTERFACE_DEFINED__ */
  1212. #ifndef __ITfTextLayoutSink_INTERFACE_DEFINED__
  1213. #define __ITfTextLayoutSink_INTERFACE_DEFINED__
  1214. /* interface ITfTextLayoutSink */
  1215. /* [unique][uuid][object] */ 
  1216. typedef /* [public][public][uuid] */  DECLSPEC_UUID("603553cf-9edd-4cc1-9ecc-069e4a427734") 
  1217. enum __MIDL_ITfTextLayoutSink_0001
  1218.     { TF_LC_CREATE = 0,
  1219. TF_LC_CHANGE = 1,
  1220. TF_LC_DESTROY = 2
  1221.     }  TfLayoutCode;
  1222. EXTERN_C const IID IID_ITfTextLayoutSink;
  1223. #if defined(__cplusplus) && !defined(CINTERFACE)
  1224.     
  1225.     MIDL_INTERFACE("2af2d06a-dd5b-4927-a0b4-54f19c91fade")
  1226.     ITfTextLayoutSink : public IUnknown
  1227.     {
  1228.     public:
  1229.         virtual HRESULT STDMETHODCALLTYPE OnLayoutChange( 
  1230.             /* [in] */ ITfContext *pic,
  1231.             /* [in] */ TfLayoutCode lcode,
  1232.             /* [in] */ ITfContextView *pView) = 0;
  1233.         
  1234.     };
  1235.     
  1236. #else  /* C style interface */
  1237.     typedef struct ITfTextLayoutSinkVtbl
  1238.     {
  1239.         BEGIN_INTERFACE
  1240.         
  1241.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1242.             ITfTextLayoutSink * This,
  1243.             /* [in] */ REFIID riid,
  1244.             /* [iid_is][out] */ void **ppvObject);
  1245.         
  1246.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1247.             ITfTextLayoutSink * This);
  1248.         
  1249.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1250.             ITfTextLayoutSink * This);
  1251.         
  1252.         HRESULT ( STDMETHODCALLTYPE *OnLayoutChange )( 
  1253.             ITfTextLayoutSink * This,
  1254.             /* [in] */ ITfContext *pic,
  1255.             /* [in] */ TfLayoutCode lcode,
  1256.             /* [in] */ ITfContextView *pView);
  1257.         
  1258.         END_INTERFACE
  1259.     } ITfTextLayoutSinkVtbl;
  1260.     interface ITfTextLayoutSink
  1261.     {
  1262.         CONST_VTBL struct ITfTextLayoutSinkVtbl *lpVtbl;
  1263.     };
  1264.     
  1265. #ifdef COBJMACROS
  1266. #define ITfTextLayoutSink_QueryInterface(This,riid,ppvObject)
  1267.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1268. #define ITfTextLayoutSink_AddRef(This)
  1269.     (This)->lpVtbl -> AddRef(This)
  1270. #define ITfTextLayoutSink_Release(This)
  1271.     (This)->lpVtbl -> Release(This)
  1272. #define ITfTextLayoutSink_OnLayoutChange(This,pic,lcode,pView)
  1273.     (This)->lpVtbl -> OnLayoutChange(This,pic,lcode,pView)
  1274. #endif /* COBJMACROS */
  1275. #endif  /* C style interface */
  1276. HRESULT STDMETHODCALLTYPE ITfTextLayoutSink_OnLayoutChange_Proxy( 
  1277.     ITfTextLayoutSink * This,
  1278.     /* [in] */ ITfContext *pic,
  1279.     /* [in] */ TfLayoutCode lcode,
  1280.     /* [in] */ ITfContextView *pView);
  1281. void __RPC_STUB ITfTextLayoutSink_OnLayoutChange_Stub(
  1282.     IRpcStubBuffer *This,
  1283.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1284.     PRPC_MESSAGE _pRpcMessage,
  1285.     DWORD *_pdwStubPhase);
  1286. #endif  /* __ITfTextLayoutSink_INTERFACE_DEFINED__ */
  1287. #ifndef __ITfStatusSink_INTERFACE_DEFINED__
  1288. #define __ITfStatusSink_INTERFACE_DEFINED__
  1289. /* interface ITfStatusSink */
  1290. /* [unique][uuid][object] */ 
  1291. EXTERN_C const IID IID_ITfStatusSink;
  1292. #if defined(__cplusplus) && !defined(CINTERFACE)
  1293.     
  1294.     MIDL_INTERFACE("6b7d8d73-b267-4f69-b32e-1ca321ce4f45")
  1295.     ITfStatusSink : public IUnknown
  1296.     {
  1297.     public:
  1298.         virtual HRESULT STDMETHODCALLTYPE OnStatusChange( 
  1299.             /* [in] */ ITfContext *pic,
  1300.             /* [in] */ DWORD dwFlags) = 0;
  1301.         
  1302.     };
  1303.     
  1304. #else  /* C style interface */
  1305.     typedef struct ITfStatusSinkVtbl
  1306.     {
  1307.         BEGIN_INTERFACE
  1308.         
  1309.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1310.             ITfStatusSink * This,
  1311.             /* [in] */ REFIID riid,
  1312.             /* [iid_is][out] */ void **ppvObject);
  1313.         
  1314.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1315.             ITfStatusSink * This);
  1316.         
  1317.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1318.             ITfStatusSink * This);
  1319.         
  1320.         HRESULT ( STDMETHODCALLTYPE *OnStatusChange )( 
  1321.             ITfStatusSink * This,
  1322.             /* [in] */ ITfContext *pic,
  1323.             /* [in] */ DWORD dwFlags);
  1324.         
  1325.         END_INTERFACE
  1326.     } ITfStatusSinkVtbl;
  1327.     interface ITfStatusSink
  1328.     {
  1329.         CONST_VTBL struct ITfStatusSinkVtbl *lpVtbl;
  1330.     };
  1331.     
  1332. #ifdef COBJMACROS
  1333. #define ITfStatusSink_QueryInterface(This,riid,ppvObject)
  1334.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1335. #define ITfStatusSink_AddRef(This)
  1336.     (This)->lpVtbl -> AddRef(This)
  1337. #define ITfStatusSink_Release(This)
  1338.     (This)->lpVtbl -> Release(This)
  1339. #define ITfStatusSink_OnStatusChange(This,pic,dwFlags)
  1340.     (This)->lpVtbl -> OnStatusChange(This,pic,dwFlags)
  1341. #endif /* COBJMACROS */
  1342. #endif  /* C style interface */
  1343. HRESULT STDMETHODCALLTYPE ITfStatusSink_OnStatusChange_Proxy( 
  1344.     ITfStatusSink * This,
  1345.     /* [in] */ ITfContext *pic,
  1346.     /* [in] */ DWORD dwFlags);
  1347. void __RPC_STUB ITfStatusSink_OnStatusChange_Stub(
  1348.     IRpcStubBuffer *This,
  1349.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1350.     PRPC_MESSAGE _pRpcMessage,
  1351.     DWORD *_pdwStubPhase);
  1352. #endif  /* __ITfStatusSink_INTERFACE_DEFINED__ */
  1353. #ifndef __ITfEditTransactionSink_INTERFACE_DEFINED__
  1354. #define __ITfEditTransactionSink_INTERFACE_DEFINED__
  1355. /* interface ITfEditTransactionSink */
  1356. /* [unique][uuid][object] */ 
  1357. EXTERN_C const IID IID_ITfEditTransactionSink;
  1358. #if defined(__cplusplus) && !defined(CINTERFACE)
  1359.     
  1360.     MIDL_INTERFACE("708fbf70-b520-416b-b06c-2c41ab44f8ba")
  1361.     ITfEditTransactionSink : public IUnknown
  1362.     {
  1363.     public:
  1364.         virtual HRESULT STDMETHODCALLTYPE OnStartEditTransaction( 
  1365.             /* [in] */ ITfContext *pic) = 0;
  1366.         
  1367.         virtual HRESULT STDMETHODCALLTYPE OnEndEditTransaction( 
  1368.             /* [in] */ ITfContext *pic) = 0;
  1369.         
  1370.     };
  1371.     
  1372. #else  /* C style interface */
  1373.     typedef struct ITfEditTransactionSinkVtbl
  1374.     {
  1375.         BEGIN_INTERFACE
  1376.         
  1377.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1378.             ITfEditTransactionSink * This,
  1379.             /* [in] */ REFIID riid,
  1380.             /* [iid_is][out] */ void **ppvObject);
  1381.         
  1382.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1383.             ITfEditTransactionSink * This);
  1384.         
  1385.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1386.             ITfEditTransactionSink * This);
  1387.         
  1388.         HRESULT ( STDMETHODCALLTYPE *OnStartEditTransaction )( 
  1389.             ITfEditTransactionSink * This,
  1390.             /* [in] */ ITfContext *pic);
  1391.         
  1392.         HRESULT ( STDMETHODCALLTYPE *OnEndEditTransaction )( 
  1393.             ITfEditTransactionSink * This,
  1394.             /* [in] */ ITfContext *pic);
  1395.         
  1396.         END_INTERFACE
  1397.     } ITfEditTransactionSinkVtbl;
  1398.     interface ITfEditTransactionSink
  1399.     {
  1400.         CONST_VTBL struct ITfEditTransactionSinkVtbl *lpVtbl;
  1401.     };
  1402.     
  1403. #ifdef COBJMACROS
  1404. #define ITfEditTransactionSink_QueryInterface(This,riid,ppvObject)
  1405.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1406. #define ITfEditTransactionSink_AddRef(This)
  1407.     (This)->lpVtbl -> AddRef(This)
  1408. #define ITfEditTransactionSink_Release(This)
  1409.     (This)->lpVtbl -> Release(This)
  1410. #define ITfEditTransactionSink_OnStartEditTransaction(This,pic)
  1411.     (This)->lpVtbl -> OnStartEditTransaction(This,pic)
  1412. #define ITfEditTransactionSink_OnEndEditTransaction(This,pic)
  1413.     (This)->lpVtbl -> OnEndEditTransaction(This,pic)
  1414. #endif /* COBJMACROS */
  1415. #endif  /* C style interface */
  1416. HRESULT STDMETHODCALLTYPE ITfEditTransactionSink_OnStartEditTransaction_Proxy( 
  1417.     ITfEditTransactionSink * This,
  1418.     /* [in] */ ITfContext *pic);
  1419. void __RPC_STUB ITfEditTransactionSink_OnStartEditTransaction_Stub(
  1420.     IRpcStubBuffer *This,
  1421.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1422.     PRPC_MESSAGE _pRpcMessage,
  1423.     DWORD *_pdwStubPhase);
  1424. HRESULT STDMETHODCALLTYPE ITfEditTransactionSink_OnEndEditTransaction_Proxy( 
  1425.     ITfEditTransactionSink * This,
  1426.     /* [in] */ ITfContext *pic);
  1427. void __RPC_STUB ITfEditTransactionSink_OnEndEditTransaction_Stub(
  1428.     IRpcStubBuffer *This,
  1429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1430.     PRPC_MESSAGE _pRpcMessage,
  1431.     DWORD *_pdwStubPhase);
  1432. #endif  /* __ITfEditTransactionSink_INTERFACE_DEFINED__ */
  1433. #ifndef __ITfContextOwner_INTERFACE_DEFINED__
  1434. #define __ITfContextOwner_INTERFACE_DEFINED__
  1435. /* interface ITfContextOwner */
  1436. /* [unique][uuid][object] */ 
  1437. EXTERN_C const IID IID_ITfContextOwner;
  1438. #if defined(__cplusplus) && !defined(CINTERFACE)
  1439.     
  1440.     MIDL_INTERFACE("aa80e80c-2021-11d2-93e0-0060b067b86e")
  1441.     ITfContextOwner : public IUnknown
  1442.     {
  1443.     public:
  1444.         virtual HRESULT STDMETHODCALLTYPE GetACPFromPoint( 
  1445.             /* [in] */ const POINT *ptScreen,
  1446.             /* [in] */ DWORD dwFlags,
  1447.             /* [out] */ LONG *pacp) = 0;
  1448.         
  1449.         virtual HRESULT STDMETHODCALLTYPE GetTextExt( 
  1450.             /* [in] */ LONG acpStart,
  1451.             /* [in] */ LONG acpEnd,
  1452.             /* [out] */ RECT *prc,
  1453.             /* [out] */ BOOL *pfClipped) = 0;
  1454.         
  1455.         virtual HRESULT STDMETHODCALLTYPE GetScreenExt( 
  1456.             /* [out] */ RECT *prc) = 0;
  1457.         
  1458.         virtual HRESULT STDMETHODCALLTYPE GetStatus( 
  1459.             /* [out] */ TF_STATUS *pdcs) = 0;
  1460.         
  1461.         virtual HRESULT STDMETHODCALLTYPE GetWnd( 
  1462.             /* [out] */ HWND *phwnd) = 0;
  1463.         
  1464.         virtual HRESULT STDMETHODCALLTYPE GetAttribute( 
  1465.             /* [in] */ REFGUID rguidAttribute,
  1466.             /* [out] */ VARIANT *pvarValue) = 0;
  1467.         
  1468.     };
  1469.     
  1470. #else  /* C style interface */
  1471.     typedef struct ITfContextOwnerVtbl
  1472.     {
  1473.         BEGIN_INTERFACE
  1474.         
  1475.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1476.             ITfContextOwner * This,
  1477.             /* [in] */ REFIID riid,
  1478.             /* [iid_is][out] */ void **ppvObject);
  1479.         
  1480.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1481.             ITfContextOwner * This);
  1482.         
  1483.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1484.             ITfContextOwner * This);
  1485.         
  1486.         HRESULT ( STDMETHODCALLTYPE *GetACPFromPoint )( 
  1487.             ITfContextOwner * This,
  1488.             /* [in] */ const POINT *ptScreen,
  1489.             /* [in] */ DWORD dwFlags,
  1490.             /* [out] */ LONG *pacp);
  1491.         
  1492.         HRESULT ( STDMETHODCALLTYPE *GetTextExt )( 
  1493.             ITfContextOwner * This,
  1494.             /* [in] */ LONG acpStart,
  1495.             /* [in] */ LONG acpEnd,
  1496.             /* [out] */ RECT *prc,
  1497.             /* [out] */ BOOL *pfClipped);
  1498.         
  1499.         HRESULT ( STDMETHODCALLTYPE *GetScreenExt )( 
  1500.             ITfContextOwner * This,
  1501.             /* [out] */ RECT *prc);
  1502.         
  1503.         HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
  1504.             ITfContextOwner * This,
  1505.             /* [out] */ TF_STATUS *pdcs);
  1506.         
  1507.         HRESULT ( STDMETHODCALLTYPE *GetWnd )( 
  1508.             ITfContextOwner * This,
  1509.             /* [out] */ HWND *phwnd);
  1510.         
  1511.         HRESULT ( STDMETHODCALLTYPE *GetAttribute )( 
  1512.             ITfContextOwner * This,
  1513.             /* [in] */ REFGUID rguidAttribute,
  1514.             /* [out] */ VARIANT *pvarValue);
  1515.         
  1516.         END_INTERFACE
  1517.     } ITfContextOwnerVtbl;
  1518.     interface ITfContextOwner
  1519.     {
  1520.         CONST_VTBL struct ITfContextOwnerVtbl *lpVtbl;
  1521.     };
  1522.     
  1523. #ifdef COBJMACROS
  1524. #define ITfContextOwner_QueryInterface(This,riid,ppvObject)
  1525.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1526. #define ITfContextOwner_AddRef(This)
  1527.     (This)->lpVtbl -> AddRef(This)
  1528. #define ITfContextOwner_Release(This)
  1529.     (This)->lpVtbl -> Release(This)
  1530. #define ITfContextOwner_GetACPFromPoint(This,ptScreen,dwFlags,pacp)
  1531.     (This)->lpVtbl -> GetACPFromPoint(This,ptScreen,dwFlags,pacp)
  1532. #define ITfContextOwner_GetTextExt(This,acpStart,acpEnd,prc,pfClipped)
  1533.     (This)->lpVtbl -> GetTextExt(This,acpStart,acpEnd,prc,pfClipped)
  1534. #define ITfContextOwner_GetScreenExt(This,prc)
  1535.     (This)->lpVtbl -> GetScreenExt(This,prc)
  1536. #define ITfContextOwner_GetStatus(This,pdcs)
  1537.     (This)->lpVtbl -> GetStatus(This,pdcs)
  1538. #define ITfContextOwner_GetWnd(This,phwnd)
  1539.     (This)->lpVtbl -> GetWnd(This,phwnd)
  1540. #define ITfContextOwner_GetAttribute(This,rguidAttribute,pvarValue)
  1541.     (This)->lpVtbl -> GetAttribute(This,rguidAttribute,pvarValue)
  1542. #endif /* COBJMACROS */
  1543. #endif  /* C style interface */
  1544. HRESULT STDMETHODCALLTYPE ITfContextOwner_GetACPFromPoint_Proxy( 
  1545.     ITfContextOwner * This,
  1546.     /* [in] */ const POINT *ptScreen,
  1547.     /* [in] */ DWORD dwFlags,
  1548.     /* [out] */ LONG *pacp);
  1549. void __RPC_STUB ITfContextOwner_GetACPFromPoint_Stub(
  1550.     IRpcStubBuffer *This,
  1551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1552.     PRPC_MESSAGE _pRpcMessage,
  1553.     DWORD *_pdwStubPhase);
  1554. HRESULT STDMETHODCALLTYPE ITfContextOwner_GetTextExt_Proxy( 
  1555.     ITfContextOwner * This,
  1556.     /* [in] */ LONG acpStart,
  1557.     /* [in] */ LONG acpEnd,
  1558.     /* [out] */ RECT *prc,
  1559.     /* [out] */ BOOL *pfClipped);
  1560. void __RPC_STUB ITfContextOwner_GetTextExt_Stub(
  1561.     IRpcStubBuffer *This,
  1562.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1563.     PRPC_MESSAGE _pRpcMessage,
  1564.     DWORD *_pdwStubPhase);
  1565. HRESULT STDMETHODCALLTYPE ITfContextOwner_GetScreenExt_Proxy( 
  1566.     ITfContextOwner * This,
  1567.     /* [out] */ RECT *prc);
  1568. void __RPC_STUB ITfContextOwner_GetScreenExt_Stub(
  1569.     IRpcStubBuffer *This,
  1570.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1571.     PRPC_MESSAGE _pRpcMessage,
  1572.     DWORD *_pdwStubPhase);
  1573. HRESULT STDMETHODCALLTYPE ITfContextOwner_GetStatus_Proxy( 
  1574.     ITfContextOwner * This,
  1575.     /* [out] */ TF_STATUS *pdcs);
  1576. void __RPC_STUB ITfContextOwner_GetStatus_Stub(
  1577.     IRpcStubBuffer *This,
  1578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1579.     PRPC_MESSAGE _pRpcMessage,
  1580.     DWORD *_pdwStubPhase);
  1581. HRESULT STDMETHODCALLTYPE ITfContextOwner_GetWnd_Proxy( 
  1582.     ITfContextOwner * This,
  1583.     /* [out] */ HWND *phwnd);
  1584. void __RPC_STUB ITfContextOwner_GetWnd_Stub(
  1585.     IRpcStubBuffer *This,
  1586.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1587.     PRPC_MESSAGE _pRpcMessage,
  1588.     DWORD *_pdwStubPhase);
  1589. HRESULT STDMETHODCALLTYPE ITfContextOwner_GetAttribute_Proxy( 
  1590.     ITfContextOwner * This,
  1591.     /* [in] */ REFGUID rguidAttribute,
  1592.     /* [out] */ VARIANT *pvarValue);
  1593. void __RPC_STUB ITfContextOwner_GetAttribute_Stub(
  1594.     IRpcStubBuffer *This,
  1595.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1596.     PRPC_MESSAGE _pRpcMessage,
  1597.     DWORD *_pdwStubPhase);
  1598. #endif  /* __ITfContextOwner_INTERFACE_DEFINED__ */
  1599. #ifndef __ITfContextOwnerServices_INTERFACE_DEFINED__
  1600. #define __ITfContextOwnerServices_INTERFACE_DEFINED__
  1601. /* interface ITfContextOwnerServices */
  1602. /* [unique][uuid][object] */ 
  1603. EXTERN_C const IID IID_ITfContextOwnerServices;
  1604. #if defined(__cplusplus) && !defined(CINTERFACE)
  1605.     
  1606.     MIDL_INTERFACE("b23eb630-3e1c-11d3-a745-0050040ab407")
  1607.     ITfContextOwnerServices : public IUnknown
  1608.     {
  1609.     public:
  1610.         virtual HRESULT STDMETHODCALLTYPE OnLayoutChange( void) = 0;
  1611.         
  1612.         virtual HRESULT STDMETHODCALLTYPE OnStatusChange( 
  1613.             /* [in] */ DWORD dwFlags) = 0;
  1614.         
  1615.         virtual HRESULT STDMETHODCALLTYPE OnAttributeChange( 
  1616.             /* [in] */ REFGUID rguidAttribute) = 0;
  1617.         
  1618.         virtual HRESULT STDMETHODCALLTYPE Serialize( 
  1619.             /* [in] */ ITfProperty *pProp,
  1620.             /* [in] */ ITfRange *pRange,
  1621.             /* [out] */ TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
  1622.             /* [in] */ IStream *pStream) = 0;
  1623.         
  1624.         virtual HRESULT STDMETHODCALLTYPE Unserialize( 
  1625.             /* [in] */ ITfProperty *pProp,
  1626.             /* [in] */ const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
  1627.             /* [in] */ IStream *pStream,
  1628.             /* [in] */ ITfPersistentPropertyLoaderACP *pLoader) = 0;
  1629.         
  1630.         virtual HRESULT STDMETHODCALLTYPE ForceLoadProperty( 
  1631.             /* [in] */ ITfProperty *pProp) = 0;
  1632.         
  1633.         virtual HRESULT STDMETHODCALLTYPE CreateRange( 
  1634.             /* [in] */ LONG acpStart,
  1635.             /* [in] */ LONG acpEnd,
  1636.             /* [out] */ ITfRangeACP **ppRange) = 0;
  1637.         
  1638.     };
  1639.     
  1640. #else  /* C style interface */
  1641.     typedef struct ITfContextOwnerServicesVtbl
  1642.     {
  1643.         BEGIN_INTERFACE
  1644.         
  1645.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1646.             ITfContextOwnerServices * This,
  1647.             /* [in] */ REFIID riid,
  1648.             /* [iid_is][out] */ void **ppvObject);
  1649.         
  1650.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1651.             ITfContextOwnerServices * This);
  1652.         
  1653.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1654.             ITfContextOwnerServices * This);
  1655.         
  1656.         HRESULT ( STDMETHODCALLTYPE *OnLayoutChange )( 
  1657.             ITfContextOwnerServices * This);
  1658.         
  1659.         HRESULT ( STDMETHODCALLTYPE *OnStatusChange )( 
  1660.             ITfContextOwnerServices * This,
  1661.             /* [in] */ DWORD dwFlags);
  1662.         
  1663.         HRESULT ( STDMETHODCALLTYPE *OnAttributeChange )( 
  1664.             ITfContextOwnerServices * This,
  1665.             /* [in] */ REFGUID rguidAttribute);
  1666.         
  1667.         HRESULT ( STDMETHODCALLTYPE *Serialize )( 
  1668.             ITfContextOwnerServices * This,
  1669.             /* [in] */ ITfProperty *pProp,
  1670.             /* [in] */ ITfRange *pRange,
  1671.             /* [out] */ TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
  1672.             /* [in] */ IStream *pStream);
  1673.         
  1674.         HRESULT ( STDMETHODCALLTYPE *Unserialize )( 
  1675.             ITfContextOwnerServices * This,
  1676.             /* [in] */ ITfProperty *pProp,
  1677.             /* [in] */ const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
  1678.             /* [in] */ IStream *pStream,
  1679.             /* [in] */ ITfPersistentPropertyLoaderACP *pLoader);
  1680.         
  1681.         HRESULT ( STDMETHODCALLTYPE *ForceLoadProperty )( 
  1682.             ITfContextOwnerServices * This,
  1683.             /* [in] */ ITfProperty *pProp);
  1684.         
  1685.         HRESULT ( STDMETHODCALLTYPE *CreateRange )( 
  1686.             ITfContextOwnerServices * This,
  1687.             /* [in] */ LONG acpStart,
  1688.             /* [in] */ LONG acpEnd,
  1689.             /* [out] */ ITfRangeACP **ppRange);
  1690.         
  1691.         END_INTERFACE
  1692.     } ITfContextOwnerServicesVtbl;
  1693.     interface ITfContextOwnerServices
  1694.     {
  1695.         CONST_VTBL struct ITfContextOwnerServicesVtbl *lpVtbl;
  1696.     };
  1697.     
  1698. #ifdef COBJMACROS
  1699. #define ITfContextOwnerServices_QueryInterface(This,riid,ppvObject)
  1700.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1701. #define ITfContextOwnerServices_AddRef(This)
  1702.     (This)->lpVtbl -> AddRef(This)
  1703. #define ITfContextOwnerServices_Release(This)
  1704.     (This)->lpVtbl -> Release(This)
  1705. #define ITfContextOwnerServices_OnLayoutChange(This)
  1706.     (This)->lpVtbl -> OnLayoutChange(This)
  1707. #define ITfContextOwnerServices_OnStatusChange(This,dwFlags)
  1708.     (This)->lpVtbl -> OnStatusChange(This,dwFlags)
  1709. #define ITfContextOwnerServices_OnAttributeChange(This,rguidAttribute)
  1710.     (This)->lpVtbl -> OnAttributeChange(This,rguidAttribute)
  1711. #define ITfContextOwnerServices_Serialize(This,pProp,pRange,pHdr,pStream)
  1712.     (This)->lpVtbl -> Serialize(This,pProp,pRange,pHdr,pStream)
  1713. #define ITfContextOwnerServices_Unserialize(This,pProp,pHdr,pStream,pLoader)
  1714.     (This)->lpVtbl -> Unserialize(This,pProp,pHdr,pStream,pLoader)
  1715. #define ITfContextOwnerServices_ForceLoadProperty(This,pProp)
  1716.     (This)->lpVtbl -> ForceLoadProperty(This,pProp)
  1717. #define ITfContextOwnerServices_CreateRange(This,acpStart,acpEnd,ppRange)
  1718.     (This)->lpVtbl -> CreateRange(This,acpStart,acpEnd,ppRange)
  1719. #endif /* COBJMACROS */
  1720. #endif  /* C style interface */
  1721. HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_OnLayoutChange_Proxy( 
  1722.     ITfContextOwnerServices * This);
  1723. void __RPC_STUB ITfContextOwnerServices_OnLayoutChange_Stub(
  1724.     IRpcStubBuffer *This,
  1725.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1726.     PRPC_MESSAGE _pRpcMessage,
  1727.     DWORD *_pdwStubPhase);
  1728. HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_OnStatusChange_Proxy( 
  1729.     ITfContextOwnerServices * This,
  1730.     /* [in] */ DWORD dwFlags);
  1731. void __RPC_STUB ITfContextOwnerServices_OnStatusChange_Stub(
  1732.     IRpcStubBuffer *This,
  1733.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1734.     PRPC_MESSAGE _pRpcMessage,
  1735.     DWORD *_pdwStubPhase);
  1736. HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_OnAttributeChange_Proxy( 
  1737.     ITfContextOwnerServices * This,
  1738.     /* [in] */ REFGUID rguidAttribute);
  1739. void __RPC_STUB ITfContextOwnerServices_OnAttributeChange_Stub(
  1740.     IRpcStubBuffer *This,
  1741.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1742.     PRPC_MESSAGE _pRpcMessage,
  1743.     DWORD *_pdwStubPhase);
  1744. HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_Serialize_Proxy( 
  1745.     ITfContextOwnerServices * This,
  1746.     /* [in] */ ITfProperty *pProp,
  1747.     /* [in] */ ITfRange *pRange,
  1748.     /* [out] */ TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
  1749.     /* [in] */ IStream *pStream);
  1750. void __RPC_STUB ITfContextOwnerServices_Serialize_Stub(
  1751.     IRpcStubBuffer *This,
  1752.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1753.     PRPC_MESSAGE _pRpcMessage,
  1754.     DWORD *_pdwStubPhase);
  1755. HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_Unserialize_Proxy( 
  1756.     ITfContextOwnerServices * This,
  1757.     /* [in] */ ITfProperty *pProp,
  1758.     /* [in] */ const TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
  1759.     /* [in] */ IStream *pStream,
  1760.     /* [in] */ ITfPersistentPropertyLoaderACP *pLoader);
  1761. void __RPC_STUB ITfContextOwnerServices_Unserialize_Stub(
  1762.     IRpcStubBuffer *This,
  1763.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1764.     PRPC_MESSAGE _pRpcMessage,
  1765.     DWORD *_pdwStubPhase);
  1766. HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_ForceLoadProperty_Proxy( 
  1767.     ITfContextOwnerServices * This,
  1768.     /* [in] */ ITfProperty *pProp);
  1769. void __RPC_STUB ITfContextOwnerServices_ForceLoadProperty_Stub(
  1770.     IRpcStubBuffer *This,
  1771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1772.     PRPC_MESSAGE _pRpcMessage,
  1773.     DWORD *_pdwStubPhase);
  1774. HRESULT STDMETHODCALLTYPE ITfContextOwnerServices_CreateRange_Proxy( 
  1775.     ITfContextOwnerServices * This,
  1776.     /* [in] */ LONG acpStart,
  1777.     /* [in] */ LONG acpEnd,
  1778.     /* [out] */ ITfRangeACP **ppRange);
  1779. void __RPC_STUB ITfContextOwnerServices_CreateRange_Stub(
  1780.     IRpcStubBuffer *This,
  1781.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1782.     PRPC_MESSAGE _pRpcMessage,
  1783.     DWORD *_pdwStubPhase);
  1784. #endif  /* __ITfContextOwnerServices_INTERFACE_DEFINED__ */
  1785. #ifndef __ITfContextKeyEventSink_INTERFACE_DEFINED__
  1786. #define __ITfContextKeyEventSink_INTERFACE_DEFINED__
  1787. /* interface ITfContextKeyEventSink */
  1788. /* [unique][uuid][local][object] */ 
  1789. EXTERN_C const IID IID_ITfContextKeyEventSink;
  1790. #if defined(__cplusplus) && !defined(CINTERFACE)
  1791.     
  1792.     MIDL_INTERFACE("0552ba5d-c835-4934-bf50-846aaa67432f")
  1793.     ITfContextKeyEventSink : public IUnknown
  1794.     {
  1795.     public:
  1796.         virtual HRESULT STDMETHODCALLTYPE OnKeyDown( 
  1797.             /* [in] */ WPARAM wParam,
  1798.             /* [in] */ LPARAM lParam,
  1799.             /* [out] */ BOOL *pfEaten) = 0;
  1800.         
  1801.         virtual HRESULT STDMETHODCALLTYPE OnKeyUp( 
  1802.             /* [in] */ WPARAM wParam,
  1803.             /* [in] */ LPARAM lParam,
  1804.             /* [out] */ BOOL *pfEaten) = 0;
  1805.         
  1806.         virtual HRESULT STDMETHODCALLTYPE OnTestKeyDown( 
  1807.             /* [in] */ WPARAM wParam,
  1808.             /* [in] */ LPARAM lParam,
  1809.             /* [out] */ BOOL *pfEaten) = 0;
  1810.         
  1811.         virtual HRESULT STDMETHODCALLTYPE OnTestKeyUp( 
  1812.             /* [in] */ WPARAM wParam,
  1813.             /* [in] */ LPARAM lParam,
  1814.             /* [out] */ BOOL *pfEaten) = 0;
  1815.         
  1816.     };
  1817.     
  1818. #else  /* C style interface */
  1819.     typedef struct ITfContextKeyEventSinkVtbl
  1820.     {
  1821.         BEGIN_INTERFACE
  1822.         
  1823.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1824.             ITfContextKeyEventSink * This,
  1825.             /* [in] */ REFIID riid,
  1826.             /* [iid_is][out] */ void **ppvObject);
  1827.         
  1828.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1829.             ITfContextKeyEventSink * This);
  1830.         
  1831.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1832.             ITfContextKeyEventSink * This);
  1833.         
  1834.         HRESULT ( STDMETHODCALLTYPE *OnKeyDown )( 
  1835.             ITfContextKeyEventSink * This,
  1836.             /* [in] */ WPARAM wParam,
  1837.             /* [in] */ LPARAM lParam,
  1838.             /* [out] */ BOOL *pfEaten);
  1839.         
  1840.         HRESULT ( STDMETHODCALLTYPE *OnKeyUp )( 
  1841.             ITfContextKeyEventSink * This,
  1842.             /* [in] */ WPARAM wParam,
  1843.             /* [in] */ LPARAM lParam,
  1844.             /* [out] */ BOOL *pfEaten);
  1845.         
  1846.         HRESULT ( STDMETHODCALLTYPE *OnTestKeyDown )( 
  1847.             ITfContextKeyEventSink * This,
  1848.             /* [in] */ WPARAM wParam,
  1849.             /* [in] */ LPARAM lParam,
  1850.             /* [out] */ BOOL *pfEaten);
  1851.         
  1852.         HRESULT ( STDMETHODCALLTYPE *OnTestKeyUp )( 
  1853.             ITfContextKeyEventSink * This,
  1854.             /* [in] */ WPARAM wParam,
  1855.             /* [in] */ LPARAM lParam,
  1856.             /* [out] */ BOOL *pfEaten);
  1857.         
  1858.         END_INTERFACE
  1859.     } ITfContextKeyEventSinkVtbl;
  1860.     interface ITfContextKeyEventSink
  1861.     {
  1862.         CONST_VTBL struct ITfContextKeyEventSinkVtbl *lpVtbl;
  1863.     };
  1864.     
  1865. #ifdef COBJMACROS
  1866. #define ITfContextKeyEventSink_QueryInterface(This,riid,ppvObject)
  1867.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1868. #define ITfContextKeyEventSink_AddRef(This)
  1869.     (This)->lpVtbl -> AddRef(This)
  1870. #define ITfContextKeyEventSink_Release(This)
  1871.     (This)->lpVtbl -> Release(This)
  1872. #define ITfContextKeyEventSink_OnKeyDown(This,wParam,lParam,pfEaten)
  1873.     (This)->lpVtbl -> OnKeyDown(This,wParam,lParam,pfEaten)
  1874. #define ITfContextKeyEventSink_OnKeyUp(This,wParam,lParam,pfEaten)
  1875.     (This)->lpVtbl -> OnKeyUp(This,wParam,lParam,pfEaten)
  1876. #define ITfContextKeyEventSink_OnTestKeyDown(This,wParam,lParam,pfEaten)
  1877.     (This)->lpVtbl -> OnTestKeyDown(This,wParam,lParam,pfEaten)
  1878. #define ITfContextKeyEventSink_OnTestKeyUp(This,wParam,lParam,pfEaten)
  1879.     (This)->lpVtbl -> OnTestKeyUp(This,wParam,lParam,pfEaten)
  1880. #endif /* COBJMACROS */
  1881. #endif  /* C style interface */
  1882. HRESULT STDMETHODCALLTYPE ITfContextKeyEventSink_OnKeyDown_Proxy( 
  1883.     ITfContextKeyEventSink * This,
  1884.     /* [in] */ WPARAM wParam,
  1885.     /* [in] */ LPARAM lParam,
  1886.     /* [out] */ BOOL *pfEaten);
  1887. void __RPC_STUB ITfContextKeyEventSink_OnKeyDown_Stub(
  1888.     IRpcStubBuffer *This,
  1889.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1890.     PRPC_MESSAGE _pRpcMessage,
  1891.     DWORD *_pdwStubPhase);
  1892. HRESULT STDMETHODCALLTYPE ITfContextKeyEventSink_OnKeyUp_Proxy( 
  1893.     ITfContextKeyEventSink * This,
  1894.     /* [in] */ WPARAM wParam,
  1895.     /* [in] */ LPARAM lParam,
  1896.     /* [out] */ BOOL *pfEaten);
  1897. void __RPC_STUB ITfContextKeyEventSink_OnKeyUp_Stub(
  1898.     IRpcStubBuffer *This,
  1899.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1900.     PRPC_MESSAGE _pRpcMessage,
  1901.     DWORD *_pdwStubPhase);
  1902. HRESULT STDMETHODCALLTYPE ITfContextKeyEventSink_OnTestKeyDown_Proxy( 
  1903.     ITfContextKeyEventSink * This,
  1904.     /* [in] */ WPARAM wParam,
  1905.     /* [in] */ LPARAM lParam,
  1906.     /* [out] */ BOOL *pfEaten);
  1907. void __RPC_STUB ITfContextKeyEventSink_OnTestKeyDown_Stub(
  1908.     IRpcStubBuffer *This,
  1909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1910.     PRPC_MESSAGE _pRpcMessage,
  1911.     DWORD *_pdwStubPhase);
  1912. HRESULT STDMETHODCALLTYPE ITfContextKeyEventSink_OnTestKeyUp_Proxy( 
  1913.     ITfContextKeyEventSink * This,
  1914.     /* [in] */ WPARAM wParam,
  1915.     /* [in] */ LPARAM lParam,
  1916.     /* [out] */ BOOL *pfEaten);
  1917. void __RPC_STUB ITfContextKeyEventSink_OnTestKeyUp_Stub(
  1918.     IRpcStubBuffer *This,
  1919.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1920.     PRPC_MESSAGE _pRpcMessage,
  1921.     DWORD *_pdwStubPhase);
  1922. #endif  /* __ITfContextKeyEventSink_INTERFACE_DEFINED__ */
  1923. #ifndef __ITfEditSession_INTERFACE_DEFINED__
  1924. #define __ITfEditSession_INTERFACE_DEFINED__
  1925. /* interface ITfEditSession */
  1926. /* [unique][uuid][object] */ 
  1927. EXTERN_C const IID IID_ITfEditSession;
  1928. #if defined(__cplusplus) && !defined(CINTERFACE)
  1929.     
  1930.     MIDL_INTERFACE("aa80e803-2021-11d2-93e0-0060b067b86e")
  1931.     ITfEditSession : public IUnknown
  1932.     {
  1933.     public:
  1934.         virtual HRESULT STDMETHODCALLTYPE DoEditSession( 
  1935.             /* [in] */ TfEditCookie ec) = 0;
  1936.         
  1937.     };
  1938.     
  1939. #else  /* C style interface */
  1940.     typedef struct ITfEditSessionVtbl
  1941.     {
  1942.         BEGIN_INTERFACE
  1943.         
  1944.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1945.             ITfEditSession * This,
  1946.             /* [in] */ REFIID riid,
  1947.             /* [iid_is][out] */ void **ppvObject);
  1948.         
  1949.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1950.             ITfEditSession * This);
  1951.         
  1952.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1953.             ITfEditSession * This);
  1954.         
  1955.         HRESULT ( STDMETHODCALLTYPE *DoEditSession )( 
  1956.             ITfEditSession * This,
  1957.             /* [in] */ TfEditCookie ec);
  1958.         
  1959.         END_INTERFACE
  1960.     } ITfEditSessionVtbl;
  1961.     interface ITfEditSession
  1962.     {
  1963.         CONST_VTBL struct ITfEditSessionVtbl *lpVtbl;
  1964.     };
  1965.     
  1966. #ifdef COBJMACROS
  1967. #define ITfEditSession_QueryInterface(This,riid,ppvObject)
  1968.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1969. #define ITfEditSession_AddRef(This)
  1970.     (This)->lpVtbl -> AddRef(This)
  1971. #define ITfEditSession_Release(This)
  1972.     (This)->lpVtbl -> Release(This)
  1973. #define ITfEditSession_DoEditSession(This,ec)
  1974.     (This)->lpVtbl -> DoEditSession(This,ec)
  1975. #endif /* COBJMACROS */
  1976. #endif  /* C style interface */
  1977. HRESULT STDMETHODCALLTYPE ITfEditSession_DoEditSession_Proxy( 
  1978.     ITfEditSession * This,
  1979.     /* [in] */ TfEditCookie ec);
  1980. void __RPC_STUB ITfEditSession_DoEditSession_Stub(
  1981.     IRpcStubBuffer *This,
  1982.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1983.     PRPC_MESSAGE _pRpcMessage,
  1984.     DWORD *_pdwStubPhase);
  1985. #endif  /* __ITfEditSession_INTERFACE_DEFINED__ */
  1986. #ifndef __ITfRange_INTERFACE_DEFINED__
  1987. #define __ITfRange_INTERFACE_DEFINED__
  1988. /* interface ITfRange */
  1989. /* [unique][uuid][object] */ 
  1990. #define TF_CHAR_EMBEDDED ( TS_CHAR_EMBEDDED )
  1991. typedef /* [public][public][public][public][public][uuid] */  DECLSPEC_UUID("cf610f06-2882-46f6-abe5-298568b664c4") 
  1992. enum __MIDL_ITfRange_0001
  1993.     { TF_GRAVITY_BACKWARD = 0,
  1994. TF_GRAVITY_FORWARD = 1
  1995.     }  TfGravity;
  1996. typedef /* [public][public][public][uuid] */  DECLSPEC_UUID("1e512533-bbdc-4530-9a8e-a1dc0af67468") 
  1997. enum __MIDL_ITfRange_0002
  1998.     { TF_SD_BACKWARD = 0,
  1999. TF_SD_FORWARD = 1
  2000.     }  TfShiftDir;
  2001. #define TF_HF_OBJECT ( 1 )
  2002. #define TF_TF_MOVESTART ( 1 )
  2003. #define TF_TF_IGNOREEND ( 2 )
  2004. #define TF_ST_CORRECTION ( 1 )
  2005. #define TF_IE_CORRECTION ( 1 )
  2006. typedef /* [uuid] */  DECLSPEC_UUID("49930d51-7d93-448c-a48c-fea5dac192b1") struct TF_HALTCOND
  2007.     {
  2008.     ITfRange *pHaltRange;
  2009.     TfAnchor aHaltPos;
  2010.     DWORD dwFlags;
  2011.     }  TF_HALTCOND;
  2012. EXTERN_C const IID IID_ITfRange;
  2013. #if defined(__cplusplus) && !defined(CINTERFACE)
  2014.     
  2015.     MIDL_INTERFACE("aa80e7ff-2021-11d2-93e0-0060b067b86e")
  2016.     ITfRange : public IUnknown
  2017.     {
  2018.     public:
  2019.         virtual HRESULT STDMETHODCALLTYPE GetText( 
  2020.             /* [in] */ TfEditCookie ec,
  2021.             /* [in] */ DWORD dwFlags,
  2022.             /* [length_is][size_is][out] */ WCHAR *pchText,
  2023.             /* [in] */ ULONG cchMax,
  2024.             /* [out] */ ULONG *pcch) = 0;
  2025.         
  2026.         virtual HRESULT STDMETHODCALLTYPE SetText( 
  2027.             /* [in] */ TfEditCookie ec,
  2028.             /* [in] */ DWORD dwFlags,
  2029.             /* [unique][size_is][in] */ const WCHAR *pchText,
  2030.             /* [in] */ LONG cch) = 0;
  2031.         
  2032.         virtual HRESULT STDMETHODCALLTYPE GetFormattedText( 
  2033.             /* [in] */ TfEditCookie ec,
  2034.             /* [out] */ IDataObject **ppDataObject) = 0;
  2035.         
  2036.         virtual HRESULT STDMETHODCALLTYPE GetEmbedded( 
  2037.             /* [in] */ TfEditCookie ec,
  2038.             /* [in] */ REFGUID rguidService,
  2039.             /* [in] */ REFIID riid,
  2040.             /* [iid_is][out] */ IUnknown **ppunk) = 0;
  2041.         
  2042.         virtual HRESULT STDMETHODCALLTYPE InsertEmbedded( 
  2043.             /* [in] */ TfEditCookie ec,
  2044.             /* [in] */ DWORD dwFlags,
  2045.             /* [in] */ IDataObject *pDataObject) = 0;
  2046.         
  2047.         virtual HRESULT STDMETHODCALLTYPE ShiftStart( 
  2048.             /* [in] */ TfEditCookie ec,
  2049.             /* [in] */ LONG cchReq,
  2050.             /* [out] */ LONG *pcch,
  2051.             /* [unique][in] */ const TF_HALTCOND *pHalt) = 0;
  2052.         
  2053.         virtual HRESULT STDMETHODCALLTYPE ShiftEnd( 
  2054.             /* [in] */ TfEditCookie ec,
  2055.             /* [in] */ LONG cchReq,
  2056.             /* [out] */ LONG *pcch,
  2057.             /* [unique][in] */ const TF_HALTCOND *pHalt) = 0;
  2058.         
  2059.         virtual HRESULT STDMETHODCALLTYPE ShiftStartToRange( 
  2060.             /* [in] */ TfEditCookie ec,
  2061.             /* [in] */ ITfRange *pRange,
  2062.             /* [in] */ TfAnchor aPos) = 0;
  2063.         
  2064.         virtual HRESULT STDMETHODCALLTYPE ShiftEndToRange( 
  2065.             /* [in] */ TfEditCookie ec,
  2066.             /* [in] */ ITfRange *pRange,
  2067.             /* [in] */ TfAnchor aPos) = 0;
  2068.         
  2069.         virtual HRESULT STDMETHODCALLTYPE ShiftStartRegion( 
  2070.             /* [in] */ TfEditCookie ec,
  2071.             /* [in] */ TfShiftDir dir,
  2072.             /* [out] */ BOOL *pfNoRegion) = 0;
  2073.         
  2074.         virtual HRESULT STDMETHODCALLTYPE ShiftEndRegion( 
  2075.             /* [in] */ TfEditCookie ec,
  2076.             /* [in] */ TfShiftDir dir,
  2077.             /* [out] */ BOOL *pfNoRegion) = 0;
  2078.         
  2079.         virtual HRESULT STDMETHODCALLTYPE IsEmpty( 
  2080.             /* [in] */ TfEditCookie ec,
  2081.             /* [out] */ BOOL *pfEmpty) = 0;
  2082.         
  2083.         virtual HRESULT STDMETHODCALLTYPE Collapse( 
  2084.             /* [in] */ TfEditCookie ec,
  2085.             /* [in] */ TfAnchor aPos) = 0;
  2086.         
  2087.         virtual HRESULT STDMETHODCALLTYPE IsEqualStart( 
  2088.             /* [in] */ TfEditCookie ec,
  2089.             /* [in] */ ITfRange *pWith,
  2090.             /* [in] */ TfAnchor aPos,
  2091.             /* [out] */ BOOL *pfEqual) = 0;
  2092.         
  2093.         virtual HRESULT STDMETHODCALLTYPE IsEqualEnd( 
  2094.             /* [in] */ TfEditCookie ec,
  2095.             /* [in] */ ITfRange *pWith,
  2096.             /* [in] */ TfAnchor aPos,
  2097.             /* [out] */ BOOL *pfEqual) = 0;
  2098.         
  2099.         virtual HRESULT STDMETHODCALLTYPE CompareStart( 
  2100.             /* [in] */ TfEditCookie ec,
  2101.             /* [in] */ ITfRange *pWith,
  2102.             /* [in] */ TfAnchor aPos,
  2103.             /* [out] */ LONG *plResult) = 0;
  2104.         
  2105.         virtual HRESULT STDMETHODCALLTYPE CompareEnd( 
  2106.             /* [in] */ TfEditCookie ec,
  2107.             /* [in] */ ITfRange *pWith,
  2108.             /* [in] */ TfAnchor aPos,
  2109.             /* [out] */ LONG *plResult) = 0;
  2110.         
  2111.         virtual HRESULT STDMETHODCALLTYPE AdjustForInsert( 
  2112.             /* [in] */ TfEditCookie ec,
  2113.             /* [in] */ ULONG cchInsert,
  2114.             /* [out] */ BOOL *pfInsertOk) = 0;
  2115.         
  2116.         virtual HRESULT STDMETHODCALLTYPE GetGravity( 
  2117.             /* [out] */ TfGravity *pgStart,
  2118.             /* [out] */ TfGravity *pgEnd) = 0;
  2119.         
  2120.         virtual HRESULT STDMETHODCALLTYPE SetGravity( 
  2121.             /* [in] */ TfEditCookie ec,
  2122.             /* [in] */ TfGravity gStart,
  2123.             /* [in] */ TfGravity gEnd) = 0;
  2124.         
  2125.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  2126.             /* [out] */ ITfRange **ppClone) = 0;
  2127.         
  2128.         virtual HRESULT STDMETHODCALLTYPE GetContext( 
  2129.             /* [out] */ ITfContext **ppContext) = 0;
  2130.         
  2131.     };
  2132.     
  2133. #else  /* C style interface */
  2134.     typedef struct ITfRangeVtbl
  2135.     {
  2136.         BEGIN_INTERFACE
  2137.         
  2138.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2139.             ITfRange * This,
  2140.             /* [in] */ REFIID riid,
  2141.             /* [iid_is][out] */ void **ppvObject);
  2142.         
  2143.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2144.             ITfRange * This);
  2145.         
  2146.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2147.             ITfRange * This);
  2148.         
  2149.         HRESULT ( STDMETHODCALLTYPE *GetText )( 
  2150.             ITfRange * This,
  2151.             /* [in] */ TfEditCookie ec,
  2152.             /* [in] */ DWORD dwFlags,
  2153.             /* [length_is][size_is][out] */ WCHAR *pchText,
  2154.             /* [in] */ ULONG cchMax,
  2155.             /* [out] */ ULONG *pcch);
  2156.         
  2157.         HRESULT ( STDMETHODCALLTYPE *SetText )( 
  2158.             ITfRange * This,
  2159.             /* [in] */ TfEditCookie ec,
  2160.             /* [in] */ DWORD dwFlags,
  2161.             /* [unique][size_is][in] */ const WCHAR *pchText,
  2162.             /* [in] */ LONG cch);
  2163.         
  2164.         HRESULT ( STDMETHODCALLTYPE *GetFormattedText )( 
  2165.             ITfRange * This,
  2166.             /* [in] */ TfEditCookie ec,
  2167.             /* [out] */ IDataObject **ppDataObject);
  2168.         
  2169.         HRESULT ( STDMETHODCALLTYPE *GetEmbedded )( 
  2170.             ITfRange * This,
  2171.             /* [in] */ TfEditCookie ec,
  2172.             /* [in] */ REFGUID rguidService,
  2173.             /* [in] */ REFIID riid,
  2174.             /* [iid_is][out] */ IUnknown **ppunk);
  2175.         
  2176.         HRESULT ( STDMETHODCALLTYPE *InsertEmbedded )( 
  2177.             ITfRange * This,
  2178.             /* [in] */ TfEditCookie ec,
  2179.             /* [in] */ DWORD dwFlags,
  2180.             /* [in] */ IDataObject *pDataObject);
  2181.         
  2182.         HRESULT ( STDMETHODCALLTYPE *ShiftStart )( 
  2183.             ITfRange * This,
  2184.             /* [in] */ TfEditCookie ec,
  2185.             /* [in] */ LONG cchReq,
  2186.             /* [out] */ LONG *pcch,
  2187.             /* [unique][in] */ const TF_HALTCOND *pHalt);
  2188.         
  2189.         HRESULT ( STDMETHODCALLTYPE *ShiftEnd )( 
  2190.             ITfRange * This,
  2191.             /* [in] */ TfEditCookie ec,
  2192.             /* [in] */ LONG cchReq,
  2193.             /* [out] */ LONG *pcch,
  2194.             /* [unique][in] */ const TF_HALTCOND *pHalt);
  2195.         
  2196.         HRESULT ( STDMETHODCALLTYPE *ShiftStartToRange )( 
  2197.             ITfRange * This,
  2198.             /* [in] */ TfEditCookie ec,
  2199.             /* [in] */ ITfRange *pRange,
  2200.             /* [in] */ TfAnchor aPos);
  2201.         
  2202.         HRESULT ( STDMETHODCALLTYPE *ShiftEndToRange )( 
  2203.             ITfRange * This,
  2204.             /* [in] */ TfEditCookie ec,
  2205.             /* [in] */ ITfRange *pRange,
  2206.             /* [in] */ TfAnchor aPos);
  2207.         
  2208.         HRESULT ( STDMETHODCALLTYPE *ShiftStartRegion )( 
  2209.             ITfRange * This,
  2210.             /* [in] */ TfEditCookie ec,
  2211.             /* [in] */ TfShiftDir dir,
  2212.             /* [out] */ BOOL *pfNoRegion);
  2213.         
  2214.         HRESULT ( STDMETHODCALLTYPE *ShiftEndRegion )( 
  2215.             ITfRange * This,
  2216.             /* [in] */ TfEditCookie ec,
  2217.             /* [in] */ TfShiftDir dir,
  2218.             /* [out] */ BOOL *pfNoRegion);
  2219.         
  2220.         HRESULT ( STDMETHODCALLTYPE *IsEmpty )( 
  2221.             ITfRange * This,
  2222.             /* [in] */ TfEditCookie ec,
  2223.             /* [out] */ BOOL *pfEmpty);
  2224.         
  2225.         HRESULT ( STDMETHODCALLTYPE *Collapse )( 
  2226.             ITfRange * This,
  2227.             /* [in] */ TfEditCookie ec,
  2228.             /* [in] */ TfAnchor aPos);
  2229.         
  2230.         HRESULT ( STDMETHODCALLTYPE *IsEqualStart )( 
  2231.             ITfRange * This,
  2232.             /* [in] */ TfEditCookie ec,
  2233.             /* [in] */ ITfRange *pWith,
  2234.             /* [in] */ TfAnchor aPos,
  2235.             /* [out] */ BOOL *pfEqual);
  2236.         
  2237.         HRESULT ( STDMETHODCALLTYPE *IsEqualEnd )( 
  2238.             ITfRange * This,
  2239.             /* [in] */ TfEditCookie ec,
  2240.             /* [in] */ ITfRange *pWith,
  2241.             /* [in] */ TfAnchor aPos,
  2242.             /* [out] */ BOOL *pfEqual);
  2243.         
  2244.         HRESULT ( STDMETHODCALLTYPE *CompareStart )( 
  2245.             ITfRange * This,
  2246.             /* [in] */ TfEditCookie ec,
  2247.             /* [in] */ ITfRange *pWith,
  2248.             /* [in] */ TfAnchor aPos,
  2249.             /* [out] */ LONG *plResult);
  2250.         
  2251.         HRESULT ( STDMETHODCALLTYPE *CompareEnd )( 
  2252.             ITfRange * This,
  2253.             /* [in] */ TfEditCookie ec,
  2254.             /* [in] */ ITfRange *pWith,
  2255.             /* [in] */ TfAnchor aPos,
  2256.             /* [out] */ LONG *plResult);
  2257.         
  2258.         HRESULT ( STDMETHODCALLTYPE *AdjustForInsert )( 
  2259.             ITfRange * This,
  2260.             /* [in] */ TfEditCookie ec,
  2261.             /* [in] */ ULONG cchInsert,
  2262.             /* [out] */ BOOL *pfInsertOk);
  2263.         
  2264.         HRESULT ( STDMETHODCALLTYPE *GetGravity )( 
  2265.             ITfRange * This,
  2266.             /* [out] */ TfGravity *pgStart,
  2267.             /* [out] */ TfGravity *pgEnd);
  2268.         
  2269.         HRESULT ( STDMETHODCALLTYPE *SetGravity )( 
  2270.             ITfRange * This,
  2271.             /* [in] */ TfEditCookie ec,
  2272.             /* [in] */ TfGravity gStart,
  2273.             /* [in] */ TfGravity gEnd);
  2274.         
  2275.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  2276.             ITfRange * This,
  2277.             /* [out] */ ITfRange **ppClone);
  2278.         
  2279.         HRESULT ( STDMETHODCALLTYPE *GetContext )( 
  2280.             ITfRange * This,
  2281.             /* [out] */ ITfContext **ppContext);
  2282.         
  2283.         END_INTERFACE
  2284.     } ITfRangeVtbl;
  2285.     interface ITfRange
  2286.     {
  2287.         CONST_VTBL struct ITfRangeVtbl *lpVtbl;
  2288.     };
  2289.     
  2290. #ifdef COBJMACROS
  2291. #define ITfRange_QueryInterface(This,riid,ppvObject)
  2292.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2293. #define ITfRange_AddRef(This)
  2294.     (This)->lpVtbl -> AddRef(This)
  2295. #define ITfRange_Release(This)
  2296.     (This)->lpVtbl -> Release(This)
  2297. #define ITfRange_GetText(This,ec,dwFlags,pchText,cchMax,pcch)
  2298.     (This)->lpVtbl -> GetText(This,ec,dwFlags,pchText,cchMax,pcch)
  2299. #define ITfRange_SetText(This,ec,dwFlags,pchText,cch)
  2300.     (This)->lpVtbl -> SetText(This,ec,dwFlags,pchText,cch)
  2301. #define ITfRange_GetFormattedText(This,ec,ppDataObject)
  2302.     (This)->lpVtbl -> GetFormattedText(This,ec,ppDataObject)
  2303. #define ITfRange_GetEmbedded(This,ec,rguidService,riid,ppunk)
  2304.     (This)->lpVtbl -> GetEmbedded(This,ec,rguidService,riid,ppunk)
  2305. #define ITfRange_InsertEmbedded(This,ec,dwFlags,pDataObject)
  2306.     (This)->lpVtbl -> InsertEmbedded(This,ec,dwFlags,pDataObject)
  2307. #define ITfRange_ShiftStart(This,ec,cchReq,pcch,pHalt)
  2308.     (This)->lpVtbl -> ShiftStart(This,ec,cchReq,pcch,pHalt)
  2309. #define ITfRange_ShiftEnd(This,ec,cchReq,pcch,pHalt)
  2310.     (This)->lpVtbl -> ShiftEnd(This,ec,cchReq,pcch,pHalt)
  2311. #define ITfRange_ShiftStartToRange(This,ec,pRange,aPos)
  2312.     (This)->lpVtbl -> ShiftStartToRange(This,ec,pRange,aPos)
  2313. #define ITfRange_ShiftEndToRange(This,ec,pRange,aPos)
  2314.     (This)->lpVtbl -> ShiftEndToRange(This,ec,pRange,aPos)
  2315. #define ITfRange_ShiftStartRegion(This,ec,dir,pfNoRegion)
  2316.     (This)->lpVtbl -> ShiftStartRegion(This,ec,dir,pfNoRegion)
  2317. #define ITfRange_ShiftEndRegion(This,ec,dir,pfNoRegion)
  2318.     (This)->lpVtbl -> ShiftEndRegion(This,ec,dir,pfNoRegion)
  2319. #define ITfRange_IsEmpty(This,ec,pfEmpty)
  2320.     (This)->lpVtbl -> IsEmpty(This,ec,pfEmpty)
  2321. #define ITfRange_Collapse(This,ec,aPos)
  2322.     (This)->lpVtbl -> Collapse(This,ec,aPos)
  2323. #define ITfRange_IsEqualStart(This,ec,pWith,aPos,pfEqual)
  2324.     (This)->lpVtbl -> IsEqualStart(This,ec,pWith,aPos,pfEqual)
  2325. #define ITfRange_IsEqualEnd(This,ec,pWith,aPos,pfEqual)
  2326.     (This)->lpVtbl -> IsEqualEnd(This,ec,pWith,aPos,pfEqual)
  2327. #define ITfRange_CompareStart(This,ec,pWith,aPos,plResult)
  2328.     (This)->lpVtbl -> CompareStart(This,ec,pWith,aPos,plResult)
  2329. #define ITfRange_CompareEnd(This,ec,pWith,aPos,plResult)
  2330.     (This)->lpVtbl -> CompareEnd(This,ec,pWith,aPos,plResult)
  2331. #define ITfRange_AdjustForInsert(This,ec,cchInsert,pfInsertOk)
  2332.     (This)->lpVtbl -> AdjustForInsert(This,ec,cchInsert,pfInsertOk)
  2333. #define ITfRange_GetGravity(This,pgStart,pgEnd)
  2334.     (This)->lpVtbl -> GetGravity(This,pgStart,pgEnd)
  2335. #define ITfRange_SetGravity(This,ec,gStart,gEnd)
  2336.     (This)->lpVtbl -> SetGravity(This,ec,gStart,gEnd)
  2337. #define ITfRange_Clone(This,ppClone)
  2338.     (This)->lpVtbl -> Clone(This,ppClone)
  2339. #define ITfRange_GetContext(This,ppContext)
  2340.     (This)->lpVtbl -> GetContext(This,ppContext)
  2341. #endif /* COBJMACROS */
  2342. #endif  /* C style interface */
  2343. HRESULT STDMETHODCALLTYPE ITfRange_GetText_Proxy( 
  2344.     ITfRange * This,
  2345.     /* [in] */ TfEditCookie ec,
  2346.     /* [in] */ DWORD dwFlags,
  2347.     /* [length_is][size_is][out] */ WCHAR *pchText,
  2348.     /* [in] */ ULONG cchMax,
  2349.     /* [out] */ ULONG *pcch);
  2350. void __RPC_STUB ITfRange_GetText_Stub(
  2351.     IRpcStubBuffer *This,
  2352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2353.     PRPC_MESSAGE _pRpcMessage,
  2354.     DWORD *_pdwStubPhase);
  2355. HRESULT STDMETHODCALLTYPE ITfRange_SetText_Proxy( 
  2356.     ITfRange * This,
  2357.     /* [in] */ TfEditCookie ec,
  2358.     /* [in] */ DWORD dwFlags,
  2359.     /* [unique][size_is][in] */ const WCHAR *pchText,
  2360.     /* [in] */ LONG cch);
  2361. void __RPC_STUB ITfRange_SetText_Stub(
  2362.     IRpcStubBuffer *This,
  2363.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2364.     PRPC_MESSAGE _pRpcMessage,
  2365.     DWORD *_pdwStubPhase);
  2366. HRESULT STDMETHODCALLTYPE ITfRange_GetFormattedText_Proxy( 
  2367.     ITfRange * This,
  2368.     /* [in] */ TfEditCookie ec,
  2369.     /* [out] */ IDataObject **ppDataObject);
  2370. void __RPC_STUB ITfRange_GetFormattedText_Stub(
  2371.     IRpcStubBuffer *This,
  2372.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2373.     PRPC_MESSAGE _pRpcMessage,
  2374.     DWORD *_pdwStubPhase);
  2375. HRESULT STDMETHODCALLTYPE ITfRange_GetEmbedded_Proxy( 
  2376.     ITfRange * This,
  2377.     /* [in] */ TfEditCookie ec,
  2378.     /* [in] */ REFGUID rguidService,
  2379.     /* [in] */ REFIID riid,
  2380.     /* [iid_is][out] */ IUnknown **ppunk);
  2381. void __RPC_STUB ITfRange_GetEmbedded_Stub(
  2382.     IRpcStubBuffer *This,
  2383.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2384.     PRPC_MESSAGE _pRpcMessage,
  2385.     DWORD *_pdwStubPhase);
  2386. HRESULT STDMETHODCALLTYPE ITfRange_InsertEmbedded_Proxy( 
  2387.     ITfRange * This,
  2388.     /* [in] */ TfEditCookie ec,
  2389.     /* [in] */ DWORD dwFlags,
  2390.     /* [in] */ IDataObject *pDataObject);
  2391. void __RPC_STUB ITfRange_InsertEmbedded_Stub(
  2392.     IRpcStubBuffer *This,
  2393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2394.     PRPC_MESSAGE _pRpcMessage,
  2395.     DWORD *_pdwStubPhase);
  2396. HRESULT STDMETHODCALLTYPE ITfRange_ShiftStart_Proxy( 
  2397.     ITfRange * This,
  2398.     /* [in] */ TfEditCookie ec,
  2399.     /* [in] */ LONG cchReq,
  2400.     /* [out] */ LONG *pcch,
  2401.     /* [unique][in] */ const TF_HALTCOND *pHalt);
  2402. void __RPC_STUB ITfRange_ShiftStart_Stub(
  2403.     IRpcStubBuffer *This,
  2404.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2405.     PRPC_MESSAGE _pRpcMessage,
  2406.     DWORD *_pdwStubPhase);
  2407. HRESULT STDMETHODCALLTYPE ITfRange_ShiftEnd_Proxy( 
  2408.     ITfRange * This,
  2409.     /* [in] */ TfEditCookie ec,
  2410.     /* [in] */ LONG cchReq,
  2411.     /* [out] */ LONG *pcch,
  2412.     /* [unique][in] */ const TF_HALTCOND *pHalt);
  2413. void __RPC_STUB ITfRange_ShiftEnd_Stub(
  2414.     IRpcStubBuffer *This,
  2415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2416.     PRPC_MESSAGE _pRpcMessage,
  2417.     DWORD *_pdwStubPhase);
  2418. HRESULT STDMETHODCALLTYPE ITfRange_ShiftStartToRange_Proxy( 
  2419.     ITfRange * This,
  2420.     /* [in] */ TfEditCookie ec,
  2421.     /* [in] */ ITfRange *pRange,
  2422.     /* [in] */ TfAnchor aPos);
  2423. void __RPC_STUB ITfRange_ShiftStartToRange_Stub(
  2424.     IRpcStubBuffer *This,
  2425.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2426.     PRPC_MESSAGE _pRpcMessage,
  2427.     DWORD *_pdwStubPhase);
  2428. HRESULT STDMETHODCALLTYPE ITfRange_ShiftEndToRange_Proxy( 
  2429.     ITfRange * This,
  2430.     /* [in] */ TfEditCookie ec,
  2431.     /* [in] */ ITfRange *pRange,
  2432.     /* [in] */ TfAnchor aPos);
  2433. void __RPC_STUB ITfRange_ShiftEndToRange_Stub(
  2434.     IRpcStubBuffer *This,
  2435.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2436.     PRPC_MESSAGE _pRpcMessage,
  2437.     DWORD *_pdwStubPhase);
  2438. HRESULT STDMETHODCALLTYPE ITfRange_ShiftStartRegion_Proxy( 
  2439.     ITfRange * This,
  2440.     /* [in] */ TfEditCookie ec,
  2441.     /* [in] */ TfShiftDir dir,
  2442.     /* [out] */ BOOL *pfNoRegion);
  2443. void __RPC_STUB ITfRange_ShiftStartRegion_Stub(
  2444.     IRpcStubBuffer *This,
  2445.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2446.     PRPC_MESSAGE _pRpcMessage,
  2447.     DWORD *_pdwStubPhase);
  2448. HRESULT STDMETHODCALLTYPE ITfRange_ShiftEndRegion_Proxy( 
  2449.     ITfRange * This,
  2450.     /* [in] */ TfEditCookie ec,
  2451.     /* [in] */ TfShiftDir dir,
  2452.     /* [out] */ BOOL *pfNoRegion);
  2453. void __RPC_STUB ITfRange_ShiftEndRegion_Stub(
  2454.     IRpcStubBuffer *This,
  2455.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2456.     PRPC_MESSAGE _pRpcMessage,
  2457.     DWORD *_pdwStubPhase);
  2458. HRESULT STDMETHODCALLTYPE ITfRange_IsEmpty_Proxy( 
  2459.     ITfRange * This,
  2460.     /* [in] */ TfEditCookie ec,
  2461.     /* [out] */ BOOL *pfEmpty);
  2462. void __RPC_STUB ITfRange_IsEmpty_Stub(
  2463.     IRpcStubBuffer *This,
  2464.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2465.     PRPC_MESSAGE _pRpcMessage,
  2466.     DWORD *_pdwStubPhase);
  2467. HRESULT STDMETHODCALLTYPE ITfRange_Collapse_Proxy( 
  2468.     ITfRange * This,
  2469.     /* [in] */ TfEditCookie ec,
  2470.     /* [in] */ TfAnchor aPos);
  2471. void __RPC_STUB ITfRange_Collapse_Stub(
  2472.     IRpcStubBuffer *This,
  2473.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2474.     PRPC_MESSAGE _pRpcMessage,
  2475.     DWORD *_pdwStubPhase);
  2476. HRESULT STDMETHODCALLTYPE ITfRange_IsEqualStart_Proxy( 
  2477.     ITfRange * This,