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

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for comcat.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __comcat_h__
  27. #define __comcat_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IEnumGUID_FWD_DEFINED__
  33. #define __IEnumGUID_FWD_DEFINED__
  34. typedef interface IEnumGUID IEnumGUID;
  35. #endif  /* __IEnumGUID_FWD_DEFINED__ */
  36. #ifndef __IEnumCATEGORYINFO_FWD_DEFINED__
  37. #define __IEnumCATEGORYINFO_FWD_DEFINED__
  38. typedef interface IEnumCATEGORYINFO IEnumCATEGORYINFO;
  39. #endif  /* __IEnumCATEGORYINFO_FWD_DEFINED__ */
  40. #ifndef __ICatRegister_FWD_DEFINED__
  41. #define __ICatRegister_FWD_DEFINED__
  42. typedef interface ICatRegister ICatRegister;
  43. #endif  /* __ICatRegister_FWD_DEFINED__ */
  44. #ifndef __ICatInformation_FWD_DEFINED__
  45. #define __ICatInformation_FWD_DEFINED__
  46. typedef interface ICatInformation ICatInformation;
  47. #endif  /* __ICatInformation_FWD_DEFINED__ */
  48. /* header files for imported files */
  49. #include "unknwn.h"
  50. #ifdef __cplusplus
  51. extern "C"{
  52. #endif 
  53. void * __RPC_USER MIDL_user_allocate(size_t);
  54. void __RPC_USER MIDL_user_free( void * ); 
  55. /* interface __MIDL_itf_comcat_0000 */
  56. /* [local] */ 
  57. //=--------------------------------------------------------------------------=
  58. // ComCat.h
  59. //=--------------------------------------------------------------------------=
  60. // Copyright (c) Microsoft Corporation. All rights reserved.
  61. //
  62. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  63. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  64. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  65. // PARTICULAR PURPOSE.
  66. //=--------------------------------------------------------------------------=
  67. #pragma comment(lib,"uuid.lib")
  68. //=--------------------------------------------------------------------------=
  69. // OLE Componet Categories Interfaces.
  70. //=--------------------------------------------------------------------------=
  71. //
  72. EXTERN_C const CLSID CLSID_StdComponentCategoriesMgr;
  73. ////////////////////////////////////////////////////////////////////////////
  74. //  Types
  75. typedef GUID CATID;
  76. typedef REFGUID REFCATID;
  77. #define IID_IEnumCLSID              IID_IEnumGUID
  78. #define IEnumCLSID                  IEnumGUID
  79. #define LPENUMCLSID                 LPENUMGUID
  80. #define CATID_NULL                   GUID_NULL
  81. #define IsEqualCATID(rcatid1, rcatid2)       IsEqualGUID(rcatid1, rcatid2)
  82. #define IID_IEnumCATID       IID_IEnumGUID
  83. #define IEnumCATID           IEnumGUID
  84. ////////////////////////////////////////////////////////////////////////////
  85. //  Category IDs (link to uuid3.lib)
  86. EXTERN_C const CATID CATID_Insertable;
  87. EXTERN_C const CATID CATID_Control;
  88. EXTERN_C const CATID CATID_Programmable;
  89. EXTERN_C const CATID CATID_IsShortcut;
  90. EXTERN_C const CATID CATID_NeverShowExt;
  91. EXTERN_C const CATID CATID_DocObject;
  92. EXTERN_C const CATID CATID_Printable;
  93. EXTERN_C const CATID CATID_RequiresDataPathHost;
  94. EXTERN_C const CATID CATID_PersistsToMoniker;
  95. EXTERN_C const CATID CATID_PersistsToStorage;
  96. EXTERN_C const CATID CATID_PersistsToStreamInit;
  97. EXTERN_C const CATID CATID_PersistsToStream;
  98. EXTERN_C const CATID CATID_PersistsToMemory;
  99. EXTERN_C const CATID CATID_PersistsToFile;
  100. EXTERN_C const CATID CATID_PersistsToPropertyBag;
  101. EXTERN_C const CATID CATID_InternetAware;
  102. EXTERN_C const CATID CATID_DesignTimeUIActivatableControl;
  103. ////////////////////////////////////////////////////////////////////////////
  104. //  Interface Definitions
  105. #ifndef _LPENUMGUID_DEFINED
  106. #define _LPENUMGUID_DEFINED
  107. extern RPC_IF_HANDLE __MIDL_itf_comcat_0000_v0_0_c_ifspec;
  108. extern RPC_IF_HANDLE __MIDL_itf_comcat_0000_v0_0_s_ifspec;
  109. #ifndef __IEnumGUID_INTERFACE_DEFINED__
  110. #define __IEnumGUID_INTERFACE_DEFINED__
  111. /* interface IEnumGUID */
  112. /* [unique][uuid][object] */ 
  113. typedef /* [unique] */ IEnumGUID *LPENUMGUID;
  114. EXTERN_C const IID IID_IEnumGUID;
  115. #if defined(__cplusplus) && !defined(CINTERFACE)
  116.     
  117.     MIDL_INTERFACE("0002E000-0000-0000-C000-000000000046")
  118.     IEnumGUID : public IUnknown
  119.     {
  120.     public:
  121.         virtual HRESULT STDMETHODCALLTYPE Next( 
  122.             /* [in] */ ULONG celt,
  123.             /* [length_is][size_is][out] */ GUID *rgelt,
  124.             /* [out] */ ULONG *pceltFetched) = 0;
  125.         
  126.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  127.             /* [in] */ ULONG celt) = 0;
  128.         
  129.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  130.         
  131.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  132.             /* [out] */ IEnumGUID **ppenum) = 0;
  133.         
  134.     };
  135.     
  136. #else  /* C style interface */
  137.     typedef struct IEnumGUIDVtbl
  138.     {
  139.         BEGIN_INTERFACE
  140.         
  141.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  142.             IEnumGUID * This,
  143.             /* [in] */ REFIID riid,
  144.             /* [iid_is][out] */ void **ppvObject);
  145.         
  146.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  147.             IEnumGUID * This);
  148.         
  149.         ULONG ( STDMETHODCALLTYPE *Release )( 
  150.             IEnumGUID * This);
  151.         
  152.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  153.             IEnumGUID * This,
  154.             /* [in] */ ULONG celt,
  155.             /* [length_is][size_is][out] */ GUID *rgelt,
  156.             /* [out] */ ULONG *pceltFetched);
  157.         
  158.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  159.             IEnumGUID * This,
  160.             /* [in] */ ULONG celt);
  161.         
  162.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  163.             IEnumGUID * This);
  164.         
  165.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  166.             IEnumGUID * This,
  167.             /* [out] */ IEnumGUID **ppenum);
  168.         
  169.         END_INTERFACE
  170.     } IEnumGUIDVtbl;
  171.     interface IEnumGUID
  172.     {
  173.         CONST_VTBL struct IEnumGUIDVtbl *lpVtbl;
  174.     };
  175.     
  176. #ifdef COBJMACROS
  177. #define IEnumGUID_QueryInterface(This,riid,ppvObject)
  178.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  179. #define IEnumGUID_AddRef(This)
  180.     (This)->lpVtbl -> AddRef(This)
  181. #define IEnumGUID_Release(This)
  182.     (This)->lpVtbl -> Release(This)
  183. #define IEnumGUID_Next(This,celt,rgelt,pceltFetched)
  184.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  185. #define IEnumGUID_Skip(This,celt)
  186.     (This)->lpVtbl -> Skip(This,celt)
  187. #define IEnumGUID_Reset(This)
  188.     (This)->lpVtbl -> Reset(This)
  189. #define IEnumGUID_Clone(This,ppenum)
  190.     (This)->lpVtbl -> Clone(This,ppenum)
  191. #endif /* COBJMACROS */
  192. #endif  /* C style interface */
  193. HRESULT STDMETHODCALLTYPE IEnumGUID_Next_Proxy( 
  194.     IEnumGUID * This,
  195.     /* [in] */ ULONG celt,
  196.     /* [length_is][size_is][out] */ GUID *rgelt,
  197.     /* [out] */ ULONG *pceltFetched);
  198. void __RPC_STUB IEnumGUID_Next_Stub(
  199.     IRpcStubBuffer *This,
  200.     IRpcChannelBuffer *_pRpcChannelBuffer,
  201.     PRPC_MESSAGE _pRpcMessage,
  202.     DWORD *_pdwStubPhase);
  203. HRESULT STDMETHODCALLTYPE IEnumGUID_Skip_Proxy( 
  204.     IEnumGUID * This,
  205.     /* [in] */ ULONG celt);
  206. void __RPC_STUB IEnumGUID_Skip_Stub(
  207.     IRpcStubBuffer *This,
  208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  209.     PRPC_MESSAGE _pRpcMessage,
  210.     DWORD *_pdwStubPhase);
  211. HRESULT STDMETHODCALLTYPE IEnumGUID_Reset_Proxy( 
  212.     IEnumGUID * This);
  213. void __RPC_STUB IEnumGUID_Reset_Stub(
  214.     IRpcStubBuffer *This,
  215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  216.     PRPC_MESSAGE _pRpcMessage,
  217.     DWORD *_pdwStubPhase);
  218. HRESULT STDMETHODCALLTYPE IEnumGUID_Clone_Proxy( 
  219.     IEnumGUID * This,
  220.     /* [out] */ IEnumGUID **ppenum);
  221. void __RPC_STUB IEnumGUID_Clone_Stub(
  222.     IRpcStubBuffer *This,
  223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  224.     PRPC_MESSAGE _pRpcMessage,
  225.     DWORD *_pdwStubPhase);
  226. #endif  /* __IEnumGUID_INTERFACE_DEFINED__ */
  227. /* interface __MIDL_itf_comcat_0009 */
  228. /* [local] */ 
  229. #endif
  230. #ifndef _LPENUMCATEGORYINFO_DEFINED
  231. #define _LPENUMCATEGORYINFO_DEFINED
  232. extern RPC_IF_HANDLE __MIDL_itf_comcat_0009_v0_0_c_ifspec;
  233. extern RPC_IF_HANDLE __MIDL_itf_comcat_0009_v0_0_s_ifspec;
  234. #ifndef __IEnumCATEGORYINFO_INTERFACE_DEFINED__
  235. #define __IEnumCATEGORYINFO_INTERFACE_DEFINED__
  236. /* interface IEnumCATEGORYINFO */
  237. /* [unique][uuid][object] */ 
  238. typedef /* [unique] */ IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
  239. typedef struct tagCATEGORYINFO
  240.     {
  241.     CATID catid;
  242.     LCID lcid;
  243.     OLECHAR szDescription[ 128 ];
  244.     }  CATEGORYINFO;
  245. typedef struct tagCATEGORYINFO *LPCATEGORYINFO;
  246. EXTERN_C const IID IID_IEnumCATEGORYINFO;
  247. #if defined(__cplusplus) && !defined(CINTERFACE)
  248.     
  249.     MIDL_INTERFACE("0002E011-0000-0000-C000-000000000046")
  250.     IEnumCATEGORYINFO : public IUnknown
  251.     {
  252.     public:
  253.         virtual HRESULT STDMETHODCALLTYPE Next( 
  254.             /* [in] */ ULONG celt,
  255.             /* [length_is][size_is][out] */ CATEGORYINFO *rgelt,
  256.             /* [out] */ ULONG *pceltFetched) = 0;
  257.         
  258.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  259.             /* [in] */ ULONG celt) = 0;
  260.         
  261.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  262.         
  263.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  264.             /* [out] */ IEnumCATEGORYINFO **ppenum) = 0;
  265.         
  266.     };
  267.     
  268. #else  /* C style interface */
  269.     typedef struct IEnumCATEGORYINFOVtbl
  270.     {
  271.         BEGIN_INTERFACE
  272.         
  273.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  274.             IEnumCATEGORYINFO * This,
  275.             /* [in] */ REFIID riid,
  276.             /* [iid_is][out] */ void **ppvObject);
  277.         
  278.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  279.             IEnumCATEGORYINFO * This);
  280.         
  281.         ULONG ( STDMETHODCALLTYPE *Release )( 
  282.             IEnumCATEGORYINFO * This);
  283.         
  284.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  285.             IEnumCATEGORYINFO * This,
  286.             /* [in] */ ULONG celt,
  287.             /* [length_is][size_is][out] */ CATEGORYINFO *rgelt,
  288.             /* [out] */ ULONG *pceltFetched);
  289.         
  290.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  291.             IEnumCATEGORYINFO * This,
  292.             /* [in] */ ULONG celt);
  293.         
  294.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  295.             IEnumCATEGORYINFO * This);
  296.         
  297.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  298.             IEnumCATEGORYINFO * This,
  299.             /* [out] */ IEnumCATEGORYINFO **ppenum);
  300.         
  301.         END_INTERFACE
  302.     } IEnumCATEGORYINFOVtbl;
  303.     interface IEnumCATEGORYINFO
  304.     {
  305.         CONST_VTBL struct IEnumCATEGORYINFOVtbl *lpVtbl;
  306.     };
  307.     
  308. #ifdef COBJMACROS
  309. #define IEnumCATEGORYINFO_QueryInterface(This,riid,ppvObject)
  310.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  311. #define IEnumCATEGORYINFO_AddRef(This)
  312.     (This)->lpVtbl -> AddRef(This)
  313. #define IEnumCATEGORYINFO_Release(This)
  314.     (This)->lpVtbl -> Release(This)
  315. #define IEnumCATEGORYINFO_Next(This,celt,rgelt,pceltFetched)
  316.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  317. #define IEnumCATEGORYINFO_Skip(This,celt)
  318.     (This)->lpVtbl -> Skip(This,celt)
  319. #define IEnumCATEGORYINFO_Reset(This)
  320.     (This)->lpVtbl -> Reset(This)
  321. #define IEnumCATEGORYINFO_Clone(This,ppenum)
  322.     (This)->lpVtbl -> Clone(This,ppenum)
  323. #endif /* COBJMACROS */
  324. #endif  /* C style interface */
  325. HRESULT STDMETHODCALLTYPE IEnumCATEGORYINFO_Next_Proxy( 
  326.     IEnumCATEGORYINFO * This,
  327.     /* [in] */ ULONG celt,
  328.     /* [length_is][size_is][out] */ CATEGORYINFO *rgelt,
  329.     /* [out] */ ULONG *pceltFetched);
  330. void __RPC_STUB IEnumCATEGORYINFO_Next_Stub(
  331.     IRpcStubBuffer *This,
  332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  333.     PRPC_MESSAGE _pRpcMessage,
  334.     DWORD *_pdwStubPhase);
  335. HRESULT STDMETHODCALLTYPE IEnumCATEGORYINFO_Skip_Proxy( 
  336.     IEnumCATEGORYINFO * This,
  337.     /* [in] */ ULONG celt);
  338. void __RPC_STUB IEnumCATEGORYINFO_Skip_Stub(
  339.     IRpcStubBuffer *This,
  340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  341.     PRPC_MESSAGE _pRpcMessage,
  342.     DWORD *_pdwStubPhase);
  343. HRESULT STDMETHODCALLTYPE IEnumCATEGORYINFO_Reset_Proxy( 
  344.     IEnumCATEGORYINFO * This);
  345. void __RPC_STUB IEnumCATEGORYINFO_Reset_Stub(
  346.     IRpcStubBuffer *This,
  347.     IRpcChannelBuffer *_pRpcChannelBuffer,
  348.     PRPC_MESSAGE _pRpcMessage,
  349.     DWORD *_pdwStubPhase);
  350. HRESULT STDMETHODCALLTYPE IEnumCATEGORYINFO_Clone_Proxy( 
  351.     IEnumCATEGORYINFO * This,
  352.     /* [out] */ IEnumCATEGORYINFO **ppenum);
  353. void __RPC_STUB IEnumCATEGORYINFO_Clone_Stub(
  354.     IRpcStubBuffer *This,
  355.     IRpcChannelBuffer *_pRpcChannelBuffer,
  356.     PRPC_MESSAGE _pRpcMessage,
  357.     DWORD *_pdwStubPhase);
  358. #endif  /* __IEnumCATEGORYINFO_INTERFACE_DEFINED__ */
  359. /* interface __MIDL_itf_comcat_0010 */
  360. /* [local] */ 
  361. #endif
  362. #ifndef _LPCATREGISTER_DEFINED
  363. #define _LPCATREGISTER_DEFINED
  364. extern RPC_IF_HANDLE __MIDL_itf_comcat_0010_v0_0_c_ifspec;
  365. extern RPC_IF_HANDLE __MIDL_itf_comcat_0010_v0_0_s_ifspec;
  366. #ifndef __ICatRegister_INTERFACE_DEFINED__
  367. #define __ICatRegister_INTERFACE_DEFINED__
  368. /* interface ICatRegister */
  369. /* [unique][uuid][object] */ 
  370. typedef /* [unique] */ ICatRegister *LPCATREGISTER;
  371. EXTERN_C const IID IID_ICatRegister;
  372. #if defined(__cplusplus) && !defined(CINTERFACE)
  373.     
  374.     MIDL_INTERFACE("0002E012-0000-0000-C000-000000000046")
  375.     ICatRegister : public IUnknown
  376.     {
  377.     public:
  378.         virtual HRESULT STDMETHODCALLTYPE RegisterCategories( 
  379.             /* [in] */ ULONG cCategories,
  380.             /* [size_is][in] */ CATEGORYINFO rgCategoryInfo[  ]) = 0;
  381.         
  382.         virtual HRESULT STDMETHODCALLTYPE UnRegisterCategories( 
  383.             /* [in] */ ULONG cCategories,
  384.             /* [size_is][in] */ CATID rgcatid[  ]) = 0;
  385.         
  386.         virtual HRESULT STDMETHODCALLTYPE RegisterClassImplCategories( 
  387.             /* [in] */ REFCLSID rclsid,
  388.             /* [in] */ ULONG cCategories,
  389.             /* [size_is][in] */ CATID rgcatid[  ]) = 0;
  390.         
  391.         virtual HRESULT STDMETHODCALLTYPE UnRegisterClassImplCategories( 
  392.             /* [in] */ REFCLSID rclsid,
  393.             /* [in] */ ULONG cCategories,
  394.             /* [size_is][in] */ CATID rgcatid[  ]) = 0;
  395.         
  396.         virtual HRESULT STDMETHODCALLTYPE RegisterClassReqCategories( 
  397.             /* [in] */ REFCLSID rclsid,
  398.             /* [in] */ ULONG cCategories,
  399.             /* [size_is][in] */ CATID rgcatid[  ]) = 0;
  400.         
  401.         virtual HRESULT STDMETHODCALLTYPE UnRegisterClassReqCategories( 
  402.             /* [in] */ REFCLSID rclsid,
  403.             /* [in] */ ULONG cCategories,
  404.             /* [size_is][in] */ CATID rgcatid[  ]) = 0;
  405.         
  406.     };
  407.     
  408. #else  /* C style interface */
  409.     typedef struct ICatRegisterVtbl
  410.     {
  411.         BEGIN_INTERFACE
  412.         
  413.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  414.             ICatRegister * This,
  415.             /* [in] */ REFIID riid,
  416.             /* [iid_is][out] */ void **ppvObject);
  417.         
  418.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  419.             ICatRegister * This);
  420.         
  421.         ULONG ( STDMETHODCALLTYPE *Release )( 
  422.             ICatRegister * This);
  423.         
  424.         HRESULT ( STDMETHODCALLTYPE *RegisterCategories )( 
  425.             ICatRegister * This,
  426.             /* [in] */ ULONG cCategories,
  427.             /* [size_is][in] */ CATEGORYINFO rgCategoryInfo[  ]);
  428.         
  429.         HRESULT ( STDMETHODCALLTYPE *UnRegisterCategories )( 
  430.             ICatRegister * This,
  431.             /* [in] */ ULONG cCategories,
  432.             /* [size_is][in] */ CATID rgcatid[  ]);
  433.         
  434.         HRESULT ( STDMETHODCALLTYPE *RegisterClassImplCategories )( 
  435.             ICatRegister * This,
  436.             /* [in] */ REFCLSID rclsid,
  437.             /* [in] */ ULONG cCategories,
  438.             /* [size_is][in] */ CATID rgcatid[  ]);
  439.         
  440.         HRESULT ( STDMETHODCALLTYPE *UnRegisterClassImplCategories )( 
  441.             ICatRegister * This,
  442.             /* [in] */ REFCLSID rclsid,
  443.             /* [in] */ ULONG cCategories,
  444.             /* [size_is][in] */ CATID rgcatid[  ]);
  445.         
  446.         HRESULT ( STDMETHODCALLTYPE *RegisterClassReqCategories )( 
  447.             ICatRegister * This,
  448.             /* [in] */ REFCLSID rclsid,
  449.             /* [in] */ ULONG cCategories,
  450.             /* [size_is][in] */ CATID rgcatid[  ]);
  451.         
  452.         HRESULT ( STDMETHODCALLTYPE *UnRegisterClassReqCategories )( 
  453.             ICatRegister * This,
  454.             /* [in] */ REFCLSID rclsid,
  455.             /* [in] */ ULONG cCategories,
  456.             /* [size_is][in] */ CATID rgcatid[  ]);
  457.         
  458.         END_INTERFACE
  459.     } ICatRegisterVtbl;
  460.     interface ICatRegister
  461.     {
  462.         CONST_VTBL struct ICatRegisterVtbl *lpVtbl;
  463.     };
  464.     
  465. #ifdef COBJMACROS
  466. #define ICatRegister_QueryInterface(This,riid,ppvObject)
  467.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  468. #define ICatRegister_AddRef(This)
  469.     (This)->lpVtbl -> AddRef(This)
  470. #define ICatRegister_Release(This)
  471.     (This)->lpVtbl -> Release(This)
  472. #define ICatRegister_RegisterCategories(This,cCategories,rgCategoryInfo)
  473.     (This)->lpVtbl -> RegisterCategories(This,cCategories,rgCategoryInfo)
  474. #define ICatRegister_UnRegisterCategories(This,cCategories,rgcatid)
  475.     (This)->lpVtbl -> UnRegisterCategories(This,cCategories,rgcatid)
  476. #define ICatRegister_RegisterClassImplCategories(This,rclsid,cCategories,rgcatid)
  477.     (This)->lpVtbl -> RegisterClassImplCategories(This,rclsid,cCategories,rgcatid)
  478. #define ICatRegister_UnRegisterClassImplCategories(This,rclsid,cCategories,rgcatid)
  479.     (This)->lpVtbl -> UnRegisterClassImplCategories(This,rclsid,cCategories,rgcatid)
  480. #define ICatRegister_RegisterClassReqCategories(This,rclsid,cCategories,rgcatid)
  481.     (This)->lpVtbl -> RegisterClassReqCategories(This,rclsid,cCategories,rgcatid)
  482. #define ICatRegister_UnRegisterClassReqCategories(This,rclsid,cCategories,rgcatid)
  483.     (This)->lpVtbl -> UnRegisterClassReqCategories(This,rclsid,cCategories,rgcatid)
  484. #endif /* COBJMACROS */
  485. #endif  /* C style interface */
  486. HRESULT STDMETHODCALLTYPE ICatRegister_RegisterCategories_Proxy( 
  487.     ICatRegister * This,
  488.     /* [in] */ ULONG cCategories,
  489.     /* [size_is][in] */ CATEGORYINFO rgCategoryInfo[  ]);
  490. void __RPC_STUB ICatRegister_RegisterCategories_Stub(
  491.     IRpcStubBuffer *This,
  492.     IRpcChannelBuffer *_pRpcChannelBuffer,
  493.     PRPC_MESSAGE _pRpcMessage,
  494.     DWORD *_pdwStubPhase);
  495. HRESULT STDMETHODCALLTYPE ICatRegister_UnRegisterCategories_Proxy( 
  496.     ICatRegister * This,
  497.     /* [in] */ ULONG cCategories,
  498.     /* [size_is][in] */ CATID rgcatid[  ]);
  499. void __RPC_STUB ICatRegister_UnRegisterCategories_Stub(
  500.     IRpcStubBuffer *This,
  501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  502.     PRPC_MESSAGE _pRpcMessage,
  503.     DWORD *_pdwStubPhase);
  504. HRESULT STDMETHODCALLTYPE ICatRegister_RegisterClassImplCategories_Proxy( 
  505.     ICatRegister * This,
  506.     /* [in] */ REFCLSID rclsid,
  507.     /* [in] */ ULONG cCategories,
  508.     /* [size_is][in] */ CATID rgcatid[  ]);
  509. void __RPC_STUB ICatRegister_RegisterClassImplCategories_Stub(
  510.     IRpcStubBuffer *This,
  511.     IRpcChannelBuffer *_pRpcChannelBuffer,
  512.     PRPC_MESSAGE _pRpcMessage,
  513.     DWORD *_pdwStubPhase);
  514. HRESULT STDMETHODCALLTYPE ICatRegister_UnRegisterClassImplCategories_Proxy( 
  515.     ICatRegister * This,
  516.     /* [in] */ REFCLSID rclsid,
  517.     /* [in] */ ULONG cCategories,
  518.     /* [size_is][in] */ CATID rgcatid[  ]);
  519. void __RPC_STUB ICatRegister_UnRegisterClassImplCategories_Stub(
  520.     IRpcStubBuffer *This,
  521.     IRpcChannelBuffer *_pRpcChannelBuffer,
  522.     PRPC_MESSAGE _pRpcMessage,
  523.     DWORD *_pdwStubPhase);
  524. HRESULT STDMETHODCALLTYPE ICatRegister_RegisterClassReqCategories_Proxy( 
  525.     ICatRegister * This,
  526.     /* [in] */ REFCLSID rclsid,
  527.     /* [in] */ ULONG cCategories,
  528.     /* [size_is][in] */ CATID rgcatid[  ]);
  529. void __RPC_STUB ICatRegister_RegisterClassReqCategories_Stub(
  530.     IRpcStubBuffer *This,
  531.     IRpcChannelBuffer *_pRpcChannelBuffer,
  532.     PRPC_MESSAGE _pRpcMessage,
  533.     DWORD *_pdwStubPhase);
  534. HRESULT STDMETHODCALLTYPE ICatRegister_UnRegisterClassReqCategories_Proxy( 
  535.     ICatRegister * This,
  536.     /* [in] */ REFCLSID rclsid,
  537.     /* [in] */ ULONG cCategories,
  538.     /* [size_is][in] */ CATID rgcatid[  ]);
  539. void __RPC_STUB ICatRegister_UnRegisterClassReqCategories_Stub(
  540.     IRpcStubBuffer *This,
  541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  542.     PRPC_MESSAGE _pRpcMessage,
  543.     DWORD *_pdwStubPhase);
  544. #endif  /* __ICatRegister_INTERFACE_DEFINED__ */
  545. /* interface __MIDL_itf_comcat_0011 */
  546. /* [local] */ 
  547. #endif
  548. #ifndef _LPCATINFORMATION_DEFINED
  549. #define _LPCATINFORMATION_DEFINED
  550. extern RPC_IF_HANDLE __MIDL_itf_comcat_0011_v0_0_c_ifspec;
  551. extern RPC_IF_HANDLE __MIDL_itf_comcat_0011_v0_0_s_ifspec;
  552. #ifndef __ICatInformation_INTERFACE_DEFINED__
  553. #define __ICatInformation_INTERFACE_DEFINED__
  554. /* interface ICatInformation */
  555. /* [unique][uuid][object] */ 
  556. typedef /* [unique] */ ICatInformation *LPCATINFORMATION;
  557. EXTERN_C const IID IID_ICatInformation;
  558. #if defined(__cplusplus) && !defined(CINTERFACE)
  559.     
  560.     MIDL_INTERFACE("0002E013-0000-0000-C000-000000000046")
  561.     ICatInformation : public IUnknown
  562.     {
  563.     public:
  564.         virtual HRESULT STDMETHODCALLTYPE EnumCategories( 
  565.             /* [in] */ LCID lcid,
  566.             /* [out] */ IEnumCATEGORYINFO **ppenumCategoryInfo) = 0;
  567.         
  568.         virtual HRESULT STDMETHODCALLTYPE GetCategoryDesc( 
  569.             /* [in] */ REFCATID rcatid,
  570.             /* [in] */ LCID lcid,
  571.             /* [out] */ LPWSTR *pszDesc) = 0;
  572.         
  573.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE EnumClassesOfCategories( 
  574.             /* [in] */ ULONG cImplemented,
  575.             /* [size_is][in] */ CATID rgcatidImpl[  ],
  576.             /* [in] */ ULONG cRequired,
  577.             /* [size_is][in] */ CATID rgcatidReq[  ],
  578.             /* [out] */ IEnumGUID **ppenumClsid) = 0;
  579.         
  580.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsClassOfCategories( 
  581.             /* [in] */ REFCLSID rclsid,
  582.             /* [in] */ ULONG cImplemented,
  583.             /* [size_is][in] */ CATID rgcatidImpl[  ],
  584.             /* [in] */ ULONG cRequired,
  585.             /* [size_is][in] */ CATID rgcatidReq[  ]) = 0;
  586.         
  587.         virtual HRESULT STDMETHODCALLTYPE EnumImplCategoriesOfClass( 
  588.             /* [in] */ REFCLSID rclsid,
  589.             /* [out] */ IEnumGUID **ppenumCatid) = 0;
  590.         
  591.         virtual HRESULT STDMETHODCALLTYPE EnumReqCategoriesOfClass( 
  592.             /* [in] */ REFCLSID rclsid,
  593.             /* [out] */ IEnumGUID **ppenumCatid) = 0;
  594.         
  595.     };
  596.     
  597. #else  /* C style interface */
  598.     typedef struct ICatInformationVtbl
  599.     {
  600.         BEGIN_INTERFACE
  601.         
  602.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  603.             ICatInformation * This,
  604.             /* [in] */ REFIID riid,
  605.             /* [iid_is][out] */ void **ppvObject);
  606.         
  607.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  608.             ICatInformation * This);
  609.         
  610.         ULONG ( STDMETHODCALLTYPE *Release )( 
  611.             ICatInformation * This);
  612.         
  613.         HRESULT ( STDMETHODCALLTYPE *EnumCategories )( 
  614.             ICatInformation * This,
  615.             /* [in] */ LCID lcid,
  616.             /* [out] */ IEnumCATEGORYINFO **ppenumCategoryInfo);
  617.         
  618.         HRESULT ( STDMETHODCALLTYPE *GetCategoryDesc )( 
  619.             ICatInformation * This,
  620.             /* [in] */ REFCATID rcatid,
  621.             /* [in] */ LCID lcid,
  622.             /* [out] */ LPWSTR *pszDesc);
  623.         
  624.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *EnumClassesOfCategories )( 
  625.             ICatInformation * This,
  626.             /* [in] */ ULONG cImplemented,
  627.             /* [size_is][in] */ CATID rgcatidImpl[  ],
  628.             /* [in] */ ULONG cRequired,
  629.             /* [size_is][in] */ CATID rgcatidReq[  ],
  630.             /* [out] */ IEnumGUID **ppenumClsid);
  631.         
  632.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsClassOfCategories )( 
  633.             ICatInformation * This,
  634.             /* [in] */ REFCLSID rclsid,
  635.             /* [in] */ ULONG cImplemented,
  636.             /* [size_is][in] */ CATID rgcatidImpl[  ],
  637.             /* [in] */ ULONG cRequired,
  638.             /* [size_is][in] */ CATID rgcatidReq[  ]);
  639.         
  640.         HRESULT ( STDMETHODCALLTYPE *EnumImplCategoriesOfClass )( 
  641.             ICatInformation * This,
  642.             /* [in] */ REFCLSID rclsid,
  643.             /* [out] */ IEnumGUID **ppenumCatid);
  644.         
  645.         HRESULT ( STDMETHODCALLTYPE *EnumReqCategoriesOfClass )( 
  646.             ICatInformation * This,
  647.             /* [in] */ REFCLSID rclsid,
  648.             /* [out] */ IEnumGUID **ppenumCatid);
  649.         
  650.         END_INTERFACE
  651.     } ICatInformationVtbl;
  652.     interface ICatInformation
  653.     {
  654.         CONST_VTBL struct ICatInformationVtbl *lpVtbl;
  655.     };
  656.     
  657. #ifdef COBJMACROS
  658. #define ICatInformation_QueryInterface(This,riid,ppvObject)
  659.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  660. #define ICatInformation_AddRef(This)
  661.     (This)->lpVtbl -> AddRef(This)
  662. #define ICatInformation_Release(This)
  663.     (This)->lpVtbl -> Release(This)
  664. #define ICatInformation_EnumCategories(This,lcid,ppenumCategoryInfo)
  665.     (This)->lpVtbl -> EnumCategories(This,lcid,ppenumCategoryInfo)
  666. #define ICatInformation_GetCategoryDesc(This,rcatid,lcid,pszDesc)
  667.     (This)->lpVtbl -> GetCategoryDesc(This,rcatid,lcid,pszDesc)
  668. #define ICatInformation_EnumClassesOfCategories(This,cImplemented,rgcatidImpl,cRequired,rgcatidReq,ppenumClsid)
  669.     (This)->lpVtbl -> EnumClassesOfCategories(This,cImplemented,rgcatidImpl,cRequired,rgcatidReq,ppenumClsid)
  670. #define ICatInformation_IsClassOfCategories(This,rclsid,cImplemented,rgcatidImpl,cRequired,rgcatidReq)
  671.     (This)->lpVtbl -> IsClassOfCategories(This,rclsid,cImplemented,rgcatidImpl,cRequired,rgcatidReq)
  672. #define ICatInformation_EnumImplCategoriesOfClass(This,rclsid,ppenumCatid)
  673.     (This)->lpVtbl -> EnumImplCategoriesOfClass(This,rclsid,ppenumCatid)
  674. #define ICatInformation_EnumReqCategoriesOfClass(This,rclsid,ppenumCatid)
  675.     (This)->lpVtbl -> EnumReqCategoriesOfClass(This,rclsid,ppenumCatid)
  676. #endif /* COBJMACROS */
  677. #endif  /* C style interface */
  678. HRESULT STDMETHODCALLTYPE ICatInformation_EnumCategories_Proxy( 
  679.     ICatInformation * This,
  680.     /* [in] */ LCID lcid,
  681.     /* [out] */ IEnumCATEGORYINFO **ppenumCategoryInfo);
  682. void __RPC_STUB ICatInformation_EnumCategories_Stub(
  683.     IRpcStubBuffer *This,
  684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  685.     PRPC_MESSAGE _pRpcMessage,
  686.     DWORD *_pdwStubPhase);
  687. HRESULT STDMETHODCALLTYPE ICatInformation_GetCategoryDesc_Proxy( 
  688.     ICatInformation * This,
  689.     /* [in] */ REFCATID rcatid,
  690.     /* [in] */ LCID lcid,
  691.     /* [out] */ LPWSTR *pszDesc);
  692. void __RPC_STUB ICatInformation_GetCategoryDesc_Stub(
  693.     IRpcStubBuffer *This,
  694.     IRpcChannelBuffer *_pRpcChannelBuffer,
  695.     PRPC_MESSAGE _pRpcMessage,
  696.     DWORD *_pdwStubPhase);
  697. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICatInformation_RemoteEnumClassesOfCategories_Proxy( 
  698.     ICatInformation * This,
  699.     /* [in] */ ULONG cImplemented,
  700.     /* [size_is][unique][in] */ CATID rgcatidImpl[  ],
  701.     /* [in] */ ULONG cRequired,
  702.     /* [size_is][unique][in] */ CATID rgcatidReq[  ],
  703.     /* [out] */ IEnumGUID **ppenumClsid);
  704. void __RPC_STUB ICatInformation_RemoteEnumClassesOfCategories_Stub(
  705.     IRpcStubBuffer *This,
  706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  707.     PRPC_MESSAGE _pRpcMessage,
  708.     DWORD *_pdwStubPhase);
  709. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICatInformation_RemoteIsClassOfCategories_Proxy( 
  710.     ICatInformation * This,
  711.     /* [in] */ REFCLSID rclsid,
  712.     /* [in] */ ULONG cImplemented,
  713.     /* [size_is][unique][in] */ CATID rgcatidImpl[  ],
  714.     /* [in] */ ULONG cRequired,
  715.     /* [size_is][unique][in] */ CATID rgcatidReq[  ]);
  716. void __RPC_STUB ICatInformation_RemoteIsClassOfCategories_Stub(
  717.     IRpcStubBuffer *This,
  718.     IRpcChannelBuffer *_pRpcChannelBuffer,
  719.     PRPC_MESSAGE _pRpcMessage,
  720.     DWORD *_pdwStubPhase);
  721. HRESULT STDMETHODCALLTYPE ICatInformation_EnumImplCategoriesOfClass_Proxy( 
  722.     ICatInformation * This,
  723.     /* [in] */ REFCLSID rclsid,
  724.     /* [out] */ IEnumGUID **ppenumCatid);
  725. void __RPC_STUB ICatInformation_EnumImplCategoriesOfClass_Stub(
  726.     IRpcStubBuffer *This,
  727.     IRpcChannelBuffer *_pRpcChannelBuffer,
  728.     PRPC_MESSAGE _pRpcMessage,
  729.     DWORD *_pdwStubPhase);
  730. HRESULT STDMETHODCALLTYPE ICatInformation_EnumReqCategoriesOfClass_Proxy( 
  731.     ICatInformation * This,
  732.     /* [in] */ REFCLSID rclsid,
  733.     /* [out] */ IEnumGUID **ppenumCatid);
  734. void __RPC_STUB ICatInformation_EnumReqCategoriesOfClass_Stub(
  735.     IRpcStubBuffer *This,
  736.     IRpcChannelBuffer *_pRpcChannelBuffer,
  737.     PRPC_MESSAGE _pRpcMessage,
  738.     DWORD *_pdwStubPhase);
  739. #endif  /* __ICatInformation_INTERFACE_DEFINED__ */
  740. /* interface __MIDL_itf_comcat_0012 */
  741. /* [local] */ 
  742. #endif
  743. extern RPC_IF_HANDLE __MIDL_itf_comcat_0012_v0_0_c_ifspec;
  744. extern RPC_IF_HANDLE __MIDL_itf_comcat_0012_v0_0_s_ifspec;
  745. /* Additional Prototypes for ALL interfaces */
  746. /* [local] */ HRESULT STDMETHODCALLTYPE ICatInformation_EnumClassesOfCategories_Proxy( 
  747.     ICatInformation * This,
  748.     /* [in] */ ULONG cImplemented,
  749.     /* [size_is][in] */ CATID rgcatidImpl[  ],
  750.     /* [in] */ ULONG cRequired,
  751.     /* [size_is][in] */ CATID rgcatidReq[  ],
  752.     /* [out] */ IEnumGUID **ppenumClsid);
  753. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICatInformation_EnumClassesOfCategories_Stub( 
  754.     ICatInformation * This,
  755.     /* [in] */ ULONG cImplemented,
  756.     /* [size_is][unique][in] */ CATID rgcatidImpl[  ],
  757.     /* [in] */ ULONG cRequired,
  758.     /* [size_is][unique][in] */ CATID rgcatidReq[  ],
  759.     /* [out] */ IEnumGUID **ppenumClsid);
  760. /* [local] */ HRESULT STDMETHODCALLTYPE ICatInformation_IsClassOfCategories_Proxy( 
  761.     ICatInformation * This,
  762.     /* [in] */ REFCLSID rclsid,
  763.     /* [in] */ ULONG cImplemented,
  764.     /* [size_is][in] */ CATID rgcatidImpl[  ],
  765.     /* [in] */ ULONG cRequired,
  766.     /* [size_is][in] */ CATID rgcatidReq[  ]);
  767. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICatInformation_IsClassOfCategories_Stub( 
  768.     ICatInformation * This,
  769.     /* [in] */ REFCLSID rclsid,
  770.     /* [in] */ ULONG cImplemented,
  771.     /* [size_is][unique][in] */ CATID rgcatidImpl[  ],
  772.     /* [in] */ ULONG cRequired,
  773.     /* [size_is][unique][in] */ CATID rgcatidReq[  ]);
  774. /* end of Additional Prototypes */
  775. #ifdef __cplusplus
  776. }
  777. #endif
  778. #endif