home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / comcat.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  32.8 KB  |  1,042 lines

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