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

模拟服务器

开发平台:

C/C++

  1. #define ITfInputProcessorProfilesEx_SubstituteKeyboardLayout(This,rclsid,langid,guidProfile,hKL)
  2.     (This)->lpVtbl -> SubstituteKeyboardLayout(This,rclsid,langid,guidProfile,hKL)
  3. #define ITfInputProcessorProfilesEx_SetLanguageProfileDisplayName(This,rclsid,langid,guidProfile,pchFile,cchFile,uResId)
  4.     (This)->lpVtbl -> SetLanguageProfileDisplayName(This,rclsid,langid,guidProfile,pchFile,cchFile,uResId)
  5. #endif /* COBJMACROS */
  6. #endif  /* C style interface */
  7. HRESULT STDMETHODCALLTYPE ITfInputProcessorProfilesEx_SetLanguageProfileDisplayName_Proxy( 
  8.     ITfInputProcessorProfilesEx * This,
  9.     /* [in] */ REFCLSID rclsid,
  10.     /* [in] */ LANGID langid,
  11.     /* [in] */ REFGUID guidProfile,
  12.     /* [size_is][in] */ const WCHAR *pchFile,
  13.     /* [in] */ ULONG cchFile,
  14.     /* [in] */ ULONG uResId);
  15. void __RPC_STUB ITfInputProcessorProfilesEx_SetLanguageProfileDisplayName_Stub(
  16.     IRpcStubBuffer *This,
  17.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18.     PRPC_MESSAGE _pRpcMessage,
  19.     DWORD *_pdwStubPhase);
  20. #endif  /* __ITfInputProcessorProfilesEx_INTERFACE_DEFINED__ */
  21. #ifndef __ITfActiveLanguageProfileNotifySink_INTERFACE_DEFINED__
  22. #define __ITfActiveLanguageProfileNotifySink_INTERFACE_DEFINED__
  23. /* interface ITfActiveLanguageProfileNotifySink */
  24. /* [unique][uuid][object] */ 
  25. EXTERN_C const IID IID_ITfActiveLanguageProfileNotifySink;
  26. #if defined(__cplusplus) && !defined(CINTERFACE)
  27.     
  28.     MIDL_INTERFACE("b246cb75-a93e-4652-bf8c-b3fe0cfd7e57")
  29.     ITfActiveLanguageProfileNotifySink : public IUnknown
  30.     {
  31.     public:
  32.         virtual HRESULT STDMETHODCALLTYPE OnActivated( 
  33.             /* [in] */ REFCLSID clsid,
  34.             /* [in] */ REFGUID guidProfile,
  35.             /* [in] */ BOOL fActivated) = 0;
  36.         
  37.     };
  38.     
  39. #else  /* C style interface */
  40.     typedef struct ITfActiveLanguageProfileNotifySinkVtbl
  41.     {
  42.         BEGIN_INTERFACE
  43.         
  44.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  45.             ITfActiveLanguageProfileNotifySink * This,
  46.             /* [in] */ REFIID riid,
  47.             /* [iid_is][out] */ void **ppvObject);
  48.         
  49.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  50.             ITfActiveLanguageProfileNotifySink * This);
  51.         
  52.         ULONG ( STDMETHODCALLTYPE *Release )( 
  53.             ITfActiveLanguageProfileNotifySink * This);
  54.         
  55.         HRESULT ( STDMETHODCALLTYPE *OnActivated )( 
  56.             ITfActiveLanguageProfileNotifySink * This,
  57.             /* [in] */ REFCLSID clsid,
  58.             /* [in] */ REFGUID guidProfile,
  59.             /* [in] */ BOOL fActivated);
  60.         
  61.         END_INTERFACE
  62.     } ITfActiveLanguageProfileNotifySinkVtbl;
  63.     interface ITfActiveLanguageProfileNotifySink
  64.     {
  65.         CONST_VTBL struct ITfActiveLanguageProfileNotifySinkVtbl *lpVtbl;
  66.     };
  67.     
  68. #ifdef COBJMACROS
  69. #define ITfActiveLanguageProfileNotifySink_QueryInterface(This,riid,ppvObject)
  70.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  71. #define ITfActiveLanguageProfileNotifySink_AddRef(This)
  72.     (This)->lpVtbl -> AddRef(This)
  73. #define ITfActiveLanguageProfileNotifySink_Release(This)
  74.     (This)->lpVtbl -> Release(This)
  75. #define ITfActiveLanguageProfileNotifySink_OnActivated(This,clsid,guidProfile,fActivated)
  76.     (This)->lpVtbl -> OnActivated(This,clsid,guidProfile,fActivated)
  77. #endif /* COBJMACROS */
  78. #endif  /* C style interface */
  79. HRESULT STDMETHODCALLTYPE ITfActiveLanguageProfileNotifySink_OnActivated_Proxy( 
  80.     ITfActiveLanguageProfileNotifySink * This,
  81.     /* [in] */ REFCLSID clsid,
  82.     /* [in] */ REFGUID guidProfile,
  83.     /* [in] */ BOOL fActivated);
  84. void __RPC_STUB ITfActiveLanguageProfileNotifySink_OnActivated_Stub(
  85.     IRpcStubBuffer *This,
  86.     IRpcChannelBuffer *_pRpcChannelBuffer,
  87.     PRPC_MESSAGE _pRpcMessage,
  88.     DWORD *_pdwStubPhase);
  89. #endif  /* __ITfActiveLanguageProfileNotifySink_INTERFACE_DEFINED__ */
  90. #ifndef __IEnumTfLanguageProfiles_INTERFACE_DEFINED__
  91. #define __IEnumTfLanguageProfiles_INTERFACE_DEFINED__
  92. /* interface IEnumTfLanguageProfiles */
  93. /* [unique][uuid][object] */ 
  94. EXTERN_C const IID IID_IEnumTfLanguageProfiles;
  95. #if defined(__cplusplus) && !defined(CINTERFACE)
  96.     
  97.     MIDL_INTERFACE("3d61bf11-ac5f-42c8-a4cb-931bcc28c744")
  98.     IEnumTfLanguageProfiles : public IUnknown
  99.     {
  100.     public:
  101.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  102.             /* [out] */ IEnumTfLanguageProfiles **ppEnum) = 0;
  103.         
  104.         virtual HRESULT STDMETHODCALLTYPE Next( 
  105.             /* [in] */ ULONG ulCount,
  106.             /* [length_is][size_is][out] */ TF_LANGUAGEPROFILE *pProfile,
  107.             /* [out] */ ULONG *pcFetch) = 0;
  108.         
  109.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  110.         
  111.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  112.             /* [in] */ ULONG ulCount) = 0;
  113.         
  114.     };
  115.     
  116. #else  /* C style interface */
  117.     typedef struct IEnumTfLanguageProfilesVtbl
  118.     {
  119.         BEGIN_INTERFACE
  120.         
  121.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  122.             IEnumTfLanguageProfiles * This,
  123.             /* [in] */ REFIID riid,
  124.             /* [iid_is][out] */ void **ppvObject);
  125.         
  126.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  127.             IEnumTfLanguageProfiles * This);
  128.         
  129.         ULONG ( STDMETHODCALLTYPE *Release )( 
  130.             IEnumTfLanguageProfiles * This);
  131.         
  132.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  133.             IEnumTfLanguageProfiles * This,
  134.             /* [out] */ IEnumTfLanguageProfiles **ppEnum);
  135.         
  136.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  137.             IEnumTfLanguageProfiles * This,
  138.             /* [in] */ ULONG ulCount,
  139.             /* [length_is][size_is][out] */ TF_LANGUAGEPROFILE *pProfile,
  140.             /* [out] */ ULONG *pcFetch);
  141.         
  142.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  143.             IEnumTfLanguageProfiles * This);
  144.         
  145.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  146.             IEnumTfLanguageProfiles * This,
  147.             /* [in] */ ULONG ulCount);
  148.         
  149.         END_INTERFACE
  150.     } IEnumTfLanguageProfilesVtbl;
  151.     interface IEnumTfLanguageProfiles
  152.     {
  153.         CONST_VTBL struct IEnumTfLanguageProfilesVtbl *lpVtbl;
  154.     };
  155.     
  156. #ifdef COBJMACROS
  157. #define IEnumTfLanguageProfiles_QueryInterface(This,riid,ppvObject)
  158.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  159. #define IEnumTfLanguageProfiles_AddRef(This)
  160.     (This)->lpVtbl -> AddRef(This)
  161. #define IEnumTfLanguageProfiles_Release(This)
  162.     (This)->lpVtbl -> Release(This)
  163. #define IEnumTfLanguageProfiles_Clone(This,ppEnum)
  164.     (This)->lpVtbl -> Clone(This,ppEnum)
  165. #define IEnumTfLanguageProfiles_Next(This,ulCount,pProfile,pcFetch)
  166.     (This)->lpVtbl -> Next(This,ulCount,pProfile,pcFetch)
  167. #define IEnumTfLanguageProfiles_Reset(This)
  168.     (This)->lpVtbl -> Reset(This)
  169. #define IEnumTfLanguageProfiles_Skip(This,ulCount)
  170.     (This)->lpVtbl -> Skip(This,ulCount)
  171. #endif /* COBJMACROS */
  172. #endif  /* C style interface */
  173. HRESULT STDMETHODCALLTYPE IEnumTfLanguageProfiles_Clone_Proxy( 
  174.     IEnumTfLanguageProfiles * This,
  175.     /* [out] */ IEnumTfLanguageProfiles **ppEnum);
  176. void __RPC_STUB IEnumTfLanguageProfiles_Clone_Stub(
  177.     IRpcStubBuffer *This,
  178.     IRpcChannelBuffer *_pRpcChannelBuffer,
  179.     PRPC_MESSAGE _pRpcMessage,
  180.     DWORD *_pdwStubPhase);
  181. HRESULT STDMETHODCALLTYPE IEnumTfLanguageProfiles_Next_Proxy( 
  182.     IEnumTfLanguageProfiles * This,
  183.     /* [in] */ ULONG ulCount,
  184.     /* [length_is][size_is][out] */ TF_LANGUAGEPROFILE *pProfile,
  185.     /* [out] */ ULONG *pcFetch);
  186. void __RPC_STUB IEnumTfLanguageProfiles_Next_Stub(
  187.     IRpcStubBuffer *This,
  188.     IRpcChannelBuffer *_pRpcChannelBuffer,
  189.     PRPC_MESSAGE _pRpcMessage,
  190.     DWORD *_pdwStubPhase);
  191. HRESULT STDMETHODCALLTYPE IEnumTfLanguageProfiles_Reset_Proxy( 
  192.     IEnumTfLanguageProfiles * This);
  193. void __RPC_STUB IEnumTfLanguageProfiles_Reset_Stub(
  194.     IRpcStubBuffer *This,
  195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  196.     PRPC_MESSAGE _pRpcMessage,
  197.     DWORD *_pdwStubPhase);
  198. HRESULT STDMETHODCALLTYPE IEnumTfLanguageProfiles_Skip_Proxy( 
  199.     IEnumTfLanguageProfiles * This,
  200.     /* [in] */ ULONG ulCount);
  201. void __RPC_STUB IEnumTfLanguageProfiles_Skip_Stub(
  202.     IRpcStubBuffer *This,
  203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  204.     PRPC_MESSAGE _pRpcMessage,
  205.     DWORD *_pdwStubPhase);
  206. #endif  /* __IEnumTfLanguageProfiles_INTERFACE_DEFINED__ */
  207. #ifndef __ITfLanguageProfileNotifySink_INTERFACE_DEFINED__
  208. #define __ITfLanguageProfileNotifySink_INTERFACE_DEFINED__
  209. /* interface ITfLanguageProfileNotifySink */
  210. /* [unique][uuid][object] */ 
  211. EXTERN_C const IID IID_ITfLanguageProfileNotifySink;
  212. #if defined(__cplusplus) && !defined(CINTERFACE)
  213.     
  214.     MIDL_INTERFACE("43c9fe15-f494-4c17-9de2-b8a4ac350aa8")
  215.     ITfLanguageProfileNotifySink : public IUnknown
  216.     {
  217.     public:
  218.         virtual HRESULT STDMETHODCALLTYPE OnLanguageChange( 
  219.             /* [in] */ LANGID langid,
  220.             /* [out] */ BOOL *pfAccept) = 0;
  221.         
  222.         virtual HRESULT STDMETHODCALLTYPE OnLanguageChanged( void) = 0;
  223.         
  224.     };
  225.     
  226. #else  /* C style interface */
  227.     typedef struct ITfLanguageProfileNotifySinkVtbl
  228.     {
  229.         BEGIN_INTERFACE
  230.         
  231.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  232.             ITfLanguageProfileNotifySink * This,
  233.             /* [in] */ REFIID riid,
  234.             /* [iid_is][out] */ void **ppvObject);
  235.         
  236.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  237.             ITfLanguageProfileNotifySink * This);
  238.         
  239.         ULONG ( STDMETHODCALLTYPE *Release )( 
  240.             ITfLanguageProfileNotifySink * This);
  241.         
  242.         HRESULT ( STDMETHODCALLTYPE *OnLanguageChange )( 
  243.             ITfLanguageProfileNotifySink * This,
  244.             /* [in] */ LANGID langid,
  245.             /* [out] */ BOOL *pfAccept);
  246.         
  247.         HRESULT ( STDMETHODCALLTYPE *OnLanguageChanged )( 
  248.             ITfLanguageProfileNotifySink * This);
  249.         
  250.         END_INTERFACE
  251.     } ITfLanguageProfileNotifySinkVtbl;
  252.     interface ITfLanguageProfileNotifySink
  253.     {
  254.         CONST_VTBL struct ITfLanguageProfileNotifySinkVtbl *lpVtbl;
  255.     };
  256.     
  257. #ifdef COBJMACROS
  258. #define ITfLanguageProfileNotifySink_QueryInterface(This,riid,ppvObject)
  259.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  260. #define ITfLanguageProfileNotifySink_AddRef(This)
  261.     (This)->lpVtbl -> AddRef(This)
  262. #define ITfLanguageProfileNotifySink_Release(This)
  263.     (This)->lpVtbl -> Release(This)
  264. #define ITfLanguageProfileNotifySink_OnLanguageChange(This,langid,pfAccept)
  265.     (This)->lpVtbl -> OnLanguageChange(This,langid,pfAccept)
  266. #define ITfLanguageProfileNotifySink_OnLanguageChanged(This)
  267.     (This)->lpVtbl -> OnLanguageChanged(This)
  268. #endif /* COBJMACROS */
  269. #endif  /* C style interface */
  270. HRESULT STDMETHODCALLTYPE ITfLanguageProfileNotifySink_OnLanguageChange_Proxy( 
  271.     ITfLanguageProfileNotifySink * This,
  272.     /* [in] */ LANGID langid,
  273.     /* [out] */ BOOL *pfAccept);
  274. void __RPC_STUB ITfLanguageProfileNotifySink_OnLanguageChange_Stub(
  275.     IRpcStubBuffer *This,
  276.     IRpcChannelBuffer *_pRpcChannelBuffer,
  277.     PRPC_MESSAGE _pRpcMessage,
  278.     DWORD *_pdwStubPhase);
  279. HRESULT STDMETHODCALLTYPE ITfLanguageProfileNotifySink_OnLanguageChanged_Proxy( 
  280.     ITfLanguageProfileNotifySink * This);
  281. void __RPC_STUB ITfLanguageProfileNotifySink_OnLanguageChanged_Stub(
  282.     IRpcStubBuffer *This,
  283.     IRpcChannelBuffer *_pRpcChannelBuffer,
  284.     PRPC_MESSAGE _pRpcMessage,
  285.     DWORD *_pdwStubPhase);
  286. #endif  /* __ITfLanguageProfileNotifySink_INTERFACE_DEFINED__ */
  287. /* interface __MIDL_itf_msctf_0194 */
  288. /* [local] */ 
  289. typedef /* [uuid] */  DECLSPEC_UUID("77c12f95-b783-450d-879f-1cd2362c6521") struct TF_PRESERVEDKEY
  290.     {
  291.     UINT uVKey;
  292.     UINT uModifiers;
  293.     }  TF_PRESERVEDKEY;
  294. extern RPC_IF_HANDLE __MIDL_itf_msctf_0194_v0_0_c_ifspec;
  295. extern RPC_IF_HANDLE __MIDL_itf_msctf_0194_v0_0_s_ifspec;
  296. #ifndef __ITfKeystrokeMgr_INTERFACE_DEFINED__
  297. #define __ITfKeystrokeMgr_INTERFACE_DEFINED__
  298. /* interface ITfKeystrokeMgr */
  299. /* [unique][uuid][local][object] */ 
  300. EXTERN_C const IID IID_ITfKeystrokeMgr;
  301. #if defined(__cplusplus) && !defined(CINTERFACE)
  302.     
  303.     MIDL_INTERFACE("aa80e7f0-2021-11d2-93e0-0060b067b86e")
  304.     ITfKeystrokeMgr : public IUnknown
  305.     {
  306.     public:
  307.         virtual HRESULT STDMETHODCALLTYPE AdviseKeyEventSink( 
  308.             /* [in] */ TfClientId tid,
  309.             /* [in] */ ITfKeyEventSink *pSink,
  310.             /* [in] */ BOOL fForeground) = 0;
  311.         
  312.         virtual HRESULT STDMETHODCALLTYPE UnadviseKeyEventSink( 
  313.             /* [in] */ TfClientId tid) = 0;
  314.         
  315.         virtual HRESULT STDMETHODCALLTYPE GetForeground( 
  316.             /* [out] */ CLSID *pclsid) = 0;
  317.         
  318.         virtual HRESULT STDMETHODCALLTYPE TestKeyDown( 
  319.             /* [in] */ WPARAM wParam,
  320.             /* [in] */ LPARAM lParam,
  321.             /* [out] */ BOOL *pfEaten) = 0;
  322.         
  323.         virtual HRESULT STDMETHODCALLTYPE TestKeyUp( 
  324.             /* [in] */ WPARAM wParam,
  325.             /* [in] */ LPARAM lParam,
  326.             /* [out] */ BOOL *pfEaten) = 0;
  327.         
  328.         virtual HRESULT STDMETHODCALLTYPE KeyDown( 
  329.             /* [in] */ WPARAM wParam,
  330.             /* [in] */ LPARAM lParam,
  331.             /* [out] */ BOOL *pfEaten) = 0;
  332.         
  333.         virtual HRESULT STDMETHODCALLTYPE KeyUp( 
  334.             /* [in] */ WPARAM wParam,
  335.             /* [in] */ LPARAM lParam,
  336.             /* [out] */ BOOL *pfEaten) = 0;
  337.         
  338.         virtual HRESULT STDMETHODCALLTYPE GetPreservedKey( 
  339.             /* [in] */ ITfContext *pic,
  340.             /* [in] */ const TF_PRESERVEDKEY *pprekey,
  341.             /* [out] */ GUID *pguid) = 0;
  342.         
  343.         virtual HRESULT STDMETHODCALLTYPE IsPreservedKey( 
  344.             /* [in] */ REFGUID rguid,
  345.             /* [in] */ const TF_PRESERVEDKEY *pprekey,
  346.             /* [out] */ BOOL *pfRegistered) = 0;
  347.         
  348.         virtual HRESULT STDMETHODCALLTYPE PreserveKey( 
  349.             /* [in] */ TfClientId tid,
  350.             /* [in] */ REFGUID rguid,
  351.             /* [in] */ const TF_PRESERVEDKEY *prekey,
  352.             /* [size_is][in] */ const WCHAR *pchDesc,
  353.             /* [in] */ ULONG cchDesc) = 0;
  354.         
  355.         virtual HRESULT STDMETHODCALLTYPE UnpreserveKey( 
  356.             /* [in] */ REFGUID rguid,
  357.             /* [in] */ const TF_PRESERVEDKEY *pprekey) = 0;
  358.         
  359.         virtual HRESULT STDMETHODCALLTYPE SetPreservedKeyDescription( 
  360.             /* [in] */ REFGUID rguid,
  361.             /* [size_is][in] */ const WCHAR *pchDesc,
  362.             /* [in] */ ULONG cchDesc) = 0;
  363.         
  364.         virtual HRESULT STDMETHODCALLTYPE GetPreservedKeyDescription( 
  365.             /* [in] */ REFGUID rguid,
  366.             /* [out] */ BSTR *pbstrDesc) = 0;
  367.         
  368.         virtual HRESULT STDMETHODCALLTYPE SimulatePreservedKey( 
  369.             /* [in] */ ITfContext *pic,
  370.             /* [in] */ REFGUID rguid,
  371.             /* [out] */ BOOL *pfEaten) = 0;
  372.         
  373.     };
  374.     
  375. #else  /* C style interface */
  376.     typedef struct ITfKeystrokeMgrVtbl
  377.     {
  378.         BEGIN_INTERFACE
  379.         
  380.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  381.             ITfKeystrokeMgr * This,
  382.             /* [in] */ REFIID riid,
  383.             /* [iid_is][out] */ void **ppvObject);
  384.         
  385.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  386.             ITfKeystrokeMgr * This);
  387.         
  388.         ULONG ( STDMETHODCALLTYPE *Release )( 
  389.             ITfKeystrokeMgr * This);
  390.         
  391.         HRESULT ( STDMETHODCALLTYPE *AdviseKeyEventSink )( 
  392.             ITfKeystrokeMgr * This,
  393.             /* [in] */ TfClientId tid,
  394.             /* [in] */ ITfKeyEventSink *pSink,
  395.             /* [in] */ BOOL fForeground);
  396.         
  397.         HRESULT ( STDMETHODCALLTYPE *UnadviseKeyEventSink )( 
  398.             ITfKeystrokeMgr * This,
  399.             /* [in] */ TfClientId tid);
  400.         
  401.         HRESULT ( STDMETHODCALLTYPE *GetForeground )( 
  402.             ITfKeystrokeMgr * This,
  403.             /* [out] */ CLSID *pclsid);
  404.         
  405.         HRESULT ( STDMETHODCALLTYPE *TestKeyDown )( 
  406.             ITfKeystrokeMgr * This,
  407.             /* [in] */ WPARAM wParam,
  408.             /* [in] */ LPARAM lParam,
  409.             /* [out] */ BOOL *pfEaten);
  410.         
  411.         HRESULT ( STDMETHODCALLTYPE *TestKeyUp )( 
  412.             ITfKeystrokeMgr * This,
  413.             /* [in] */ WPARAM wParam,
  414.             /* [in] */ LPARAM lParam,
  415.             /* [out] */ BOOL *pfEaten);
  416.         
  417.         HRESULT ( STDMETHODCALLTYPE *KeyDown )( 
  418.             ITfKeystrokeMgr * This,
  419.             /* [in] */ WPARAM wParam,
  420.             /* [in] */ LPARAM lParam,
  421.             /* [out] */ BOOL *pfEaten);
  422.         
  423.         HRESULT ( STDMETHODCALLTYPE *KeyUp )( 
  424.             ITfKeystrokeMgr * This,
  425.             /* [in] */ WPARAM wParam,
  426.             /* [in] */ LPARAM lParam,
  427.             /* [out] */ BOOL *pfEaten);
  428.         
  429.         HRESULT ( STDMETHODCALLTYPE *GetPreservedKey )( 
  430.             ITfKeystrokeMgr * This,
  431.             /* [in] */ ITfContext *pic,
  432.             /* [in] */ const TF_PRESERVEDKEY *pprekey,
  433.             /* [out] */ GUID *pguid);
  434.         
  435.         HRESULT ( STDMETHODCALLTYPE *IsPreservedKey )( 
  436.             ITfKeystrokeMgr * This,
  437.             /* [in] */ REFGUID rguid,
  438.             /* [in] */ const TF_PRESERVEDKEY *pprekey,
  439.             /* [out] */ BOOL *pfRegistered);
  440.         
  441.         HRESULT ( STDMETHODCALLTYPE *PreserveKey )( 
  442.             ITfKeystrokeMgr * This,
  443.             /* [in] */ TfClientId tid,
  444.             /* [in] */ REFGUID rguid,
  445.             /* [in] */ const TF_PRESERVEDKEY *prekey,
  446.             /* [size_is][in] */ const WCHAR *pchDesc,
  447.             /* [in] */ ULONG cchDesc);
  448.         
  449.         HRESULT ( STDMETHODCALLTYPE *UnpreserveKey )( 
  450.             ITfKeystrokeMgr * This,
  451.             /* [in] */ REFGUID rguid,
  452.             /* [in] */ const TF_PRESERVEDKEY *pprekey);
  453.         
  454.         HRESULT ( STDMETHODCALLTYPE *SetPreservedKeyDescription )( 
  455.             ITfKeystrokeMgr * This,
  456.             /* [in] */ REFGUID rguid,
  457.             /* [size_is][in] */ const WCHAR *pchDesc,
  458.             /* [in] */ ULONG cchDesc);
  459.         
  460.         HRESULT ( STDMETHODCALLTYPE *GetPreservedKeyDescription )( 
  461.             ITfKeystrokeMgr * This,
  462.             /* [in] */ REFGUID rguid,
  463.             /* [out] */ BSTR *pbstrDesc);
  464.         
  465.         HRESULT ( STDMETHODCALLTYPE *SimulatePreservedKey )( 
  466.             ITfKeystrokeMgr * This,
  467.             /* [in] */ ITfContext *pic,
  468.             /* [in] */ REFGUID rguid,
  469.             /* [out] */ BOOL *pfEaten);
  470.         
  471.         END_INTERFACE
  472.     } ITfKeystrokeMgrVtbl;
  473.     interface ITfKeystrokeMgr
  474.     {
  475.         CONST_VTBL struct ITfKeystrokeMgrVtbl *lpVtbl;
  476.     };
  477.     
  478. #ifdef COBJMACROS
  479. #define ITfKeystrokeMgr_QueryInterface(This,riid,ppvObject)
  480.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  481. #define ITfKeystrokeMgr_AddRef(This)
  482.     (This)->lpVtbl -> AddRef(This)
  483. #define ITfKeystrokeMgr_Release(This)
  484.     (This)->lpVtbl -> Release(This)
  485. #define ITfKeystrokeMgr_AdviseKeyEventSink(This,tid,pSink,fForeground)
  486.     (This)->lpVtbl -> AdviseKeyEventSink(This,tid,pSink,fForeground)
  487. #define ITfKeystrokeMgr_UnadviseKeyEventSink(This,tid)
  488.     (This)->lpVtbl -> UnadviseKeyEventSink(This,tid)
  489. #define ITfKeystrokeMgr_GetForeground(This,pclsid)
  490.     (This)->lpVtbl -> GetForeground(This,pclsid)
  491. #define ITfKeystrokeMgr_TestKeyDown(This,wParam,lParam,pfEaten)
  492.     (This)->lpVtbl -> TestKeyDown(This,wParam,lParam,pfEaten)
  493. #define ITfKeystrokeMgr_TestKeyUp(This,wParam,lParam,pfEaten)
  494.     (This)->lpVtbl -> TestKeyUp(This,wParam,lParam,pfEaten)
  495. #define ITfKeystrokeMgr_KeyDown(This,wParam,lParam,pfEaten)
  496.     (This)->lpVtbl -> KeyDown(This,wParam,lParam,pfEaten)
  497. #define ITfKeystrokeMgr_KeyUp(This,wParam,lParam,pfEaten)
  498.     (This)->lpVtbl -> KeyUp(This,wParam,lParam,pfEaten)
  499. #define ITfKeystrokeMgr_GetPreservedKey(This,pic,pprekey,pguid)
  500.     (This)->lpVtbl -> GetPreservedKey(This,pic,pprekey,pguid)
  501. #define ITfKeystrokeMgr_IsPreservedKey(This,rguid,pprekey,pfRegistered)
  502.     (This)->lpVtbl -> IsPreservedKey(This,rguid,pprekey,pfRegistered)
  503. #define ITfKeystrokeMgr_PreserveKey(This,tid,rguid,prekey,pchDesc,cchDesc)
  504.     (This)->lpVtbl -> PreserveKey(This,tid,rguid,prekey,pchDesc,cchDesc)
  505. #define ITfKeystrokeMgr_UnpreserveKey(This,rguid,pprekey)
  506.     (This)->lpVtbl -> UnpreserveKey(This,rguid,pprekey)
  507. #define ITfKeystrokeMgr_SetPreservedKeyDescription(This,rguid,pchDesc,cchDesc)
  508.     (This)->lpVtbl -> SetPreservedKeyDescription(This,rguid,pchDesc,cchDesc)
  509. #define ITfKeystrokeMgr_GetPreservedKeyDescription(This,rguid,pbstrDesc)
  510.     (This)->lpVtbl -> GetPreservedKeyDescription(This,rguid,pbstrDesc)
  511. #define ITfKeystrokeMgr_SimulatePreservedKey(This,pic,rguid,pfEaten)
  512.     (This)->lpVtbl -> SimulatePreservedKey(This,pic,rguid,pfEaten)
  513. #endif /* COBJMACROS */
  514. #endif  /* C style interface */
  515. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_AdviseKeyEventSink_Proxy( 
  516.     ITfKeystrokeMgr * This,
  517.     /* [in] */ TfClientId tid,
  518.     /* [in] */ ITfKeyEventSink *pSink,
  519.     /* [in] */ BOOL fForeground);
  520. void __RPC_STUB ITfKeystrokeMgr_AdviseKeyEventSink_Stub(
  521.     IRpcStubBuffer *This,
  522.     IRpcChannelBuffer *_pRpcChannelBuffer,
  523.     PRPC_MESSAGE _pRpcMessage,
  524.     DWORD *_pdwStubPhase);
  525. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_UnadviseKeyEventSink_Proxy( 
  526.     ITfKeystrokeMgr * This,
  527.     /* [in] */ TfClientId tid);
  528. void __RPC_STUB ITfKeystrokeMgr_UnadviseKeyEventSink_Stub(
  529.     IRpcStubBuffer *This,
  530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  531.     PRPC_MESSAGE _pRpcMessage,
  532.     DWORD *_pdwStubPhase);
  533. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_GetForeground_Proxy( 
  534.     ITfKeystrokeMgr * This,
  535.     /* [out] */ CLSID *pclsid);
  536. void __RPC_STUB ITfKeystrokeMgr_GetForeground_Stub(
  537.     IRpcStubBuffer *This,
  538.     IRpcChannelBuffer *_pRpcChannelBuffer,
  539.     PRPC_MESSAGE _pRpcMessage,
  540.     DWORD *_pdwStubPhase);
  541. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_TestKeyDown_Proxy( 
  542.     ITfKeystrokeMgr * This,
  543.     /* [in] */ WPARAM wParam,
  544.     /* [in] */ LPARAM lParam,
  545.     /* [out] */ BOOL *pfEaten);
  546. void __RPC_STUB ITfKeystrokeMgr_TestKeyDown_Stub(
  547.     IRpcStubBuffer *This,
  548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  549.     PRPC_MESSAGE _pRpcMessage,
  550.     DWORD *_pdwStubPhase);
  551. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_TestKeyUp_Proxy( 
  552.     ITfKeystrokeMgr * This,
  553.     /* [in] */ WPARAM wParam,
  554.     /* [in] */ LPARAM lParam,
  555.     /* [out] */ BOOL *pfEaten);
  556. void __RPC_STUB ITfKeystrokeMgr_TestKeyUp_Stub(
  557.     IRpcStubBuffer *This,
  558.     IRpcChannelBuffer *_pRpcChannelBuffer,
  559.     PRPC_MESSAGE _pRpcMessage,
  560.     DWORD *_pdwStubPhase);
  561. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_KeyDown_Proxy( 
  562.     ITfKeystrokeMgr * This,
  563.     /* [in] */ WPARAM wParam,
  564.     /* [in] */ LPARAM lParam,
  565.     /* [out] */ BOOL *pfEaten);
  566. void __RPC_STUB ITfKeystrokeMgr_KeyDown_Stub(
  567.     IRpcStubBuffer *This,
  568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  569.     PRPC_MESSAGE _pRpcMessage,
  570.     DWORD *_pdwStubPhase);
  571. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_KeyUp_Proxy( 
  572.     ITfKeystrokeMgr * This,
  573.     /* [in] */ WPARAM wParam,
  574.     /* [in] */ LPARAM lParam,
  575.     /* [out] */ BOOL *pfEaten);
  576. void __RPC_STUB ITfKeystrokeMgr_KeyUp_Stub(
  577.     IRpcStubBuffer *This,
  578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  579.     PRPC_MESSAGE _pRpcMessage,
  580.     DWORD *_pdwStubPhase);
  581. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_GetPreservedKey_Proxy( 
  582.     ITfKeystrokeMgr * This,
  583.     /* [in] */ ITfContext *pic,
  584.     /* [in] */ const TF_PRESERVEDKEY *pprekey,
  585.     /* [out] */ GUID *pguid);
  586. void __RPC_STUB ITfKeystrokeMgr_GetPreservedKey_Stub(
  587.     IRpcStubBuffer *This,
  588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  589.     PRPC_MESSAGE _pRpcMessage,
  590.     DWORD *_pdwStubPhase);
  591. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_IsPreservedKey_Proxy( 
  592.     ITfKeystrokeMgr * This,
  593.     /* [in] */ REFGUID rguid,
  594.     /* [in] */ const TF_PRESERVEDKEY *pprekey,
  595.     /* [out] */ BOOL *pfRegistered);
  596. void __RPC_STUB ITfKeystrokeMgr_IsPreservedKey_Stub(
  597.     IRpcStubBuffer *This,
  598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  599.     PRPC_MESSAGE _pRpcMessage,
  600.     DWORD *_pdwStubPhase);
  601. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_PreserveKey_Proxy( 
  602.     ITfKeystrokeMgr * This,
  603.     /* [in] */ TfClientId tid,
  604.     /* [in] */ REFGUID rguid,
  605.     /* [in] */ const TF_PRESERVEDKEY *prekey,
  606.     /* [size_is][in] */ const WCHAR *pchDesc,
  607.     /* [in] */ ULONG cchDesc);
  608. void __RPC_STUB ITfKeystrokeMgr_PreserveKey_Stub(
  609.     IRpcStubBuffer *This,
  610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  611.     PRPC_MESSAGE _pRpcMessage,
  612.     DWORD *_pdwStubPhase);
  613. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_UnpreserveKey_Proxy( 
  614.     ITfKeystrokeMgr * This,
  615.     /* [in] */ REFGUID rguid,
  616.     /* [in] */ const TF_PRESERVEDKEY *pprekey);
  617. void __RPC_STUB ITfKeystrokeMgr_UnpreserveKey_Stub(
  618.     IRpcStubBuffer *This,
  619.     IRpcChannelBuffer *_pRpcChannelBuffer,
  620.     PRPC_MESSAGE _pRpcMessage,
  621.     DWORD *_pdwStubPhase);
  622. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_SetPreservedKeyDescription_Proxy( 
  623.     ITfKeystrokeMgr * This,
  624.     /* [in] */ REFGUID rguid,
  625.     /* [size_is][in] */ const WCHAR *pchDesc,
  626.     /* [in] */ ULONG cchDesc);
  627. void __RPC_STUB ITfKeystrokeMgr_SetPreservedKeyDescription_Stub(
  628.     IRpcStubBuffer *This,
  629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  630.     PRPC_MESSAGE _pRpcMessage,
  631.     DWORD *_pdwStubPhase);
  632. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_GetPreservedKeyDescription_Proxy( 
  633.     ITfKeystrokeMgr * This,
  634.     /* [in] */ REFGUID rguid,
  635.     /* [out] */ BSTR *pbstrDesc);
  636. void __RPC_STUB ITfKeystrokeMgr_GetPreservedKeyDescription_Stub(
  637.     IRpcStubBuffer *This,
  638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  639.     PRPC_MESSAGE _pRpcMessage,
  640.     DWORD *_pdwStubPhase);
  641. HRESULT STDMETHODCALLTYPE ITfKeystrokeMgr_SimulatePreservedKey_Proxy( 
  642.     ITfKeystrokeMgr * This,
  643.     /* [in] */ ITfContext *pic,
  644.     /* [in] */ REFGUID rguid,
  645.     /* [out] */ BOOL *pfEaten);
  646. void __RPC_STUB ITfKeystrokeMgr_SimulatePreservedKey_Stub(
  647.     IRpcStubBuffer *This,
  648.     IRpcChannelBuffer *_pRpcChannelBuffer,
  649.     PRPC_MESSAGE _pRpcMessage,
  650.     DWORD *_pdwStubPhase);
  651. #endif  /* __ITfKeystrokeMgr_INTERFACE_DEFINED__ */
  652. #ifndef __ITfKeyEventSink_INTERFACE_DEFINED__
  653. #define __ITfKeyEventSink_INTERFACE_DEFINED__
  654. /* interface ITfKeyEventSink */
  655. /* [unique][uuid][local][object] */ 
  656. EXTERN_C const IID IID_ITfKeyEventSink;
  657. #if defined(__cplusplus) && !defined(CINTERFACE)
  658.     
  659.     MIDL_INTERFACE("aa80e7f5-2021-11d2-93e0-0060b067b86e")
  660.     ITfKeyEventSink : public IUnknown
  661.     {
  662.     public:
  663.         virtual HRESULT STDMETHODCALLTYPE OnSetFocus( 
  664.             /* [in] */ BOOL fForeground) = 0;
  665.         
  666.         virtual HRESULT STDMETHODCALLTYPE OnTestKeyDown( 
  667.             /* [in] */ ITfContext *pic,
  668.             /* [in] */ WPARAM wParam,
  669.             /* [in] */ LPARAM lParam,
  670.             /* [out] */ BOOL *pfEaten) = 0;
  671.         
  672.         virtual HRESULT STDMETHODCALLTYPE OnTestKeyUp( 
  673.             /* [in] */ ITfContext *pic,
  674.             /* [in] */ WPARAM wParam,
  675.             /* [in] */ LPARAM lParam,
  676.             /* [out] */ BOOL *pfEaten) = 0;
  677.         
  678.         virtual HRESULT STDMETHODCALLTYPE OnKeyDown( 
  679.             /* [in] */ ITfContext *pic,
  680.             /* [in] */ WPARAM wParam,
  681.             /* [in] */ LPARAM lParam,
  682.             /* [out] */ BOOL *pfEaten) = 0;
  683.         
  684.         virtual HRESULT STDMETHODCALLTYPE OnKeyUp( 
  685.             /* [in] */ ITfContext *pic,
  686.             /* [in] */ WPARAM wParam,
  687.             /* [in] */ LPARAM lParam,
  688.             /* [out] */ BOOL *pfEaten) = 0;
  689.         
  690.         virtual HRESULT STDMETHODCALLTYPE OnPreservedKey( 
  691.             /* [in] */ ITfContext *pic,
  692.             /* [in] */ REFGUID rguid,
  693.             /* [out] */ BOOL *pfEaten) = 0;
  694.         
  695.     };
  696.     
  697. #else  /* C style interface */
  698.     typedef struct ITfKeyEventSinkVtbl
  699.     {
  700.         BEGIN_INTERFACE
  701.         
  702.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  703.             ITfKeyEventSink * This,
  704.             /* [in] */ REFIID riid,
  705.             /* [iid_is][out] */ void **ppvObject);
  706.         
  707.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  708.             ITfKeyEventSink * This);
  709.         
  710.         ULONG ( STDMETHODCALLTYPE *Release )( 
  711.             ITfKeyEventSink * This);
  712.         
  713.         HRESULT ( STDMETHODCALLTYPE *OnSetFocus )( 
  714.             ITfKeyEventSink * This,
  715.             /* [in] */ BOOL fForeground);
  716.         
  717.         HRESULT ( STDMETHODCALLTYPE *OnTestKeyDown )( 
  718.             ITfKeyEventSink * This,
  719.             /* [in] */ ITfContext *pic,
  720.             /* [in] */ WPARAM wParam,
  721.             /* [in] */ LPARAM lParam,
  722.             /* [out] */ BOOL *pfEaten);
  723.         
  724.         HRESULT ( STDMETHODCALLTYPE *OnTestKeyUp )( 
  725.             ITfKeyEventSink * This,
  726.             /* [in] */ ITfContext *pic,
  727.             /* [in] */ WPARAM wParam,
  728.             /* [in] */ LPARAM lParam,
  729.             /* [out] */ BOOL *pfEaten);
  730.         
  731.         HRESULT ( STDMETHODCALLTYPE *OnKeyDown )( 
  732.             ITfKeyEventSink * This,
  733.             /* [in] */ ITfContext *pic,
  734.             /* [in] */ WPARAM wParam,
  735.             /* [in] */ LPARAM lParam,
  736.             /* [out] */ BOOL *pfEaten);
  737.         
  738.         HRESULT ( STDMETHODCALLTYPE *OnKeyUp )( 
  739.             ITfKeyEventSink * This,
  740.             /* [in] */ ITfContext *pic,
  741.             /* [in] */ WPARAM wParam,
  742.             /* [in] */ LPARAM lParam,
  743.             /* [out] */ BOOL *pfEaten);
  744.         
  745.         HRESULT ( STDMETHODCALLTYPE *OnPreservedKey )( 
  746.             ITfKeyEventSink * This,
  747.             /* [in] */ ITfContext *pic,
  748.             /* [in] */ REFGUID rguid,
  749.             /* [out] */ BOOL *pfEaten);
  750.         
  751.         END_INTERFACE
  752.     } ITfKeyEventSinkVtbl;
  753.     interface ITfKeyEventSink
  754.     {
  755.         CONST_VTBL struct ITfKeyEventSinkVtbl *lpVtbl;
  756.     };
  757.     
  758. #ifdef COBJMACROS
  759. #define ITfKeyEventSink_QueryInterface(This,riid,ppvObject)
  760.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  761. #define ITfKeyEventSink_AddRef(This)
  762.     (This)->lpVtbl -> AddRef(This)
  763. #define ITfKeyEventSink_Release(This)
  764.     (This)->lpVtbl -> Release(This)
  765. #define ITfKeyEventSink_OnSetFocus(This,fForeground)
  766.     (This)->lpVtbl -> OnSetFocus(This,fForeground)
  767. #define ITfKeyEventSink_OnTestKeyDown(This,pic,wParam,lParam,pfEaten)
  768.     (This)->lpVtbl -> OnTestKeyDown(This,pic,wParam,lParam,pfEaten)
  769. #define ITfKeyEventSink_OnTestKeyUp(This,pic,wParam,lParam,pfEaten)
  770.     (This)->lpVtbl -> OnTestKeyUp(This,pic,wParam,lParam,pfEaten)
  771. #define ITfKeyEventSink_OnKeyDown(This,pic,wParam,lParam,pfEaten)
  772.     (This)->lpVtbl -> OnKeyDown(This,pic,wParam,lParam,pfEaten)
  773. #define ITfKeyEventSink_OnKeyUp(This,pic,wParam,lParam,pfEaten)
  774.     (This)->lpVtbl -> OnKeyUp(This,pic,wParam,lParam,pfEaten)
  775. #define ITfKeyEventSink_OnPreservedKey(This,pic,rguid,pfEaten)
  776.     (This)->lpVtbl -> OnPreservedKey(This,pic,rguid,pfEaten)
  777. #endif /* COBJMACROS */
  778. #endif  /* C style interface */
  779. HRESULT STDMETHODCALLTYPE ITfKeyEventSink_OnSetFocus_Proxy( 
  780.     ITfKeyEventSink * This,
  781.     /* [in] */ BOOL fForeground);
  782. void __RPC_STUB ITfKeyEventSink_OnSetFocus_Stub(
  783.     IRpcStubBuffer *This,
  784.     IRpcChannelBuffer *_pRpcChannelBuffer,
  785.     PRPC_MESSAGE _pRpcMessage,
  786.     DWORD *_pdwStubPhase);
  787. HRESULT STDMETHODCALLTYPE ITfKeyEventSink_OnTestKeyDown_Proxy( 
  788.     ITfKeyEventSink * This,
  789.     /* [in] */ ITfContext *pic,
  790.     /* [in] */ WPARAM wParam,
  791.     /* [in] */ LPARAM lParam,
  792.     /* [out] */ BOOL *pfEaten);
  793. void __RPC_STUB ITfKeyEventSink_OnTestKeyDown_Stub(
  794.     IRpcStubBuffer *This,
  795.     IRpcChannelBuffer *_pRpcChannelBuffer,
  796.     PRPC_MESSAGE _pRpcMessage,
  797.     DWORD *_pdwStubPhase);
  798. HRESULT STDMETHODCALLTYPE ITfKeyEventSink_OnTestKeyUp_Proxy( 
  799.     ITfKeyEventSink * This,
  800.     /* [in] */ ITfContext *pic,
  801.     /* [in] */ WPARAM wParam,
  802.     /* [in] */ LPARAM lParam,
  803.     /* [out] */ BOOL *pfEaten);
  804. void __RPC_STUB ITfKeyEventSink_OnTestKeyUp_Stub(
  805.     IRpcStubBuffer *This,
  806.     IRpcChannelBuffer *_pRpcChannelBuffer,
  807.     PRPC_MESSAGE _pRpcMessage,
  808.     DWORD *_pdwStubPhase);
  809. HRESULT STDMETHODCALLTYPE ITfKeyEventSink_OnKeyDown_Proxy( 
  810.     ITfKeyEventSink * This,
  811.     /* [in] */ ITfContext *pic,
  812.     /* [in] */ WPARAM wParam,
  813.     /* [in] */ LPARAM lParam,
  814.     /* [out] */ BOOL *pfEaten);
  815. void __RPC_STUB ITfKeyEventSink_OnKeyDown_Stub(
  816.     IRpcStubBuffer *This,
  817.     IRpcChannelBuffer *_pRpcChannelBuffer,
  818.     PRPC_MESSAGE _pRpcMessage,
  819.     DWORD *_pdwStubPhase);
  820. HRESULT STDMETHODCALLTYPE ITfKeyEventSink_OnKeyUp_Proxy( 
  821.     ITfKeyEventSink * This,
  822.     /* [in] */ ITfContext *pic,
  823.     /* [in] */ WPARAM wParam,
  824.     /* [in] */ LPARAM lParam,
  825.     /* [out] */ BOOL *pfEaten);
  826. void __RPC_STUB ITfKeyEventSink_OnKeyUp_Stub(
  827.     IRpcStubBuffer *This,
  828.     IRpcChannelBuffer *_pRpcChannelBuffer,
  829.     PRPC_MESSAGE _pRpcMessage,
  830.     DWORD *_pdwStubPhase);
  831. HRESULT STDMETHODCALLTYPE ITfKeyEventSink_OnPreservedKey_Proxy( 
  832.     ITfKeyEventSink * This,
  833.     /* [in] */ ITfContext *pic,
  834.     /* [in] */ REFGUID rguid,
  835.     /* [out] */ BOOL *pfEaten);
  836. void __RPC_STUB ITfKeyEventSink_OnPreservedKey_Stub(
  837.     IRpcStubBuffer *This,
  838.     IRpcChannelBuffer *_pRpcChannelBuffer,
  839.     PRPC_MESSAGE _pRpcMessage,
  840.     DWORD *_pdwStubPhase);
  841. #endif  /* __ITfKeyEventSink_INTERFACE_DEFINED__ */
  842. #ifndef __ITfKeyTraceEventSink_INTERFACE_DEFINED__
  843. #define __ITfKeyTraceEventSink_INTERFACE_DEFINED__
  844. /* interface ITfKeyTraceEventSink */
  845. /* [unique][uuid][local][object] */ 
  846. EXTERN_C const IID IID_ITfKeyTraceEventSink;
  847. #if defined(__cplusplus) && !defined(CINTERFACE)
  848.     
  849.     MIDL_INTERFACE("1cd4c13b-1c36-4191-a70a-7f3e611f367d")
  850.     ITfKeyTraceEventSink : public IUnknown
  851.     {
  852.     public:
  853.         virtual HRESULT STDMETHODCALLTYPE OnKeyTraceDown( 
  854.             /* [in] */ WPARAM wParam,
  855.             /* [in] */ LPARAM lParam) = 0;
  856.         
  857.         virtual HRESULT STDMETHODCALLTYPE OnKeyTraceUp( 
  858.             /* [in] */ WPARAM wParam,
  859.             /* [in] */ LPARAM lParam) = 0;
  860.         
  861.     };
  862.     
  863. #else  /* C style interface */
  864.     typedef struct ITfKeyTraceEventSinkVtbl
  865.     {
  866.         BEGIN_INTERFACE
  867.         
  868.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  869.             ITfKeyTraceEventSink * This,
  870.             /* [in] */ REFIID riid,
  871.             /* [iid_is][out] */ void **ppvObject);
  872.         
  873.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  874.             ITfKeyTraceEventSink * This);
  875.         
  876.         ULONG ( STDMETHODCALLTYPE *Release )( 
  877.             ITfKeyTraceEventSink * This);
  878.         
  879.         HRESULT ( STDMETHODCALLTYPE *OnKeyTraceDown )( 
  880.             ITfKeyTraceEventSink * This,
  881.             /* [in] */ WPARAM wParam,
  882.             /* [in] */ LPARAM lParam);
  883.         
  884.         HRESULT ( STDMETHODCALLTYPE *OnKeyTraceUp )( 
  885.             ITfKeyTraceEventSink * This,
  886.             /* [in] */ WPARAM wParam,
  887.             /* [in] */ LPARAM lParam);
  888.         
  889.         END_INTERFACE
  890.     } ITfKeyTraceEventSinkVtbl;
  891.     interface ITfKeyTraceEventSink
  892.     {
  893.         CONST_VTBL struct ITfKeyTraceEventSinkVtbl *lpVtbl;
  894.     };
  895.     
  896. #ifdef COBJMACROS
  897. #define ITfKeyTraceEventSink_QueryInterface(This,riid,ppvObject)
  898.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  899. #define ITfKeyTraceEventSink_AddRef(This)
  900.     (This)->lpVtbl -> AddRef(This)
  901. #define ITfKeyTraceEventSink_Release(This)
  902.     (This)->lpVtbl -> Release(This)
  903. #define ITfKeyTraceEventSink_OnKeyTraceDown(This,wParam,lParam)
  904.     (This)->lpVtbl -> OnKeyTraceDown(This,wParam,lParam)
  905. #define ITfKeyTraceEventSink_OnKeyTraceUp(This,wParam,lParam)
  906.     (This)->lpVtbl -> OnKeyTraceUp(This,wParam,lParam)
  907. #endif /* COBJMACROS */
  908. #endif  /* C style interface */
  909. HRESULT STDMETHODCALLTYPE ITfKeyTraceEventSink_OnKeyTraceDown_Proxy( 
  910.     ITfKeyTraceEventSink * This,
  911.     /* [in] */ WPARAM wParam,
  912.     /* [in] */ LPARAM lParam);
  913. void __RPC_STUB ITfKeyTraceEventSink_OnKeyTraceDown_Stub(
  914.     IRpcStubBuffer *This,
  915.     IRpcChannelBuffer *_pRpcChannelBuffer,
  916.     PRPC_MESSAGE _pRpcMessage,
  917.     DWORD *_pdwStubPhase);
  918. HRESULT STDMETHODCALLTYPE ITfKeyTraceEventSink_OnKeyTraceUp_Proxy( 
  919.     ITfKeyTraceEventSink * This,
  920.     /* [in] */ WPARAM wParam,
  921.     /* [in] */ LPARAM lParam);
  922. void __RPC_STUB ITfKeyTraceEventSink_OnKeyTraceUp_Stub(
  923.     IRpcStubBuffer *This,
  924.     IRpcChannelBuffer *_pRpcChannelBuffer,
  925.     PRPC_MESSAGE _pRpcMessage,
  926.     DWORD *_pdwStubPhase);
  927. #endif  /* __ITfKeyTraceEventSink_INTERFACE_DEFINED__ */
  928. #ifndef __ITfPreservedKeyNotifySink_INTERFACE_DEFINED__
  929. #define __ITfPreservedKeyNotifySink_INTERFACE_DEFINED__
  930. /* interface ITfPreservedKeyNotifySink */
  931. /* [unique][uuid][object] */ 
  932. EXTERN_C const IID IID_ITfPreservedKeyNotifySink;
  933. #if defined(__cplusplus) && !defined(CINTERFACE)
  934.     
  935.     MIDL_INTERFACE("6f77c993-d2b1-446e-853e-5912efc8a286")
  936.     ITfPreservedKeyNotifySink : public IUnknown
  937.     {
  938.     public:
  939.         virtual HRESULT STDMETHODCALLTYPE OnUpdated( 
  940.             /* [in] */ const TF_PRESERVEDKEY *pprekey) = 0;
  941.         
  942.     };
  943.     
  944. #else  /* C style interface */
  945.     typedef struct ITfPreservedKeyNotifySinkVtbl
  946.     {
  947.         BEGIN_INTERFACE
  948.         
  949.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  950.             ITfPreservedKeyNotifySink * This,
  951.             /* [in] */ REFIID riid,
  952.             /* [iid_is][out] */ void **ppvObject);
  953.         
  954.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  955.             ITfPreservedKeyNotifySink * This);
  956.         
  957.         ULONG ( STDMETHODCALLTYPE *Release )( 
  958.             ITfPreservedKeyNotifySink * This);
  959.         
  960.         HRESULT ( STDMETHODCALLTYPE *OnUpdated )( 
  961.             ITfPreservedKeyNotifySink * This,
  962.             /* [in] */ const TF_PRESERVEDKEY *pprekey);
  963.         
  964.         END_INTERFACE
  965.     } ITfPreservedKeyNotifySinkVtbl;
  966.     interface ITfPreservedKeyNotifySink
  967.     {
  968.         CONST_VTBL struct ITfPreservedKeyNotifySinkVtbl *lpVtbl;
  969.     };
  970.     
  971. #ifdef COBJMACROS
  972. #define ITfPreservedKeyNotifySink_QueryInterface(This,riid,ppvObject)
  973.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  974. #define ITfPreservedKeyNotifySink_AddRef(This)
  975.     (This)->lpVtbl -> AddRef(This)
  976. #define ITfPreservedKeyNotifySink_Release(This)
  977.     (This)->lpVtbl -> Release(This)
  978. #define ITfPreservedKeyNotifySink_OnUpdated(This,pprekey)
  979.     (This)->lpVtbl -> OnUpdated(This,pprekey)
  980. #endif /* COBJMACROS */
  981. #endif  /* C style interface */
  982. HRESULT STDMETHODCALLTYPE ITfPreservedKeyNotifySink_OnUpdated_Proxy( 
  983.     ITfPreservedKeyNotifySink * This,
  984.     /* [in] */ const TF_PRESERVEDKEY *pprekey);
  985. void __RPC_STUB ITfPreservedKeyNotifySink_OnUpdated_Stub(
  986.     IRpcStubBuffer *This,
  987.     IRpcChannelBuffer *_pRpcChannelBuffer,
  988.     PRPC_MESSAGE _pRpcMessage,
  989.     DWORD *_pdwStubPhase);
  990. #endif  /* __ITfPreservedKeyNotifySink_INTERFACE_DEFINED__ */
  991. #ifndef __ITfMessagePump_INTERFACE_DEFINED__
  992. #define __ITfMessagePump_INTERFACE_DEFINED__
  993. /* interface ITfMessagePump */
  994. /* [unique][uuid][local][object] */ 
  995. EXTERN_C const IID IID_ITfMessagePump;
  996. #if defined(__cplusplus) && !defined(CINTERFACE)
  997.     
  998.     MIDL_INTERFACE("8f1b8ad8-0b6b-4874-90c5-bd76011e8f7c")
  999.     ITfMessagePump : public IUnknown
  1000.     {
  1001.     public:
  1002.         virtual HRESULT STDMETHODCALLTYPE PeekMessageA( 
  1003.             /* [out] */ LPMSG pMsg,
  1004.             /* [in] */ HWND hwnd,
  1005.             /* [in] */ UINT wMsgFilterMin,
  1006.             /* [in] */ UINT wMsgFilterMax,
  1007.             /* [in] */ UINT wRemoveMsg,
  1008.             /* [out] */ BOOL *pfResult) = 0;
  1009.         
  1010.         virtual HRESULT STDMETHODCALLTYPE GetMessageA( 
  1011.             /* [out] */ LPMSG pMsg,
  1012.             /* [in] */ HWND hwnd,
  1013.             /* [in] */ UINT wMsgFilterMin,
  1014.             /* [in] */ UINT wMsgFilterMax,
  1015.             /* [out] */ BOOL *pfResult) = 0;
  1016.         
  1017.         virtual HRESULT STDMETHODCALLTYPE PeekMessageW( 
  1018.             /* [out] */ LPMSG pMsg,
  1019.             /* [in] */ HWND hwnd,
  1020.             /* [in] */ UINT wMsgFilterMin,
  1021.             /* [in] */ UINT wMsgFilterMax,
  1022.             /* [in] */ UINT wRemoveMsg,
  1023.             /* [out] */ BOOL *pfResult) = 0;
  1024.         
  1025.         virtual HRESULT STDMETHODCALLTYPE GetMessageW( 
  1026.             /* [out] */ LPMSG pMsg,
  1027.             /* [in] */ HWND hwnd,
  1028.             /* [in] */ UINT wMsgFilterMin,
  1029.             /* [in] */ UINT wMsgFilterMax,
  1030.             /* [out] */ BOOL *pfResult) = 0;
  1031.         
  1032.     };
  1033.     
  1034. #else  /* C style interface */
  1035.     typedef struct ITfMessagePumpVtbl
  1036.     {
  1037.         BEGIN_INTERFACE
  1038.         
  1039.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1040.             ITfMessagePump * This,
  1041.             /* [in] */ REFIID riid,
  1042.             /* [iid_is][out] */ void **ppvObject);
  1043.         
  1044.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1045.             ITfMessagePump * This);
  1046.         
  1047.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1048.             ITfMessagePump * This);
  1049.         
  1050.         HRESULT ( STDMETHODCALLTYPE *PeekMessageA )( 
  1051.             ITfMessagePump * This,
  1052.             /* [out] */ LPMSG pMsg,
  1053.             /* [in] */ HWND hwnd,
  1054.             /* [in] */ UINT wMsgFilterMin,
  1055.             /* [in] */ UINT wMsgFilterMax,
  1056.             /* [in] */ UINT wRemoveMsg,
  1057.             /* [out] */ BOOL *pfResult);
  1058.         
  1059.         HRESULT ( STDMETHODCALLTYPE *GetMessageA )( 
  1060.             ITfMessagePump * This,
  1061.             /* [out] */ LPMSG pMsg,
  1062.             /* [in] */ HWND hwnd,
  1063.             /* [in] */ UINT wMsgFilterMin,
  1064.             /* [in] */ UINT wMsgFilterMax,
  1065.             /* [out] */ BOOL *pfResult);
  1066.         
  1067.         HRESULT ( STDMETHODCALLTYPE *PeekMessageW )( 
  1068.             ITfMessagePump * This,
  1069.             /* [out] */ LPMSG pMsg,
  1070.             /* [in] */ HWND hwnd,
  1071.             /* [in] */ UINT wMsgFilterMin,
  1072.             /* [in] */ UINT wMsgFilterMax,
  1073.             /* [in] */ UINT wRemoveMsg,
  1074.             /* [out] */ BOOL *pfResult);
  1075.         
  1076.         HRESULT ( STDMETHODCALLTYPE *GetMessageW )( 
  1077.             ITfMessagePump * This,
  1078.             /* [out] */ LPMSG pMsg,
  1079.             /* [in] */ HWND hwnd,
  1080.             /* [in] */ UINT wMsgFilterMin,
  1081.             /* [in] */ UINT wMsgFilterMax,
  1082.             /* [out] */ BOOL *pfResult);
  1083.         
  1084.         END_INTERFACE
  1085.     } ITfMessagePumpVtbl;
  1086.     interface ITfMessagePump
  1087.     {
  1088.         CONST_VTBL struct ITfMessagePumpVtbl *lpVtbl;
  1089.     };
  1090.     
  1091. #ifdef COBJMACROS
  1092. #define ITfMessagePump_QueryInterface(This,riid,ppvObject)
  1093.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1094. #define ITfMessagePump_AddRef(This)
  1095.     (This)->lpVtbl -> AddRef(This)
  1096. #define ITfMessagePump_Release(This)
  1097.     (This)->lpVtbl -> Release(This)
  1098. #define ITfMessagePump_PeekMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult)
  1099.     (This)->lpVtbl -> PeekMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult)
  1100. #define ITfMessagePump_GetMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult)
  1101.     (This)->lpVtbl -> GetMessageA(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult)
  1102. #define ITfMessagePump_PeekMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult)
  1103.     (This)->lpVtbl -> PeekMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,wRemoveMsg,pfResult)
  1104. #define ITfMessagePump_GetMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult)
  1105.     (This)->lpVtbl -> GetMessageW(This,pMsg,hwnd,wMsgFilterMin,wMsgFilterMax,pfResult)
  1106. #endif /* COBJMACROS */
  1107. #endif  /* C style interface */
  1108. HRESULT STDMETHODCALLTYPE ITfMessagePump_PeekMessageA_Proxy( 
  1109.     ITfMessagePump * This,
  1110.     /* [out] */ LPMSG pMsg,
  1111.     /* [in] */ HWND hwnd,
  1112.     /* [in] */ UINT wMsgFilterMin,
  1113.     /* [in] */ UINT wMsgFilterMax,
  1114.     /* [in] */ UINT wRemoveMsg,
  1115.     /* [out] */ BOOL *pfResult);
  1116. void __RPC_STUB ITfMessagePump_PeekMessageA_Stub(
  1117.     IRpcStubBuffer *This,
  1118.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1119.     PRPC_MESSAGE _pRpcMessage,
  1120.     DWORD *_pdwStubPhase);
  1121. HRESULT STDMETHODCALLTYPE ITfMessagePump_GetMessageA_Proxy( 
  1122.     ITfMessagePump * This,
  1123.     /* [out] */ LPMSG pMsg,
  1124.     /* [in] */ HWND hwnd,
  1125.     /* [in] */ UINT wMsgFilterMin,
  1126.     /* [in] */ UINT wMsgFilterMax,
  1127.     /* [out] */ BOOL *pfResult);
  1128. void __RPC_STUB ITfMessagePump_GetMessageA_Stub(
  1129.     IRpcStubBuffer *This,
  1130.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1131.     PRPC_MESSAGE _pRpcMessage,
  1132.     DWORD *_pdwStubPhase);
  1133. HRESULT STDMETHODCALLTYPE ITfMessagePump_PeekMessageW_Proxy( 
  1134.     ITfMessagePump * This,
  1135.     /* [out] */ LPMSG pMsg,
  1136.     /* [in] */ HWND hwnd,
  1137.     /* [in] */ UINT wMsgFilterMin,
  1138.     /* [in] */ UINT wMsgFilterMax,
  1139.     /* [in] */ UINT wRemoveMsg,
  1140.     /* [out] */ BOOL *pfResult);
  1141. void __RPC_STUB ITfMessagePump_PeekMessageW_Stub(
  1142.     IRpcStubBuffer *This,
  1143.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1144.     PRPC_MESSAGE _pRpcMessage,
  1145.     DWORD *_pdwStubPhase);
  1146. HRESULT STDMETHODCALLTYPE ITfMessagePump_GetMessageW_Proxy( 
  1147.     ITfMessagePump * This,
  1148.     /* [out] */ LPMSG pMsg,
  1149.     /* [in] */ HWND hwnd,
  1150.     /* [in] */ UINT wMsgFilterMin,
  1151.     /* [in] */ UINT wMsgFilterMax,
  1152.     /* [out] */ BOOL *pfResult);
  1153. void __RPC_STUB ITfMessagePump_GetMessageW_Stub(
  1154.     IRpcStubBuffer *This,
  1155.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1156.     PRPC_MESSAGE _pRpcMessage,
  1157.     DWORD *_pdwStubPhase);
  1158. #endif  /* __ITfMessagePump_INTERFACE_DEFINED__ */
  1159. #ifndef __ITfThreadFocusSink_INTERFACE_DEFINED__
  1160. #define __ITfThreadFocusSink_INTERFACE_DEFINED__
  1161. /* interface ITfThreadFocusSink */
  1162. /* [unique][uuid][local][object] */ 
  1163. EXTERN_C const IID IID_ITfThreadFocusSink;
  1164. #if defined(__cplusplus) && !defined(CINTERFACE)
  1165.     
  1166.     MIDL_INTERFACE("c0f1db0c-3a20-405c-a303-96b6010a885f")
  1167.     ITfThreadFocusSink : public IUnknown
  1168.     {
  1169.     public:
  1170.         virtual HRESULT STDMETHODCALLTYPE OnSetThreadFocus( void) = 0;
  1171.         
  1172.         virtual HRESULT STDMETHODCALLTYPE OnKillThreadFocus( void) = 0;
  1173.         
  1174.     };
  1175.     
  1176. #else  /* C style interface */
  1177.     typedef struct ITfThreadFocusSinkVtbl
  1178.     {
  1179.         BEGIN_INTERFACE
  1180.         
  1181.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1182.             ITfThreadFocusSink * This,
  1183.             /* [in] */ REFIID riid,
  1184.             /* [iid_is][out] */ void **ppvObject);
  1185.         
  1186.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1187.             ITfThreadFocusSink * This);
  1188.         
  1189.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1190.             ITfThreadFocusSink * This);
  1191.         
  1192.         HRESULT ( STDMETHODCALLTYPE *OnSetThreadFocus )( 
  1193.             ITfThreadFocusSink * This);
  1194.         
  1195.         HRESULT ( STDMETHODCALLTYPE *OnKillThreadFocus )( 
  1196.             ITfThreadFocusSink * This);
  1197.         
  1198.         END_INTERFACE
  1199.     } ITfThreadFocusSinkVtbl;
  1200.     interface ITfThreadFocusSink
  1201.     {
  1202.         CONST_VTBL struct ITfThreadFocusSinkVtbl *lpVtbl;
  1203.     };
  1204.     
  1205. #ifdef COBJMACROS
  1206. #define ITfThreadFocusSink_QueryInterface(This,riid,ppvObject)
  1207.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1208. #define ITfThreadFocusSink_AddRef(This)
  1209.     (This)->lpVtbl -> AddRef(This)
  1210. #define ITfThreadFocusSink_Release(This)
  1211.     (This)->lpVtbl -> Release(This)
  1212. #define ITfThreadFocusSink_OnSetThreadFocus(This)
  1213.     (This)->lpVtbl -> OnSetThreadFocus(This)
  1214. #define ITfThreadFocusSink_OnKillThreadFocus(This)
  1215.     (This)->lpVtbl -> OnKillThreadFocus(This)
  1216. #endif /* COBJMACROS */
  1217. #endif  /* C style interface */
  1218. HRESULT STDMETHODCALLTYPE ITfThreadFocusSink_OnSetThreadFocus_Proxy( 
  1219.     ITfThreadFocusSink * This);
  1220. void __RPC_STUB ITfThreadFocusSink_OnSetThreadFocus_Stub(
  1221.     IRpcStubBuffer *This,
  1222.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1223.     PRPC_MESSAGE _pRpcMessage,
  1224.     DWORD *_pdwStubPhase);
  1225. HRESULT STDMETHODCALLTYPE ITfThreadFocusSink_OnKillThreadFocus_Proxy( 
  1226.     ITfThreadFocusSink * This);
  1227. void __RPC_STUB ITfThreadFocusSink_OnKillThreadFocus_Stub(
  1228.     IRpcStubBuffer *This,
  1229.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1230.     PRPC_MESSAGE _pRpcMessage,
  1231.     DWORD *_pdwStubPhase);
  1232. #endif  /* __ITfThreadFocusSink_INTERFACE_DEFINED__ */
  1233. #ifndef __ITfTextInputProcessor_INTERFACE_DEFINED__
  1234. #define __ITfTextInputProcessor_INTERFACE_DEFINED__
  1235. /* interface ITfTextInputProcessor */
  1236. /* [unique][uuid][local][object] */ 
  1237. EXTERN_C const IID IID_ITfTextInputProcessor;
  1238. #if defined(__cplusplus) && !defined(CINTERFACE)
  1239.     
  1240.     MIDL_INTERFACE("aa80e7f7-2021-11d2-93e0-0060b067b86e")
  1241.     ITfTextInputProcessor : public IUnknown
  1242.     {
  1243.     public:
  1244.         virtual HRESULT STDMETHODCALLTYPE Activate( 
  1245.             /* [in] */ ITfThreadMgr *ptim,
  1246.             /* [in] */ TfClientId tid) = 0;
  1247.         
  1248.         virtual HRESULT STDMETHODCALLTYPE Deactivate( void) = 0;
  1249.         
  1250.     };
  1251.     
  1252. #else  /* C style interface */
  1253.     typedef struct ITfTextInputProcessorVtbl
  1254.     {
  1255.         BEGIN_INTERFACE
  1256.         
  1257.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1258.             ITfTextInputProcessor * This,
  1259.             /* [in] */ REFIID riid,
  1260.             /* [iid_is][out] */ void **ppvObject);
  1261.         
  1262.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1263.             ITfTextInputProcessor * This);
  1264.         
  1265.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1266.             ITfTextInputProcessor * This);
  1267.         
  1268.         HRESULT ( STDMETHODCALLTYPE *Activate )( 
  1269.             ITfTextInputProcessor * This,
  1270.             /* [in] */ ITfThreadMgr *ptim,
  1271.             /* [in] */ TfClientId tid);
  1272.         
  1273.         HRESULT ( STDMETHODCALLTYPE *Deactivate )( 
  1274.             ITfTextInputProcessor * This);
  1275.         
  1276.         END_INTERFACE
  1277.     } ITfTextInputProcessorVtbl;
  1278.     interface ITfTextInputProcessor
  1279.     {
  1280.         CONST_VTBL struct ITfTextInputProcessorVtbl *lpVtbl;
  1281.     };
  1282.     
  1283. #ifdef COBJMACROS
  1284. #define ITfTextInputProcessor_QueryInterface(This,riid,ppvObject)
  1285.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1286. #define ITfTextInputProcessor_AddRef(This)
  1287.     (This)->lpVtbl -> AddRef(This)
  1288. #define ITfTextInputProcessor_Release(This)
  1289.     (This)->lpVtbl -> Release(This)
  1290. #define ITfTextInputProcessor_Activate(This,ptim,tid)
  1291.     (This)->lpVtbl -> Activate(This,ptim,tid)
  1292. #define ITfTextInputProcessor_Deactivate(This)
  1293.     (This)->lpVtbl -> Deactivate(This)
  1294. #endif /* COBJMACROS */
  1295. #endif  /* C style interface */
  1296. HRESULT STDMETHODCALLTYPE ITfTextInputProcessor_Activate_Proxy( 
  1297.     ITfTextInputProcessor * This,
  1298.     /* [in] */ ITfThreadMgr *ptim,
  1299.     /* [in] */ TfClientId tid);
  1300. void __RPC_STUB ITfTextInputProcessor_Activate_Stub(
  1301.     IRpcStubBuffer *This,
  1302.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1303.     PRPC_MESSAGE _pRpcMessage,
  1304.     DWORD *_pdwStubPhase);
  1305. HRESULT STDMETHODCALLTYPE ITfTextInputProcessor_Deactivate_Proxy( 
  1306.     ITfTextInputProcessor * This);
  1307. void __RPC_STUB ITfTextInputProcessor_Deactivate_Stub(
  1308.     IRpcStubBuffer *This,
  1309.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1310.     PRPC_MESSAGE _pRpcMessage,
  1311.     DWORD *_pdwStubPhase);
  1312. #endif  /* __ITfTextInputProcessor_INTERFACE_DEFINED__ */
  1313. #ifndef __ITfClientId_INTERFACE_DEFINED__
  1314. #define __ITfClientId_INTERFACE_DEFINED__
  1315. /* interface ITfClientId */
  1316. /* [unique][uuid][local][object] */ 
  1317. EXTERN_C const IID IID_ITfClientId;
  1318. #if defined(__cplusplus) && !defined(CINTERFACE)
  1319.     
  1320.     MIDL_INTERFACE("d60a7b49-1b9f-4be2-b702-47e9dc05dec3")
  1321.     ITfClientId : public IUnknown
  1322.     {
  1323.     public:
  1324.         virtual HRESULT STDMETHODCALLTYPE GetClientId( 
  1325.             /* [in] */ REFCLSID rclsid,
  1326.             /* [out] */ TfClientId *ptid) = 0;
  1327.         
  1328.     };
  1329.     
  1330. #else  /* C style interface */
  1331.     typedef struct ITfClientIdVtbl
  1332.     {
  1333.         BEGIN_INTERFACE
  1334.         
  1335.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1336.             ITfClientId * This,
  1337.             /* [in] */ REFIID riid,
  1338.             /* [iid_is][out] */ void **ppvObject);
  1339.         
  1340.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1341.             ITfClientId * This);
  1342.         
  1343.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1344.             ITfClientId * This);
  1345.         
  1346.         HRESULT ( STDMETHODCALLTYPE *GetClientId )( 
  1347.             ITfClientId * This,
  1348.             /* [in] */ REFCLSID rclsid,
  1349.             /* [out] */ TfClientId *ptid);
  1350.         
  1351.         END_INTERFACE
  1352.     } ITfClientIdVtbl;
  1353.     interface ITfClientId
  1354.     {
  1355.         CONST_VTBL struct ITfClientIdVtbl *lpVtbl;
  1356.     };
  1357.     
  1358. #ifdef COBJMACROS
  1359. #define ITfClientId_QueryInterface(This,riid,ppvObject)
  1360.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1361. #define ITfClientId_AddRef(This)
  1362.     (This)->lpVtbl -> AddRef(This)
  1363. #define ITfClientId_Release(This)
  1364.     (This)->lpVtbl -> Release(This)
  1365. #define ITfClientId_GetClientId(This,rclsid,ptid)
  1366.     (This)->lpVtbl -> GetClientId(This,rclsid,ptid)
  1367. #endif /* COBJMACROS */
  1368. #endif  /* C style interface */
  1369. HRESULT STDMETHODCALLTYPE ITfClientId_GetClientId_Proxy( 
  1370.     ITfClientId * This,
  1371.     /* [in] */ REFCLSID rclsid,
  1372.     /* [out] */ TfClientId *ptid);
  1373. void __RPC_STUB ITfClientId_GetClientId_Stub(
  1374.     IRpcStubBuffer *This,
  1375.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1376.     PRPC_MESSAGE _pRpcMessage,
  1377.     DWORD *_pdwStubPhase);
  1378. #endif  /* __ITfClientId_INTERFACE_DEFINED__ */
  1379. /* interface __MIDL_itf_msctf_0202 */
  1380. /* [local] */ 
  1381. typedef /* [public][public][public][public][uuid] */  DECLSPEC_UUID("c4cc07f1-80cc-4a7b-bc54-98512782cbe3") 
  1382. enum __MIDL___MIDL_itf_msctf_0202_0001
  1383.     { TF_LS_NONE = 0,
  1384. TF_LS_SOLID = 1,
  1385. TF_LS_DOT = 2,
  1386. TF_LS_DASH = 3,
  1387. TF_LS_SQUIGGLE = 4
  1388.     }  TF_DA_LINESTYLE;
  1389. typedef /* [public][public][public][public][public][public][public][public][public][public][public][uuid] */  DECLSPEC_UUID("d9b92e21-084a-401b-9c64-1e6dad91a1ab") 
  1390. enum __MIDL___MIDL_itf_msctf_0202_0002
  1391.     { TF_CT_NONE = 0,
  1392. TF_CT_SYSCOLOR = 1,
  1393. TF_CT_COLORREF = 2
  1394.     }  TF_DA_COLORTYPE;
  1395. typedef /* [uuid] */  DECLSPEC_UUID("90d0cb5e-6520-4a0f-b47c-c39bd955f0d6") struct TF_DA_COLOR
  1396.     {
  1397.     TF_DA_COLORTYPE type;
  1398.     /* [switch_is][switch_type] */ union 
  1399.         {
  1400.         /* [case()] */ int nIndex;
  1401.         /* [case()] */ COLORREF cr;
  1402.         }  ;
  1403.     }  TF_DA_COLOR;
  1404. typedef /* [public][public][public][public][uuid] */  DECLSPEC_UUID("33d2fe4b-6c24-4f67-8d75-3bc1819e4126") 
  1405. enum __MIDL___MIDL_itf_msctf_0202_0004
  1406.     { TF_ATTR_INPUT = 0,
  1407. TF_ATTR_TARGET_CONVERTED = 1,
  1408. TF_ATTR_CONVERTED = 2,
  1409. TF_ATTR_TARGET_NOTCONVERTED = 3,
  1410. TF_ATTR_INPUT_ERROR = 4,
  1411. TF_ATTR_FIXEDCONVERTED = 5,
  1412. TF_ATTR_OTHER = -1
  1413.     }  TF_DA_ATTR_INFO;
  1414. typedef /* [uuid] */  DECLSPEC_UUID("1bf1c305-419b-4182-a4d2-9bfadc3f021f") struct TF_DISPLAYATTRIBUTE
  1415.     {
  1416.     TF_DA_COLOR crText;
  1417.     TF_DA_COLOR crBk;
  1418.     TF_DA_LINESTYLE lsStyle;
  1419.     BOOL fBoldLine;
  1420.     TF_DA_COLOR crLine;
  1421.     TF_DA_ATTR_INFO bAttr;
  1422.     }  TF_DISPLAYATTRIBUTE;
  1423. extern RPC_IF_HANDLE __MIDL_itf_msctf_0202_v0_0_c_ifspec;
  1424. extern RPC_IF_HANDLE __MIDL_itf_msctf_0202_v0_0_s_ifspec;
  1425. #ifndef __ITfDisplayAttributeInfo_INTERFACE_DEFINED__
  1426. #define __ITfDisplayAttributeInfo_INTERFACE_DEFINED__
  1427. /* interface ITfDisplayAttributeInfo */
  1428. /* [unique][uuid][object] */ 
  1429. EXTERN_C const IID IID_ITfDisplayAttributeInfo;
  1430. #if defined(__cplusplus) && !defined(CINTERFACE)
  1431.     
  1432.     MIDL_INTERFACE("70528852-2f26-4aea-8c96-215150578932")
  1433.     ITfDisplayAttributeInfo : public IUnknown
  1434.     {
  1435.     public:
  1436.         virtual HRESULT STDMETHODCALLTYPE GetGUID( 
  1437.             /* [out] */ GUID *pguid) = 0;
  1438.         
  1439.         virtual HRESULT STDMETHODCALLTYPE GetDescription( 
  1440.             /* [out] */ BSTR *pbstrDesc) = 0;
  1441.         
  1442.         virtual HRESULT STDMETHODCALLTYPE GetAttributeInfo( 
  1443.             /* [out] */ TF_DISPLAYATTRIBUTE *pda) = 0;
  1444.         
  1445.         virtual HRESULT STDMETHODCALLTYPE SetAttributeInfo( 
  1446.             /* [in] */ const TF_DISPLAYATTRIBUTE *pda) = 0;
  1447.         
  1448.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1449.         
  1450.     };
  1451.     
  1452. #else  /* C style interface */
  1453.     typedef struct ITfDisplayAttributeInfoVtbl
  1454.     {
  1455.         BEGIN_INTERFACE
  1456.         
  1457.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1458.             ITfDisplayAttributeInfo * This,
  1459.             /* [in] */ REFIID riid,
  1460.             /* [iid_is][out] */ void **ppvObject);
  1461.         
  1462.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1463.             ITfDisplayAttributeInfo * This);
  1464.         
  1465.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1466.             ITfDisplayAttributeInfo * This);
  1467.         
  1468.         HRESULT ( STDMETHODCALLTYPE *GetGUID )( 
  1469.             ITfDisplayAttributeInfo * This,
  1470.             /* [out] */ GUID *pguid);
  1471.         
  1472.         HRESULT ( STDMETHODCALLTYPE *GetDescription )( 
  1473.             ITfDisplayAttributeInfo * This,
  1474.             /* [out] */ BSTR *pbstrDesc);
  1475.         
  1476.         HRESULT ( STDMETHODCALLTYPE *GetAttributeInfo )( 
  1477.             ITfDisplayAttributeInfo * This,
  1478.             /* [out] */ TF_DISPLAYATTRIBUTE *pda);
  1479.         
  1480.         HRESULT ( STDMETHODCALLTYPE *SetAttributeInfo )( 
  1481.             ITfDisplayAttributeInfo * This,
  1482.             /* [in] */ const TF_DISPLAYATTRIBUTE *pda);
  1483.         
  1484.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1485.             ITfDisplayAttributeInfo * This);
  1486.         
  1487.         END_INTERFACE
  1488.     } ITfDisplayAttributeInfoVtbl;
  1489.     interface ITfDisplayAttributeInfo
  1490.     {
  1491.         CONST_VTBL struct ITfDisplayAttributeInfoVtbl *lpVtbl;
  1492.     };
  1493.     
  1494. #ifdef COBJMACROS
  1495. #define ITfDisplayAttributeInfo_QueryInterface(This,riid,ppvObject)
  1496.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1497. #define ITfDisplayAttributeInfo_AddRef(This)
  1498.     (This)->lpVtbl -> AddRef(This)
  1499. #define ITfDisplayAttributeInfo_Release(This)
  1500.     (This)->lpVtbl -> Release(This)
  1501. #define ITfDisplayAttributeInfo_GetGUID(This,pguid)
  1502.     (This)->lpVtbl -> GetGUID(This,pguid)
  1503. #define ITfDisplayAttributeInfo_GetDescription(This,pbstrDesc)
  1504.     (This)->lpVtbl -> GetDescription(This,pbstrDesc)
  1505. #define ITfDisplayAttributeInfo_GetAttributeInfo(This,pda)
  1506.     (This)->lpVtbl -> GetAttributeInfo(This,pda)
  1507. #define ITfDisplayAttributeInfo_SetAttributeInfo(This,pda)
  1508.     (This)->lpVtbl -> SetAttributeInfo(This,pda)
  1509. #define ITfDisplayAttributeInfo_Reset(This)
  1510.     (This)->lpVtbl -> Reset(This)
  1511. #endif /* COBJMACROS */
  1512. #endif  /* C style interface */
  1513. HRESULT STDMETHODCALLTYPE ITfDisplayAttributeInfo_GetGUID_Proxy( 
  1514.     ITfDisplayAttributeInfo * This,
  1515.     /* [out] */ GUID *pguid);
  1516. void __RPC_STUB ITfDisplayAttributeInfo_GetGUID_Stub(
  1517.     IRpcStubBuffer *This,
  1518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1519.     PRPC_MESSAGE _pRpcMessage,
  1520.     DWORD *_pdwStubPhase);
  1521. HRESULT STDMETHODCALLTYPE ITfDisplayAttributeInfo_GetDescription_Proxy( 
  1522.     ITfDisplayAttributeInfo * This,
  1523.     /* [out] */ BSTR *pbstrDesc);
  1524. void __RPC_STUB ITfDisplayAttributeInfo_GetDescription_Stub(
  1525.     IRpcStubBuffer *This,
  1526.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1527.     PRPC_MESSAGE _pRpcMessage,
  1528.     DWORD *_pdwStubPhase);
  1529. HRESULT STDMETHODCALLTYPE ITfDisplayAttributeInfo_GetAttributeInfo_Proxy( 
  1530.     ITfDisplayAttributeInfo * This,
  1531.     /* [out] */ TF_DISPLAYATTRIBUTE *pda);
  1532. void __RPC_STUB ITfDisplayAttributeInfo_GetAttributeInfo_Stub(
  1533.     IRpcStubBuffer *This,
  1534.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1535.     PRPC_MESSAGE _pRpcMessage,
  1536.     DWORD *_pdwStubPhase);
  1537. HRESULT STDMETHODCALLTYPE ITfDisplayAttributeInfo_SetAttributeInfo_Proxy( 
  1538.     ITfDisplayAttributeInfo * This,
  1539.     /* [in] */ const TF_DISPLAYATTRIBUTE *pda);
  1540. void __RPC_STUB ITfDisplayAttributeInfo_SetAttributeInfo_Stub(
  1541.     IRpcStubBuffer *This,
  1542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1543.     PRPC_MESSAGE _pRpcMessage,
  1544.     DWORD *_pdwStubPhase);
  1545. HRESULT STDMETHODCALLTYPE ITfDisplayAttributeInfo_Reset_Proxy( 
  1546.     ITfDisplayAttributeInfo * This);
  1547. void __RPC_STUB ITfDisplayAttributeInfo_Reset_Stub(
  1548.     IRpcStubBuffer *This,
  1549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1550.     PRPC_MESSAGE _pRpcMessage,
  1551.     DWORD *_pdwStubPhase);
  1552. #endif  /* __ITfDisplayAttributeInfo_INTERFACE_DEFINED__ */
  1553. #ifndef __IEnumTfDisplayAttributeInfo_INTERFACE_DEFINED__
  1554. #define __IEnumTfDisplayAttributeInfo_INTERFACE_DEFINED__
  1555. /* interface IEnumTfDisplayAttributeInfo */
  1556. /* [unique][uuid][object] */ 
  1557. EXTERN_C const IID IID_IEnumTfDisplayAttributeInfo;
  1558. #if defined(__cplusplus) && !defined(CINTERFACE)
  1559.     
  1560.     MIDL_INTERFACE("7cef04d7-cb75-4e80-a7ab-5f5bc7d332de")
  1561.     IEnumTfDisplayAttributeInfo : public IUnknown
  1562.     {
  1563.     public:
  1564.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1565.             /* [out] */ IEnumTfDisplayAttributeInfo **ppEnum) = 0;
  1566.         
  1567.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1568.             /* [in] */ ULONG ulCount,
  1569.             /* [length_is][size_is][out] */ ITfDisplayAttributeInfo **rgInfo,
  1570.             /* [out] */ ULONG *pcFetched) = 0;
  1571.         
  1572.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1573.         
  1574.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1575.             /* [in] */ ULONG ulCount) = 0;
  1576.         
  1577.     };
  1578.     
  1579. #else  /* C style interface */
  1580.     typedef struct IEnumTfDisplayAttributeInfoVtbl
  1581.     {
  1582.         BEGIN_INTERFACE
  1583.         
  1584.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1585.             IEnumTfDisplayAttributeInfo * This,
  1586.             /* [in] */ REFIID riid,
  1587.             /* [iid_is][out] */ void **ppvObject);
  1588.         
  1589.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1590.             IEnumTfDisplayAttributeInfo * This);
  1591.         
  1592.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1593.             IEnumTfDisplayAttributeInfo * This);
  1594.         
  1595.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1596.             IEnumTfDisplayAttributeInfo * This,
  1597.             /* [out] */ IEnumTfDisplayAttributeInfo **ppEnum);
  1598.         
  1599.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1600.             IEnumTfDisplayAttributeInfo * This,
  1601.             /* [in] */ ULONG ulCount,
  1602.             /* [length_is][size_is][out] */ ITfDisplayAttributeInfo **rgInfo,
  1603.             /* [out] */ ULONG *pcFetched);
  1604.         
  1605.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1606.             IEnumTfDisplayAttributeInfo * This);
  1607.         
  1608.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1609.             IEnumTfDisplayAttributeInfo * This,
  1610.             /* [in] */ ULONG ulCount);
  1611.         
  1612.         END_INTERFACE
  1613.     } IEnumTfDisplayAttributeInfoVtbl;
  1614.     interface IEnumTfDisplayAttributeInfo
  1615.     {
  1616.         CONST_VTBL struct IEnumTfDisplayAttributeInfoVtbl *lpVtbl;
  1617.     };
  1618.     
  1619. #ifdef COBJMACROS
  1620. #define IEnumTfDisplayAttributeInfo_QueryInterface(This,riid,ppvObject)
  1621.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1622. #define IEnumTfDisplayAttributeInfo_AddRef(This)
  1623.     (This)->lpVtbl -> AddRef(This)
  1624. #define IEnumTfDisplayAttributeInfo_Release(This)
  1625.     (This)->lpVtbl -> Release(This)
  1626. #define IEnumTfDisplayAttributeInfo_Clone(This,ppEnum)
  1627.     (This)->lpVtbl -> Clone(This,ppEnum)
  1628. #define IEnumTfDisplayAttributeInfo_Next(This,ulCount,rgInfo,pcFetched)
  1629.     (This)->lpVtbl -> Next(This,ulCount,rgInfo,pcFetched)
  1630. #define IEnumTfDisplayAttributeInfo_Reset(This)
  1631.     (This)->lpVtbl -> Reset(This)
  1632. #define IEnumTfDisplayAttributeInfo_Skip(This,ulCount)
  1633.     (This)->lpVtbl -> Skip(This,ulCount)
  1634. #endif /* COBJMACROS */
  1635. #endif  /* C style interface */
  1636. HRESULT STDMETHODCALLTYPE IEnumTfDisplayAttributeInfo_Clone_Proxy( 
  1637.     IEnumTfDisplayAttributeInfo * This,
  1638.     /* [out] */ IEnumTfDisplayAttributeInfo **ppEnum);
  1639. void __RPC_STUB IEnumTfDisplayAttributeInfo_Clone_Stub(
  1640.     IRpcStubBuffer *This,
  1641.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1642.     PRPC_MESSAGE _pRpcMessage,
  1643.     DWORD *_pdwStubPhase);
  1644. HRESULT STDMETHODCALLTYPE IEnumTfDisplayAttributeInfo_Next_Proxy( 
  1645.     IEnumTfDisplayAttributeInfo * This,
  1646.     /* [in] */ ULONG ulCount,
  1647.     /* [length_is][size_is][out] */ ITfDisplayAttributeInfo **rgInfo,
  1648.     /* [out] */ ULONG *pcFetched);
  1649. void __RPC_STUB IEnumTfDisplayAttributeInfo_Next_Stub(
  1650.     IRpcStubBuffer *This,
  1651.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1652.     PRPC_MESSAGE _pRpcMessage,
  1653.     DWORD *_pdwStubPhase);
  1654. HRESULT STDMETHODCALLTYPE IEnumTfDisplayAttributeInfo_Reset_Proxy( 
  1655.     IEnumTfDisplayAttributeInfo * This);
  1656. void __RPC_STUB IEnumTfDisplayAttributeInfo_Reset_Stub(
  1657.     IRpcStubBuffer *This,
  1658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1659.     PRPC_MESSAGE _pRpcMessage,
  1660.     DWORD *_pdwStubPhase);
  1661. HRESULT STDMETHODCALLTYPE IEnumTfDisplayAttributeInfo_Skip_Proxy( 
  1662.     IEnumTfDisplayAttributeInfo * This,
  1663.     /* [in] */ ULONG ulCount);
  1664. void __RPC_STUB IEnumTfDisplayAttributeInfo_Skip_Stub(
  1665.     IRpcStubBuffer *This,
  1666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1667.     PRPC_MESSAGE _pRpcMessage,
  1668.     DWORD *_pdwStubPhase);
  1669. #endif  /* __IEnumTfDisplayAttributeInfo_INTERFACE_DEFINED__ */
  1670. #ifndef __ITfDisplayAttributeProvider_INTERFACE_DEFINED__
  1671. #define __ITfDisplayAttributeProvider_INTERFACE_DEFINED__
  1672. /* interface ITfDisplayAttributeProvider */
  1673. /* [unique][uuid][object] */ 
  1674. EXTERN_C const IID IID_ITfDisplayAttributeProvider;
  1675. #if defined(__cplusplus) && !defined(CINTERFACE)
  1676.     
  1677.     MIDL_INTERFACE("fee47777-163c-4769-996a-6e9c50ad8f54")
  1678.     ITfDisplayAttributeProvider : public IUnknown
  1679.     {
  1680.     public:
  1681.         virtual HRESULT STDMETHODCALLTYPE EnumDisplayAttributeInfo( 
  1682.             /* [out] */ IEnumTfDisplayAttributeInfo **ppEnum) = 0;
  1683.         
  1684.         virtual HRESULT STDMETHODCALLTYPE GetDisplayAttributeInfo( 
  1685.             /* [in] */ REFGUID guid,
  1686.             /* [out] */ ITfDisplayAttributeInfo **ppInfo) = 0;
  1687.         
  1688.     };
  1689.     
  1690. #else  /* C style interface */
  1691.     typedef struct ITfDisplayAttributeProviderVtbl
  1692.     {
  1693.         BEGIN_INTERFACE
  1694.         
  1695.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1696.             ITfDisplayAttributeProvider * This,
  1697.             /* [in] */ REFIID riid,
  1698.             /* [iid_is][out] */ void **ppvObject);
  1699.         
  1700.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1701.             ITfDisplayAttributeProvider * This);
  1702.         
  1703.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1704.             ITfDisplayAttributeProvider * This);
  1705.         
  1706.         HRESULT ( STDMETHODCALLTYPE *EnumDisplayAttributeInfo )( 
  1707.             ITfDisplayAttributeProvider * This,
  1708.             /* [out] */ IEnumTfDisplayAttributeInfo **ppEnum);
  1709.         
  1710.         HRESULT ( STDMETHODCALLTYPE *GetDisplayAttributeInfo )( 
  1711.             ITfDisplayAttributeProvider * This,
  1712.             /* [in] */ REFGUID guid,
  1713.             /* [out] */ ITfDisplayAttributeInfo **ppInfo);
  1714.         
  1715.         END_INTERFACE
  1716.     } ITfDisplayAttributeProviderVtbl;
  1717.     interface ITfDisplayAttributeProvider
  1718.     {
  1719.         CONST_VTBL struct ITfDisplayAttributeProviderVtbl *lpVtbl;
  1720.     };
  1721.     
  1722. #ifdef COBJMACROS
  1723. #define ITfDisplayAttributeProvider_QueryInterface(This,riid,ppvObject)
  1724.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1725. #define ITfDisplayAttributeProvider_AddRef(This)
  1726.     (This)->lpVtbl -> AddRef(This)
  1727. #define ITfDisplayAttributeProvider_Release(This)
  1728.     (This)->lpVtbl -> Release(This)
  1729. #define ITfDisplayAttributeProvider_EnumDisplayAttributeInfo(This,ppEnum)
  1730.     (This)->lpVtbl -> EnumDisplayAttributeInfo(This,ppEnum)
  1731. #define ITfDisplayAttributeProvider_GetDisplayAttributeInfo(This,guid,ppInfo)
  1732.     (This)->lpVtbl -> GetDisplayAttributeInfo(This,guid,ppInfo)
  1733. #endif /* COBJMACROS */
  1734. #endif  /* C style interface */
  1735. HRESULT STDMETHODCALLTYPE ITfDisplayAttributeProvider_EnumDisplayAttributeInfo_Proxy( 
  1736.     ITfDisplayAttributeProvider * This,
  1737.     /* [out] */ IEnumTfDisplayAttributeInfo **ppEnum);
  1738. void __RPC_STUB ITfDisplayAttributeProvider_EnumDisplayAttributeInfo_Stub(
  1739.     IRpcStubBuffer *This,
  1740.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1741.     PRPC_MESSAGE _pRpcMessage,
  1742.     DWORD *_pdwStubPhase);
  1743. HRESULT STDMETHODCALLTYPE ITfDisplayAttributeProvider_GetDisplayAttributeInfo_Proxy( 
  1744.     ITfDisplayAttributeProvider * This,
  1745.     /* [in] */ REFGUID guid,
  1746.     /* [out] */ ITfDisplayAttributeInfo **ppInfo);
  1747. void __RPC_STUB ITfDisplayAttributeProvider_GetDisplayAttributeInfo_Stub(
  1748.     IRpcStubBuffer *This,
  1749.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1750.     PRPC_MESSAGE _pRpcMessage,
  1751.     DWORD *_pdwStubPhase);
  1752. #endif  /* __ITfDisplayAttributeProvider_INTERFACE_DEFINED__ */
  1753. #ifndef __ITfDisplayAttributeMgr_INTERFACE_DEFINED__
  1754. #define __ITfDisplayAttributeMgr_INTERFACE_DEFINED__
  1755. /* interface ITfDisplayAttributeMgr */
  1756. /* [unique][uuid][local][object] */ 
  1757. EXTERN_C const IID IID_ITfDisplayAttributeMgr;
  1758. #if defined(__cplusplus) && !defined(CINTERFACE)
  1759.     
  1760.     MIDL_INTERFACE("8ded7393-5db1-475c-9e71-a39111b0ff67")
  1761.     ITfDisplayAttributeMgr : public IUnknown
  1762.     {
  1763.     public:
  1764.         virtual HRESULT STDMETHODCALLTYPE OnUpdateInfo( void) = 0;
  1765.         
  1766.         virtual HRESULT STDMETHODCALLTYPE EnumDisplayAttributeInfo( 
  1767.             /* [out] */ IEnumTfDisplayAttributeInfo **ppEnum) = 0;
  1768.         
  1769.         virtual HRESULT STDMETHODCALLTYPE GetDisplayAttributeInfo( 
  1770.             /* [in] */ REFGUID guid,
  1771.             /* [out] */ ITfDisplayAttributeInfo **ppInfo,
  1772.             /* [out] */ CLSID *pclsidOwner) = 0;
  1773.         
  1774.     };
  1775.     
  1776. #else  /* C style interface */
  1777.     typedef struct ITfDisplayAttributeMgrVtbl
  1778.     {
  1779.         BEGIN_INTERFACE
  1780.         
  1781.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1782.             ITfDisplayAttributeMgr * This,
  1783.             /* [in] */ REFIID riid,
  1784.             /* [iid_is][out] */ void **ppvObject);
  1785.         
  1786.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1787.             ITfDisplayAttributeMgr * This);
  1788.         
  1789.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1790.             ITfDisplayAttributeMgr * This);
  1791.         
  1792.         HRESULT ( STDMETHODCALLTYPE *OnUpdateInfo )( 
  1793.             ITfDisplayAttributeMgr * This);
  1794.         
  1795.         HRESULT ( STDMETHODCALLTYPE *EnumDisplayAttributeInfo )( 
  1796.             ITfDisplayAttributeMgr * This,
  1797.             /* [out] */ IEnumTfDisplayAttributeInfo **ppEnum);
  1798.         
  1799.         HRESULT ( STDMETHODCALLTYPE *GetDisplayAttributeInfo )( 
  1800.             ITfDisplayAttributeMgr * This,
  1801.             /* [in] */ REFGUID guid,
  1802.             /* [out] */ ITfDisplayAttributeInfo **ppInfo,
  1803.             /* [out] */ CLSID *pclsidOwner);
  1804.         
  1805.         END_INTERFACE
  1806.     } ITfDisplayAttributeMgrVtbl;
  1807.     interface ITfDisplayAttributeMgr
  1808.     {
  1809.         CONST_VTBL struct ITfDisplayAttributeMgrVtbl *lpVtbl;
  1810.     };
  1811.     
  1812. #ifdef COBJMACROS
  1813. #define ITfDisplayAttributeMgr_QueryInterface(This,riid,ppvObject)
  1814.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1815. #define ITfDisplayAttributeMgr_AddRef(This)
  1816.     (This)->lpVtbl -> AddRef(This)
  1817. #define ITfDisplayAttributeMgr_Release(This)
  1818.     (This)->lpVtbl -> Release(This)
  1819. #define ITfDisplayAttributeMgr_OnUpdateInfo(This)
  1820.     (This)->lpVtbl -> OnUpdateInfo(This)
  1821. #define ITfDisplayAttributeMgr_EnumDisplayAttributeInfo(This,ppEnum)
  1822.     (This)->lpVtbl -> EnumDisplayAttributeInfo(This,ppEnum)
  1823. #define ITfDisplayAttributeMgr_GetDisplayAttributeInfo(This,guid,ppInfo,pclsidOwner)
  1824.     (This)->lpVtbl -> GetDisplayAttributeInfo(This,guid,ppInfo,pclsidOwner)
  1825. #endif /* COBJMACROS */
  1826. #endif  /* C style interface */
  1827. HRESULT STDMETHODCALLTYPE ITfDisplayAttributeMgr_OnUpdateInfo_Proxy( 
  1828.     ITfDisplayAttributeMgr * This);
  1829. void __RPC_STUB ITfDisplayAttributeMgr_OnUpdateInfo_Stub(
  1830.     IRpcStubBuffer *This,
  1831.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1832.     PRPC_MESSAGE _pRpcMessage,
  1833.     DWORD *_pdwStubPhase);
  1834. HRESULT STDMETHODCALLTYPE ITfDisplayAttributeMgr_EnumDisplayAttributeInfo_Proxy( 
  1835.     ITfDisplayAttributeMgr * This,
  1836.     /* [out] */ IEnumTfDisplayAttributeInfo **ppEnum);
  1837. void __RPC_STUB ITfDisplayAttributeMgr_EnumDisplayAttributeInfo_Stub(
  1838.     IRpcStubBuffer *This,
  1839.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1840.     PRPC_MESSAGE _pRpcMessage,
  1841.     DWORD *_pdwStubPhase);
  1842. HRESULT STDMETHODCALLTYPE ITfDisplayAttributeMgr_GetDisplayAttributeInfo_Proxy( 
  1843.     ITfDisplayAttributeMgr * This,
  1844.     /* [in] */ REFGUID guid,
  1845.     /* [out] */ ITfDisplayAttributeInfo **ppInfo,
  1846.     /* [out] */ CLSID *pclsidOwner);
  1847. void __RPC_STUB ITfDisplayAttributeMgr_GetDisplayAttributeInfo_Stub(
  1848.     IRpcStubBuffer *This,
  1849.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1850.     PRPC_MESSAGE _pRpcMessage,
  1851.     DWORD *_pdwStubPhase);
  1852. #endif  /* __ITfDisplayAttributeMgr_INTERFACE_DEFINED__ */
  1853. #ifndef __ITfDisplayAttributeNotifySink_INTERFACE_DEFINED__
  1854. #define __ITfDisplayAttributeNotifySink_INTERFACE_DEFINED__
  1855. /* interface ITfDisplayAttributeNotifySink */
  1856. /* [unique][uuid][object] */ 
  1857. EXTERN_C const IID IID_ITfDisplayAttributeNotifySink;
  1858. #if defined(__cplusplus) && !defined(CINTERFACE)
  1859.     
  1860.     MIDL_INTERFACE("ad56f402-e162-4f25-908f-7d577cf9bda9")
  1861.     ITfDisplayAttributeNotifySink : public IUnknown
  1862.     {
  1863.     public:
  1864.         virtual HRESULT STDMETHODCALLTYPE OnUpdateInfo( void) = 0;
  1865.         
  1866.     };
  1867.     
  1868. #else  /* C style interface */
  1869.     typedef struct ITfDisplayAttributeNotifySinkVtbl
  1870.     {
  1871.         BEGIN_INTERFACE
  1872.         
  1873.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1874.             ITfDisplayAttributeNotifySink * This,
  1875.             /* [in] */ REFIID riid,
  1876.             /* [iid_is][out] */ void **ppvObject);
  1877.         
  1878.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1879.             ITfDisplayAttributeNotifySink * This);
  1880.         
  1881.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1882.             ITfDisplayAttributeNotifySink * This);
  1883.         
  1884.         HRESULT ( STDMETHODCALLTYPE *OnUpdateInfo )( 
  1885.             ITfDisplayAttributeNotifySink * This);
  1886.         
  1887.         END_INTERFACE
  1888.     } ITfDisplayAttributeNotifySinkVtbl;
  1889.     interface ITfDisplayAttributeNotifySink
  1890.     {
  1891.         CONST_VTBL struct ITfDisplayAttributeNotifySinkVtbl *lpVtbl;
  1892.     };
  1893.     
  1894. #ifdef COBJMACROS
  1895. #define ITfDisplayAttributeNotifySink_QueryInterface(This,riid,ppvObject)
  1896.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1897. #define ITfDisplayAttributeNotifySink_AddRef(This)
  1898.     (This)->lpVtbl -> AddRef(This)
  1899. #define ITfDisplayAttributeNotifySink_Release(This)
  1900.     (This)->lpVtbl -> Release(This)
  1901. #define ITfDisplayAttributeNotifySink_OnUpdateInfo(This)
  1902.     (This)->lpVtbl -> OnUpdateInfo(This)
  1903. #endif /* COBJMACROS */
  1904. #endif  /* C style interface */
  1905. HRESULT STDMETHODCALLTYPE ITfDisplayAttributeNotifySink_OnUpdateInfo_Proxy( 
  1906.     ITfDisplayAttributeNotifySink * This);
  1907. void __RPC_STUB ITfDisplayAttributeNotifySink_OnUpdateInfo_Stub(
  1908.     IRpcStubBuffer *This,
  1909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1910.     PRPC_MESSAGE _pRpcMessage,
  1911.     DWORD *_pdwStubPhase);
  1912. #endif  /* __ITfDisplayAttributeNotifySink_INTERFACE_DEFINED__ */
  1913. #ifndef __ITfCategoryMgr_INTERFACE_DEFINED__
  1914. #define __ITfCategoryMgr_INTERFACE_DEFINED__
  1915. /* interface ITfCategoryMgr */
  1916. /* [unique][uuid][local][object] */ 
  1917. EXTERN_C const IID IID_ITfCategoryMgr;
  1918. #if defined(__cplusplus) && !defined(CINTERFACE)
  1919.     
  1920.     MIDL_INTERFACE("c3acefb5-f69d-4905-938f-fcadcf4be830")
  1921.     ITfCategoryMgr : public IUnknown
  1922.     {
  1923.     public:
  1924.         virtual HRESULT STDMETHODCALLTYPE RegisterCategory( 
  1925.             /* [in] */ REFCLSID rclsid,
  1926.             /* [in] */ REFGUID rcatid,
  1927.             /* [in] */ REFGUID rguid) = 0;
  1928.         
  1929.         virtual HRESULT STDMETHODCALLTYPE UnregisterCategory( 
  1930.             /* [in] */ REFCLSID rclsid,
  1931.             /* [in] */ REFGUID rcatid,
  1932.             /* [in] */ REFGUID rguid) = 0;
  1933.         
  1934.         virtual HRESULT STDMETHODCALLTYPE EnumCategoriesInItem( 
  1935.             /* [in] */ REFGUID rguid,
  1936.             /* [out] */ IEnumGUID **ppEnum) = 0;
  1937.         
  1938.         virtual HRESULT STDMETHODCALLTYPE EnumItemsInCategory( 
  1939.             /* [in] */ REFGUID rcatid,
  1940.             /* [out] */ IEnumGUID **ppEnum) = 0;
  1941.         
  1942.         virtual HRESULT STDMETHODCALLTYPE FindClosestCategory( 
  1943.             /* [in] */ REFGUID rguid,
  1944.             /* [out] */ GUID *pcatid,
  1945.             /* [size_is][in] */ const GUID **ppcatidList,
  1946.             /* [in] */ ULONG ulCount) = 0;
  1947.         
  1948.         virtual HRESULT STDMETHODCALLTYPE RegisterGUIDDescription( 
  1949.             /* [in] */ REFCLSID rclsid,
  1950.             /* [in] */ REFGUID rguid,
  1951.             /* [size_is][in] */ const WCHAR *pchDesc,
  1952.             /* [in] */ ULONG cch) = 0;
  1953.         
  1954.         virtual HRESULT STDMETHODCALLTYPE UnregisterGUIDDescription( 
  1955.             /* [in] */ REFCLSID rclsid,
  1956.             /* [in] */ REFGUID rguid) = 0;
  1957.         
  1958.         virtual HRESULT STDMETHODCALLTYPE GetGUIDDescription( 
  1959.             /* [in] */ REFGUID rguid,
  1960.             /* [out] */ BSTR *pbstrDesc) = 0;
  1961.         
  1962.         virtual HRESULT STDMETHODCALLTYPE RegisterGUIDDWORD( 
  1963.             /* [in] */ REFCLSID rclsid,
  1964.             /* [in] */ REFGUID rguid,
  1965.             /* [in] */ DWORD dw) = 0;
  1966.         
  1967.         virtual HRESULT STDMETHODCALLTYPE UnregisterGUIDDWORD( 
  1968.             /* [in] */ REFCLSID rclsid,
  1969.             /* [in] */ REFGUID rguid) = 0;
  1970.         
  1971.         virtual HRESULT STDMETHODCALLTYPE GetGUIDDWORD( 
  1972.             /* [in] */ REFGUID rguid,
  1973.             /* [out] */ DWORD *pdw) = 0;
  1974.         
  1975.         virtual HRESULT STDMETHODCALLTYPE RegisterGUID( 
  1976.             /* [in] */ REFGUID rguid,
  1977.             /* [out] */ TfGuidAtom *pguidatom) = 0;
  1978.         
  1979.         virtual HRESULT STDMETHODCALLTYPE GetGUID( 
  1980.             /* [in] */ TfGuidAtom guidatom,
  1981.             /* [out] */ GUID *pguid) = 0;
  1982.         
  1983.         virtual HRESULT STDMETHODCALLTYPE IsEqualTfGuidAtom( 
  1984.             /* [in] */ TfGuidAtom guidatom,
  1985.             /* [in] */ REFGUID rguid,
  1986.             /* [out] */ BOOL *pfEqual) = 0;
  1987.         
  1988.     };
  1989.     
  1990. #else  /* C style interface */
  1991.     typedef struct ITfCategoryMgrVtbl
  1992.     {
  1993.         BEGIN_INTERFACE
  1994.         
  1995.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1996.             ITfCategoryMgr * This,
  1997.             /* [in] */ REFIID riid,
  1998.             /* [iid_is][out] */ void **ppvObject);
  1999.         
  2000.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2001.             ITfCategoryMgr * This);
  2002.         
  2003.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2004.             ITfCategoryMgr * This);
  2005.         
  2006.         HRESULT ( STDMETHODCALLTYPE *RegisterCategory )( 
  2007.             ITfCategoryMgr * This,
  2008.             /* [in] */ REFCLSID rclsid,
  2009.             /* [in] */ REFGUID rcatid,
  2010.             /* [in] */ REFGUID rguid);
  2011.         
  2012.         HRESULT ( STDMETHODCALLTYPE *UnregisterCategory )( 
  2013.             ITfCategoryMgr * This,
  2014.             /* [in] */ REFCLSID rclsid,
  2015.             /* [in] */ REFGUID rcatid,
  2016.             /* [in] */ REFGUID rguid);
  2017.         
  2018.         HRESULT ( STDMETHODCALLTYPE *EnumCategoriesInItem )( 
  2019.             ITfCategoryMgr * This,
  2020.             /* [in] */ REFGUID rguid,
  2021.             /* [out] */ IEnumGUID **ppEnum);
  2022.         
  2023.         HRESULT ( STDMETHODCALLTYPE *EnumItemsInCategory )( 
  2024.             ITfCategoryMgr * This,
  2025.             /* [in] */ REFGUID rcatid,
  2026.             /* [out] */ IEnumGUID **ppEnum);
  2027.         
  2028.         HRESULT ( STDMETHODCALLTYPE *FindClosestCategory )( 
  2029.             ITfCategoryMgr * This,
  2030.             /* [in] */ REFGUID rguid,
  2031.             /* [out] */ GUID *pcatid,
  2032.             /* [size_is][in] */ const GUID **ppcatidList,
  2033.             /* [in] */ ULONG ulCount);
  2034.         
  2035.         HRESULT ( STDMETHODCALLTYPE *RegisterGUIDDescription )( 
  2036.             ITfCategoryMgr * This,
  2037.             /* [in] */ REFCLSID rclsid,
  2038.             /* [in] */ REFGUID rguid,
  2039.             /* [size_is][in] */ const WCHAR *pchDesc,
  2040.             /* [in] */ ULONG cch);
  2041.         
  2042.         HRESULT ( STDMETHODCALLTYPE *UnregisterGUIDDescription )( 
  2043.             ITfCategoryMgr * This,
  2044.             /* [in] */ REFCLSID rclsid,
  2045.             /* [in] */ REFGUID rguid);
  2046.         
  2047.         HRESULT ( STDMETHODCALLTYPE *GetGUIDDescription )( 
  2048.             ITfCategoryMgr * This,
  2049.             /* [in] */ REFGUID rguid,
  2050.             /* [out] */ BSTR *pbstrDesc);
  2051.         
  2052.         HRESULT ( STDMETHODCALLTYPE *RegisterGUIDDWORD )( 
  2053.             ITfCategoryMgr * This,
  2054.             /* [in] */ REFCLSID rclsid,
  2055.             /* [in] */ REFGUID rguid,
  2056.             /* [in] */ DWORD dw);
  2057.         
  2058.         HRESULT ( STDMETHODCALLTYPE *UnregisterGUIDDWORD )( 
  2059.             ITfCategoryMgr * This,
  2060.             /* [in] */ REFCLSID rclsid,
  2061.             /* [in] */ REFGUID rguid);
  2062.         
  2063.         HRESULT ( STDMETHODCALLTYPE *GetGUIDDWORD )( 
  2064.             ITfCategoryMgr * This,
  2065.             /* [in] */ REFGUID rguid,
  2066.             /* [out] */ DWORD *pdw);
  2067.         
  2068.         HRESULT ( STDMETHODCALLTYPE *RegisterGUID )( 
  2069.             ITfCategoryMgr * This,
  2070.             /* [in] */ REFGUID rguid,
  2071.             /* [out] */ TfGuidAtom *pguidatom);
  2072.         
  2073.         HRESULT ( STDMETHODCALLTYPE *GetGUID )( 
  2074.             ITfCategoryMgr * This,
  2075.             /* [in] */ TfGuidAtom guidatom,
  2076.             /* [out] */ GUID *pguid);
  2077.         
  2078.         HRESULT ( STDMETHODCALLTYPE *IsEqualTfGuidAtom )( 
  2079.             ITfCategoryMgr * This,
  2080.             /* [in] */ TfGuidAtom guidatom,
  2081.             /* [in] */ REFGUID rguid,
  2082.             /* [out] */ BOOL *pfEqual);
  2083.         
  2084.         END_INTERFACE
  2085.     } ITfCategoryMgrVtbl;
  2086.     interface ITfCategoryMgr
  2087.     {
  2088.         CONST_VTBL struct ITfCategoryMgrVtbl *lpVtbl;
  2089.     };
  2090.     
  2091. #ifdef COBJMACROS
  2092. #define ITfCategoryMgr_QueryInterface(This,riid,ppvObject)
  2093.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2094. #define ITfCategoryMgr_AddRef(This)
  2095.     (This)->lpVtbl -> AddRef(This)
  2096. #define ITfCategoryMgr_Release(This)
  2097.     (This)->lpVtbl -> Release(This)
  2098. #define ITfCategoryMgr_RegisterCategory(This,rclsid,rcatid,rguid)
  2099.     (This)->lpVtbl -> RegisterCategory(This,rclsid,rcatid,rguid)
  2100. #define ITfCategoryMgr_UnregisterCategory(This,rclsid,rcatid,rguid)
  2101.     (This)->lpVtbl -> UnregisterCategory(This,rclsid,rcatid,rguid)
  2102. #define ITfCategoryMgr_EnumCategoriesInItem(This,rguid,ppEnum)
  2103.     (This)->lpVtbl -> EnumCategoriesInItem(This,rguid,ppEnum)
  2104. #define ITfCategoryMgr_EnumItemsInCategory(This,rcatid,ppEnum)
  2105.     (This)->lpVtbl -> EnumItemsInCategory(This,rcatid,ppEnum)
  2106. #define ITfCategoryMgr_FindClosestCategory(This,rguid,pcatid,ppcatidList,ulCount)
  2107.     (This)->lpVtbl -> FindClosestCategory(This,rguid,pcatid,ppcatidList,ulCount)
  2108. #define ITfCategoryMgr_RegisterGUIDDescription(This,rclsid,rguid,pchDesc,cch)
  2109.     (This)->lpVtbl -> RegisterGUIDDescription(This,rclsid,rguid,pchDesc,cch)
  2110. #define ITfCategoryMgr_UnregisterGUIDDescription(This,rclsid,rguid)
  2111.     (This)->lpVtbl -> UnregisterGUIDDescription(This,rclsid,rguid)
  2112. #define ITfCategoryMgr_GetGUIDDescription(This,rguid,pbstrDesc)
  2113.     (This)->lpVtbl -> GetGUIDDescription(This,rguid,pbstrDesc)
  2114. #define ITfCategoryMgr_RegisterGUIDDWORD(This,rclsid,rguid,dw)
  2115.     (This)->lpVtbl -> RegisterGUIDDWORD(This,rclsid,rguid,dw)
  2116. #define ITfCategoryMgr_UnregisterGUIDDWORD(This,rclsid,rguid)
  2117.     (This)->lpVtbl -> UnregisterGUIDDWORD(This,rclsid,rguid)
  2118. #define ITfCategoryMgr_GetGUIDDWORD(This,rguid,pdw)
  2119.     (This)->lpVtbl -> GetGUIDDWORD(This,rguid,pdw)
  2120. #define ITfCategoryMgr_RegisterGUID(This,rguid,pguidatom)
  2121.     (This)->lpVtbl -> RegisterGUID(This,rguid,pguidatom)
  2122. #define ITfCategoryMgr_GetGUID(This,guidatom,pguid)
  2123.     (This)->lpVtbl -> GetGUID(This,guidatom,pguid)
  2124. #define ITfCategoryMgr_IsEqualTfGuidAtom(This,guidatom,rguid,pfEqual)
  2125.     (This)->lpVtbl -> IsEqualTfGuidAtom(This,guidatom,rguid,pfEqual)
  2126. #endif /* COBJMACROS */
  2127. #endif  /* C style interface */
  2128. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_RegisterCategory_Proxy( 
  2129.     ITfCategoryMgr * This,
  2130.     /* [in] */ REFCLSID rclsid,
  2131.     /* [in] */ REFGUID rcatid,
  2132.     /* [in] */ REFGUID rguid);
  2133. void __RPC_STUB ITfCategoryMgr_RegisterCategory_Stub(
  2134.     IRpcStubBuffer *This,
  2135.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2136.     PRPC_MESSAGE _pRpcMessage,
  2137.     DWORD *_pdwStubPhase);
  2138. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_UnregisterCategory_Proxy( 
  2139.     ITfCategoryMgr * This,
  2140.     /* [in] */ REFCLSID rclsid,
  2141.     /* [in] */ REFGUID rcatid,
  2142.     /* [in] */ REFGUID rguid);
  2143. void __RPC_STUB ITfCategoryMgr_UnregisterCategory_Stub(
  2144.     IRpcStubBuffer *This,
  2145.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2146.     PRPC_MESSAGE _pRpcMessage,
  2147.     DWORD *_pdwStubPhase);
  2148. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_EnumCategoriesInItem_Proxy( 
  2149.     ITfCategoryMgr * This,
  2150.     /* [in] */ REFGUID rguid,
  2151.     /* [out] */ IEnumGUID **ppEnum);
  2152. void __RPC_STUB ITfCategoryMgr_EnumCategoriesInItem_Stub(
  2153.     IRpcStubBuffer *This,
  2154.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2155.     PRPC_MESSAGE _pRpcMessage,
  2156.     DWORD *_pdwStubPhase);
  2157. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_EnumItemsInCategory_Proxy( 
  2158.     ITfCategoryMgr * This,
  2159.     /* [in] */ REFGUID rcatid,
  2160.     /* [out] */ IEnumGUID **ppEnum);
  2161. void __RPC_STUB ITfCategoryMgr_EnumItemsInCategory_Stub(
  2162.     IRpcStubBuffer *This,
  2163.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2164.     PRPC_MESSAGE _pRpcMessage,
  2165.     DWORD *_pdwStubPhase);
  2166. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_FindClosestCategory_Proxy( 
  2167.     ITfCategoryMgr * This,
  2168.     /* [in] */ REFGUID rguid,
  2169.     /* [out] */ GUID *pcatid,
  2170.     /* [size_is][in] */ const GUID **ppcatidList,
  2171.     /* [in] */ ULONG ulCount);
  2172. void __RPC_STUB ITfCategoryMgr_FindClosestCategory_Stub(
  2173.     IRpcStubBuffer *This,
  2174.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2175.     PRPC_MESSAGE _pRpcMessage,
  2176.     DWORD *_pdwStubPhase);
  2177. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_RegisterGUIDDescription_Proxy( 
  2178.     ITfCategoryMgr * This,
  2179.     /* [in] */ REFCLSID rclsid,
  2180.     /* [in] */ REFGUID rguid,
  2181.     /* [size_is][in] */ const WCHAR *pchDesc,
  2182.     /* [in] */ ULONG cch);
  2183. void __RPC_STUB ITfCategoryMgr_RegisterGUIDDescription_Stub(
  2184.     IRpcStubBuffer *This,
  2185.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2186.     PRPC_MESSAGE _pRpcMessage,
  2187.     DWORD *_pdwStubPhase);
  2188. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_UnregisterGUIDDescription_Proxy( 
  2189.     ITfCategoryMgr * This,
  2190.     /* [in] */ REFCLSID rclsid,
  2191.     /* [in] */ REFGUID rguid);
  2192. void __RPC_STUB ITfCategoryMgr_UnregisterGUIDDescription_Stub(
  2193.     IRpcStubBuffer *This,
  2194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2195.     PRPC_MESSAGE _pRpcMessage,
  2196.     DWORD *_pdwStubPhase);
  2197. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_GetGUIDDescription_Proxy( 
  2198.     ITfCategoryMgr * This,
  2199.     /* [in] */ REFGUID rguid,
  2200.     /* [out] */ BSTR *pbstrDesc);
  2201. void __RPC_STUB ITfCategoryMgr_GetGUIDDescription_Stub(
  2202.     IRpcStubBuffer *This,
  2203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2204.     PRPC_MESSAGE _pRpcMessage,
  2205.     DWORD *_pdwStubPhase);
  2206. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_RegisterGUIDDWORD_Proxy( 
  2207.     ITfCategoryMgr * This,
  2208.     /* [in] */ REFCLSID rclsid,
  2209.     /* [in] */ REFGUID rguid,
  2210.     /* [in] */ DWORD dw);
  2211. void __RPC_STUB ITfCategoryMgr_RegisterGUIDDWORD_Stub(
  2212.     IRpcStubBuffer *This,
  2213.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2214.     PRPC_MESSAGE _pRpcMessage,
  2215.     DWORD *_pdwStubPhase);
  2216. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_UnregisterGUIDDWORD_Proxy( 
  2217.     ITfCategoryMgr * This,
  2218.     /* [in] */ REFCLSID rclsid,
  2219.     /* [in] */ REFGUID rguid);
  2220. void __RPC_STUB ITfCategoryMgr_UnregisterGUIDDWORD_Stub(
  2221.     IRpcStubBuffer *This,
  2222.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2223.     PRPC_MESSAGE _pRpcMessage,
  2224.     DWORD *_pdwStubPhase);
  2225. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_GetGUIDDWORD_Proxy( 
  2226.     ITfCategoryMgr * This,
  2227.     /* [in] */ REFGUID rguid,
  2228.     /* [out] */ DWORD *pdw);
  2229. void __RPC_STUB ITfCategoryMgr_GetGUIDDWORD_Stub(
  2230.     IRpcStubBuffer *This,
  2231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2232.     PRPC_MESSAGE _pRpcMessage,
  2233.     DWORD *_pdwStubPhase);
  2234. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_RegisterGUID_Proxy( 
  2235.     ITfCategoryMgr * This,
  2236.     /* [in] */ REFGUID rguid,
  2237.     /* [out] */ TfGuidAtom *pguidatom);
  2238. void __RPC_STUB ITfCategoryMgr_RegisterGUID_Stub(
  2239.     IRpcStubBuffer *This,
  2240.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2241.     PRPC_MESSAGE _pRpcMessage,
  2242.     DWORD *_pdwStubPhase);
  2243. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_GetGUID_Proxy( 
  2244.     ITfCategoryMgr * This,
  2245.     /* [in] */ TfGuidAtom guidatom,
  2246.     /* [out] */ GUID *pguid);
  2247. void __RPC_STUB ITfCategoryMgr_GetGUID_Stub(
  2248.     IRpcStubBuffer *This,
  2249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2250.     PRPC_MESSAGE _pRpcMessage,
  2251.     DWORD *_pdwStubPhase);
  2252. HRESULT STDMETHODCALLTYPE ITfCategoryMgr_IsEqualTfGuidAtom_Proxy( 
  2253.     ITfCategoryMgr * This,
  2254.     /* [in] */ TfGuidAtom guidatom,
  2255.     /* [in] */ REFGUID rguid,
  2256.     /* [out] */ BOOL *pfEqual);
  2257. void __RPC_STUB ITfCategoryMgr_IsEqualTfGuidAtom_Stub(
  2258.     IRpcStubBuffer *This,
  2259.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2260.     PRPC_MESSAGE _pRpcMessage,
  2261.     DWORD *_pdwStubPhase);
  2262. #endif  /* __ITfCategoryMgr_INTERFACE_DEFINED__ */
  2263. /* interface __MIDL_itf_msctf_0208 */
  2264. /* [local] */ 
  2265. #define TF_INVALID_COOKIE ( 0xffffffff )
  2266. extern RPC_IF_HANDLE __MIDL_itf_msctf_0208_v0_0_c_ifspec;
  2267. extern RPC_IF_HANDLE __MIDL_itf_msctf_0208_v0_0_s_ifspec;
  2268. #ifndef __ITfSource_INTERFACE_DEFINED__
  2269. #define __ITfSource_INTERFACE_DEFINED__
  2270. /* interface ITfSource */
  2271. /* [unique][uuid][object] */ 
  2272. EXTERN_C const IID IID_ITfSource;
  2273. #if defined(__cplusplus) && !defined(CINTERFACE)
  2274.     
  2275.     MIDL_INTERFACE("4ea48a35-60ae-446f-8fd6-e6a8d82459f7")
  2276.     ITfSource : public IUnknown
  2277.     {
  2278.     public:
  2279.         virtual HRESULT STDMETHODCALLTYPE AdviseSink( 
  2280.             /* [in] */ REFIID riid,
  2281.             /* [iid_is][in] */ IUnknown *punk,
  2282.             /* [out] */ DWORD *pdwCookie) = 0;
  2283.         
  2284.         virtual HRESULT STDMETHODCALLTYPE UnadviseSink( 
  2285.             /* [in] */ DWORD dwCookie) = 0;
  2286.         
  2287.     };
  2288.     
  2289. #else  /* C style interface */
  2290.     typedef struct ITfSourceVtbl
  2291.     {
  2292.         BEGIN_INTERFACE
  2293.         
  2294.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2295.             ITfSource * This,
  2296.             /* [in] */ REFIID riid,
  2297.             /* [iid_is][out] */ void **ppvObject);
  2298.         
  2299.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2300.             ITfSource * This);
  2301.         
  2302.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2303.             ITfSource * This);
  2304.         
  2305.         HRESULT ( STDMETHODCALLTYPE *AdviseSink )( 
  2306.             ITfSource * This,
  2307.             /* [in] */ REFIID riid,
  2308.             /* [iid_is][in] */ IUnknown *punk,
  2309.             /* [out] */ DWORD *pdwCookie);
  2310.         
  2311.         HRESULT ( STDMETHODCALLTYPE *UnadviseSink )( 
  2312.             ITfSource * This,
  2313.             /* [in] */ DWORD dwCookie);
  2314.         
  2315.         END_INTERFACE
  2316.     } ITfSourceVtbl;
  2317.     interface ITfSource
  2318.     {
  2319.         CONST_VTBL struct ITfSourceVtbl *lpVtbl;
  2320.     };
  2321.     
  2322. #ifdef COBJMACROS
  2323. #define ITfSource_QueryInterface(This,riid,ppvObject)
  2324.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2325. #define ITfSource_AddRef(This)
  2326.     (This)->lpVtbl -> AddRef(This)
  2327. #define ITfSource_Release(This)
  2328.     (This)->lpVtbl -> Release(This)
  2329. #define ITfSource_AdviseSink(This,riid,punk,pdwCookie)
  2330.     (This)->lpVtbl -> AdviseSink(This,riid,punk,pdwCookie)
  2331. #define ITfSource_UnadviseSink(This,dwCookie)
  2332.     (This)->lpVtbl -> UnadviseSink(This,dwCookie)
  2333. #endif /* COBJMACROS */
  2334. #endif  /* C style interface */
  2335. HRESULT STDMETHODCALLTYPE ITfSource_AdviseSink_Proxy( 
  2336.     ITfSource * This,
  2337.     /* [in] */ REFIID riid,
  2338.     /* [iid_is][in] */ IUnknown *punk,
  2339.     /* [out] */ DWORD *pdwCookie);
  2340. void __RPC_STUB ITfSource_AdviseSink_Stub(
  2341.     IRpcStubBuffer *This,
  2342.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2343.     PRPC_MESSAGE _pRpcMessage,
  2344.     DWORD *_pdwStubPhase);
  2345. HRESULT STDMETHODCALLTYPE ITfSource_UnadviseSink_Proxy( 
  2346.     ITfSource * This,
  2347.     /* [in] */ DWORD dwCookie);
  2348. void __RPC_STUB ITfSource_UnadviseSink_Stub(
  2349.     IRpcStubBuffer *This,
  2350.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2351.     PRPC_MESSAGE _pRpcMessage,
  2352.     DWORD *_pdwStubPhase);
  2353. #endif  /* __ITfSource_INTERFACE_DEFINED__ */
  2354. #ifndef __ITfSourceSingle_INTERFACE_DEFINED__
  2355. #define __ITfSourceSingle_INTERFACE_DEFINED__
  2356. /* interface ITfSourceSingle */
  2357. /* [unique][uuid][object] */ 
  2358. EXTERN_C const IID IID_ITfSourceSingle;
  2359. #if defined(__cplusplus) && !defined(CINTERFACE)
  2360.     
  2361.     MIDL_INTERFACE("73131f9c-56a9-49dd-b0ee-d046633f7528")
  2362.     ITfSourceSingle : public IUnknown
  2363.     {
  2364.     public:
  2365.         virtual HRESULT STDMETHODCALLTYPE AdviseSingleSink( 
  2366.             /* [in] */ TfClientId tid,
  2367.             /* [in] */ REFIID riid,
  2368.             /* [iid_is][in] */ IUnknown *punk) = 0;
  2369.         
  2370.         virtual HRESULT STDMETHODCALLTYPE UnadviseSingleSink( 
  2371.             /* [in] */ TfClientId tid,
  2372.             /* [in] */ REFIID riid) = 0;
  2373.         
  2374.     };
  2375.     
  2376. #else  /* C style interface */
  2377.     typedef struct ITfSourceSingleVtbl
  2378.     {
  2379.         BEGIN_INTERFACE
  2380.         
  2381.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2382.             ITfSourceSingle * This,
  2383.             /* [in] */ REFIID riid,
  2384.             /* [iid_is][out] */ void **ppvObject);
  2385.         
  2386.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2387.             ITfSourceSingle * This);
  2388.         
  2389.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2390.             ITfSourceSingle * This);
  2391.         
  2392.         HRESULT ( STDMETHODCALLTYPE *AdviseSingleSink )( 
  2393.             ITfSourceSingle * This,
  2394.             /* [in] */ TfClientId tid,
  2395.             /* [in] */ REFIID riid,
  2396.             /* [iid_is][in] */ IUnknown *punk);
  2397.         
  2398.         HRESULT ( STDMETHODCALLTYPE *UnadviseSingleSink )( 
  2399.             ITfSourceSingle * This,
  2400.             /* [in] */ TfClientId tid,
  2401.             /* [in] */ REFIID riid);
  2402.         
  2403.         END_INTERFACE
  2404.     } ITfSourceSingleVtbl;
  2405.     interface ITfSourceSingle
  2406.     {
  2407.         CONST_VTBL struct ITfSourceSingleVtbl *lpVtbl;
  2408.     };
  2409.     
  2410. #ifdef COBJMACROS
  2411. #define ITfSourceSingle_QueryInterface(This,riid,ppvObject)
  2412.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2413. #define ITfSourceSingle_AddRef(This)
  2414.     (This)->lpVtbl -> AddRef(This)
  2415. #define ITfSourceSingle_Release(This)
  2416.     (This)->lpVtbl -> Release(This)
  2417. #define ITfSourceSingle_AdviseSingleSink(This,tid,riid,punk)
  2418.     (This)->lpVtbl -> AdviseSingleSink(This,tid,riid,punk)
  2419. #define ITfSourceSingle_UnadviseSingleSink(This,tid,riid)
  2420.     (This)->lpVtbl -> UnadviseSingleSink(This,tid,riid)
  2421. #endif /* COBJMACROS */
  2422. #endif  /* C style interface */
  2423. HRESULT STDMETHODCALLTYPE ITfSourceSingle_AdviseSingleSink_Proxy( 
  2424.     ITfSourceSingle * This,
  2425.     /* [in] */ TfClientId tid,
  2426.     /* [in] */ REFIID riid,
  2427.     /* [iid_is][in] */ IUnknown *punk);
  2428. void __RPC_STUB ITfSourceSingle_AdviseSingleSink_Stub(
  2429.     IRpcStubBuffer *This,
  2430.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2431.     PRPC_MESSAGE _pRpcMessage,
  2432.     DWORD *_pdwStubPhase);
  2433. HRESULT STDMETHODCALLTYPE ITfSourceSingle_UnadviseSingleSink_Proxy( 
  2434.     ITfSourceSingle * This,
  2435.     /* [in] */ TfClientId tid,
  2436.     /* [in] */ REFIID riid);
  2437. void __RPC_STUB ITfSourceSingle_UnadviseSingleSink_Stub(
  2438.     IRpcStubBuffer *This,
  2439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2440.     PRPC_MESSAGE _pRpcMessage,
  2441.     DWORD *_pdwStubPhase);
  2442. #endif  /* __ITfSourceSingle_INTERFACE_DEFINED__ */
  2443. /* interface __MIDL_itf_msctf_0210 */
  2444. /* [local] */ 
  2445. #endif // MSCTF_DEFINED
  2446. extern RPC_IF_HANDLE __MIDL_itf_msctf_0210_v0_0_c_ifspec;
  2447. extern RPC_IF_HANDLE __MIDL_itf_msctf_0210_v0_0_s_ifspec;
  2448. /* Additional Prototypes for ALL interfaces */
  2449. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
  2450. unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
  2451. unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
  2452. void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
  2453. unsigned long             __RPC_USER  CLIPFORMAT_UserSize(     unsigned long *, unsigned long            , CLIPFORMAT * ); 
  2454. unsigned char * __RPC_USER  CLIPFORMAT_UserMarshal(  unsigned long *, unsigned char *, CLIPFORMAT * ); 
  2455. unsigned char * __RPC_USER  CLIPFORMAT_UserUnmarshal(unsigned long *, unsigned char *, CLIPFORMAT * ); 
  2456. void                      __RPC_USER  CLIPFORMAT_UserFree(     unsigned long *, CLIPFORMAT * ); 
  2457. unsigned long             __RPC_USER  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
  2458. unsigned char * __RPC_USER  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
  2459. unsigned char * __RPC_USER  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
  2460. void                      __RPC_USER  HWND_UserFree(     unsigned long *, HWND * ); 
  2461. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  2462. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  2463. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  2464. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  2465. /* end of Additional Prototypes */
  2466. #ifdef __cplusplus
  2467. }
  2468. #endif
  2469. #endif