home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / comcat.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  35KB  |  1,074 lines

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