Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-digit/src/mingw-w64-svn-r5861/mingw-w64-headers/include/comcat.idl - Do not edit ***/
      2 
      3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      5 #endif
      6 
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 
     10 #ifndef COM_NO_WINDOWS_H
     11 #include <windows.h>
     12 #include <ole2.h>
     13 #endif
     14 
     15 #ifndef __comcat_h__
     16 #define __comcat_h__
     17 
     18 /* Forward declarations */
     19 
     20 #ifndef __IEnumGUID_FWD_DEFINED__
     21 #define __IEnumGUID_FWD_DEFINED__
     22 typedef interface IEnumGUID IEnumGUID;
     23 #endif
     24 
     25 /* Headers for imported files */
     26 
     27 #include <unknwn.h>
     28 
     29 #ifdef __cplusplus
     30 extern "C" {
     31 #endif
     32 
     33 #ifndef __IEnumCATEGORYINFO_FWD_DEFINED__
     34 #define __IEnumCATEGORYINFO_FWD_DEFINED__
     35 typedef struct IEnumCATEGORYINFO IEnumCATEGORYINFO;
     36 #endif
     37 
     38 #ifndef __ICatRegister_FWD_DEFINED__
     39 #define __ICatRegister_FWD_DEFINED__
     40 typedef struct ICatRegister ICatRegister;
     41 #endif
     42 
     43 #ifndef __ICatInformation_FWD_DEFINED__
     44 #define __ICatInformation_FWD_DEFINED__
     45 typedef struct ICatInformation ICatInformation;
     46 #endif
     47 
     48   EXTERN_C const CLSID CLSID_StdComponentCategoriesMgr;
     49 
     50   typedef GUID CATID;
     51 
     52   typedef REFGUID REFCATID;
     53 
     54 #define IID_IEnumCLSID IID_IEnumGUID
     55 #define IEnumCLSID IEnumGUID
     56 #define LPENUMCLSID LPENUMGUID
     57 #define CATID_NULL GUID_NULL
     58 #define IsEqualCATID(rcatid1,rcatid2) IsEqualGUID(rcatid1,rcatid2)
     59 #define IID_IEnumCATID IID_IEnumGUID
     60 #define IEnumCATID IEnumGUID
     61 
     62   EXTERN_C const CATID CATID_Insertable;
     63   EXTERN_C const CATID CATID_Control;
     64   EXTERN_C const CATID CATID_Programmable;
     65   EXTERN_C const CATID CATID_IsShortcut;
     66   EXTERN_C const CATID CATID_NeverShowExt;
     67   EXTERN_C const CATID CATID_DocObject;
     68   EXTERN_C const CATID CATID_Printable;
     69   EXTERN_C const CATID CATID_RequiresDataPathHost;
     70   EXTERN_C const CATID CATID_PersistsToMoniker;
     71   EXTERN_C const CATID CATID_PersistsToStorage;
     72   EXTERN_C const CATID CATID_PersistsToStreamInit;
     73   EXTERN_C const CATID CATID_PersistsToStream;
     74   EXTERN_C const CATID CATID_PersistsToMemory;
     75   EXTERN_C const CATID CATID_PersistsToFile;
     76   EXTERN_C const CATID CATID_PersistsToPropertyBag;
     77   EXTERN_C const CATID CATID_InternetAware;
     78   EXTERN_C const CATID CATID_DesignTimeUIActivatableControl;
     79 #ifndef _LPENUMGUID_DEFINED
     80 #define _LPENUMGUID_DEFINED
     81 /*****************************************************************************
     82  * IEnumGUID interface
     83  */
     84 #ifndef __IEnumGUID_INTERFACE_DEFINED__
     85 #define __IEnumGUID_INTERFACE_DEFINED__
     86 
     87 typedef IEnumGUID *LPENUMGUID;
     88 DEFINE_GUID(IID_IEnumGUID, 0x0002e000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
     89 #if defined(__cplusplus) && !defined(CINTERFACE)
     90 MIDL_INTERFACE("0002e000-0000-0000-c000-000000000046")
     91 IEnumGUID : public IUnknown
     92 {
     93     virtual HRESULT STDMETHODCALLTYPE Next(
     94         ULONG celt,
     95         GUID *rgelt,
     96         ULONG *pceltFetched) = 0;
     97 
     98     virtual HRESULT STDMETHODCALLTYPE Skip(
     99         ULONG celt) = 0;
    100 
    101     virtual HRESULT STDMETHODCALLTYPE Reset(
    102         ) = 0;
    103 
    104     virtual HRESULT STDMETHODCALLTYPE Clone(
    105         IEnumGUID **ppenum) = 0;
    106 
    107 };
    108 #ifdef __CRT_UUID_DECL
    109 __CRT_UUID_DECL(IEnumGUID, 0x0002e000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
    110 #endif
    111 #else
    112 typedef struct IEnumGUIDVtbl {
    113     BEGIN_INTERFACE
    114 
    115     /*** IUnknown methods ***/
    116     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    117         IEnumGUID* This,
    118         REFIID riid,
    119         void **ppvObject);
    120 
    121     ULONG (STDMETHODCALLTYPE *AddRef)(
    122         IEnumGUID* This);
    123 
    124     ULONG (STDMETHODCALLTYPE *Release)(
    125         IEnumGUID* This);
    126 
    127     /*** IEnumGUID methods ***/
    128     HRESULT (STDMETHODCALLTYPE *Next)(
    129         IEnumGUID* This,
    130         ULONG celt,
    131         GUID *rgelt,
    132         ULONG *pceltFetched);
    133 
    134     HRESULT (STDMETHODCALLTYPE *Skip)(
    135         IEnumGUID* This,
    136         ULONG celt);
    137 
    138     HRESULT (STDMETHODCALLTYPE *Reset)(
    139         IEnumGUID* This);
    140 
    141     HRESULT (STDMETHODCALLTYPE *Clone)(
    142         IEnumGUID* This,
    143         IEnumGUID **ppenum);
    144 
    145     END_INTERFACE
    146 } IEnumGUIDVtbl;
    147 interface IEnumGUID {
    148     CONST_VTBL IEnumGUIDVtbl* lpVtbl;
    149 };
    150 
    151 #ifdef COBJMACROS
    152 #ifndef WIDL_C_INLINE_WRAPPERS
    153 /*** IUnknown methods ***/
    154 #define IEnumGUID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    155 #define IEnumGUID_AddRef(This) (This)->lpVtbl->AddRef(This)
    156 #define IEnumGUID_Release(This) (This)->lpVtbl->Release(This)
    157 /*** IEnumGUID methods ***/
    158 #define IEnumGUID_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
    159 #define IEnumGUID_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    160 #define IEnumGUID_Reset(This) (This)->lpVtbl->Reset(This)
    161 #define IEnumGUID_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
    162 #else
    163 /*** IUnknown methods ***/
    164 static FORCEINLINE HRESULT IEnumGUID_QueryInterface(IEnumGUID* This,REFIID riid,void **ppvObject) {
    165     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    166 }
    167 static FORCEINLINE ULONG IEnumGUID_AddRef(IEnumGUID* This) {
    168     return This->lpVtbl->AddRef(This);
    169 }
    170 static FORCEINLINE ULONG IEnumGUID_Release(IEnumGUID* This) {
    171     return This->lpVtbl->Release(This);
    172 }
    173 /*** IEnumGUID methods ***/
    174 static FORCEINLINE HRESULT IEnumGUID_Next(IEnumGUID* This,ULONG celt,GUID *rgelt,ULONG *pceltFetched) {
    175     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
    176 }
    177 static FORCEINLINE HRESULT IEnumGUID_Skip(IEnumGUID* This,ULONG celt) {
    178     return This->lpVtbl->Skip(This,celt);
    179 }
    180 static FORCEINLINE HRESULT IEnumGUID_Reset(IEnumGUID* This) {
    181     return This->lpVtbl->Reset(This);
    182 }
    183 static FORCEINLINE HRESULT IEnumGUID_Clone(IEnumGUID* This,IEnumGUID **ppenum) {
    184     return This->lpVtbl->Clone(This,ppenum);
    185 }
    186 #endif
    187 #endif
    188 
    189 #endif
    190 
    191 HRESULT STDMETHODCALLTYPE IEnumGUID_RemoteNext_Proxy(
    192     IEnumGUID* This,
    193     ULONG celt,
    194     GUID *rgelt,
    195     ULONG *pceltFetched);
    196 void __RPC_STUB IEnumGUID_RemoteNext_Stub(
    197     IRpcStubBuffer* This,
    198     IRpcChannelBuffer* pRpcChannelBuffer,
    199     PRPC_MESSAGE pRpcMessage,
    200     DWORD* pdwStubPhase);
    201 HRESULT STDMETHODCALLTYPE IEnumGUID_Skip_Proxy(
    202     IEnumGUID* This,
    203     ULONG celt);
    204 void __RPC_STUB IEnumGUID_Skip_Stub(
    205     IRpcStubBuffer* This,
    206     IRpcChannelBuffer* pRpcChannelBuffer,
    207     PRPC_MESSAGE pRpcMessage,
    208     DWORD* pdwStubPhase);
    209 HRESULT STDMETHODCALLTYPE IEnumGUID_Reset_Proxy(
    210     IEnumGUID* This);
    211 void __RPC_STUB IEnumGUID_Reset_Stub(
    212     IRpcStubBuffer* This,
    213     IRpcChannelBuffer* pRpcChannelBuffer,
    214     PRPC_MESSAGE pRpcMessage,
    215     DWORD* pdwStubPhase);
    216 HRESULT STDMETHODCALLTYPE IEnumGUID_Clone_Proxy(
    217     IEnumGUID* This,
    218     IEnumGUID **ppenum);
    219 void __RPC_STUB IEnumGUID_Clone_Stub(
    220     IRpcStubBuffer* This,
    221     IRpcChannelBuffer* pRpcChannelBuffer,
    222     PRPC_MESSAGE pRpcMessage,
    223     DWORD* pdwStubPhase);
    224 HRESULT CALLBACK IEnumGUID_Next_Proxy(
    225     IEnumGUID* This,
    226     ULONG celt,
    227     GUID *rgelt,
    228     ULONG *pceltFetched);
    229 HRESULT __RPC_STUB IEnumGUID_Next_Stub(
    230     IEnumGUID* This,
    231     ULONG celt,
    232     GUID *rgelt,
    233     ULONG *pceltFetched);
    234 
    235 #endif  /* __IEnumGUID_INTERFACE_DEFINED__ */
    236 
    237 #endif
    238 #ifndef _LPENUMCATEGORYINFO_DEFINED
    239 #define _LPENUMCATEGORYINFO_DEFINED
    240   extern RPC_IF_HANDLE __MIDL_itf_comcat_0009_v0_0_c_ifspec;
    241   extern RPC_IF_HANDLE __MIDL_itf_comcat_0009_v0_0_s_ifspec;
    242 #ifndef __IEnumCATEGORYINFO_INTERFACE_DEFINED__
    243 #define __IEnumCATEGORYINFO_INTERFACE_DEFINED__
    244   typedef IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
    245   typedef struct tagCATEGORYINFO {
    246     CATID catid;
    247     LCID lcid;
    248     OLECHAR szDescription[128 ];
    249   } CATEGORYINFO;
    250 
    251   typedef struct tagCATEGORYINFO *LPCATEGORYINFO;
    252   EXTERN_C const IID IID_IEnumCATEGORYINFO;
    253 
    254 #if defined(__cplusplus) && !defined(CINTERFACE)
    255   struct IEnumCATEGORYINFO : public IUnknown {
    256   public:
    257     virtual HRESULT WINAPI Next(ULONG celt,CATEGORYINFO *rgelt,ULONG *pceltFetched) = 0;
    258     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
    259     virtual HRESULT WINAPI Reset(void) = 0;
    260     virtual HRESULT WINAPI Clone(IEnumCATEGORYINFO **ppenum) = 0;
    261   };
    262 #else
    263   typedef struct IEnumCATEGORYINFOVtbl {
    264     BEGIN_INTERFACE
    265       HRESULT (WINAPI *QueryInterface)(IEnumCATEGORYINFO *This,REFIID riid,void **ppvObject);
    266       ULONG (WINAPI *AddRef)(IEnumCATEGORYINFO *This);
    267       ULONG (WINAPI *Release)(IEnumCATEGORYINFO *This);
    268       HRESULT (WINAPI *Next)(IEnumCATEGORYINFO *This,ULONG celt,CATEGORYINFO *rgelt,ULONG *pceltFetched);
    269       HRESULT (WINAPI *Skip)(IEnumCATEGORYINFO *This,ULONG celt);
    270       HRESULT (WINAPI *Reset)(IEnumCATEGORYINFO *This);
    271       HRESULT (WINAPI *Clone)(IEnumCATEGORYINFO *This,IEnumCATEGORYINFO **ppenum);
    272     END_INTERFACE
    273   } IEnumCATEGORYINFOVtbl;
    274   struct IEnumCATEGORYINFO {
    275     CONST_VTBL struct IEnumCATEGORYINFOVtbl *lpVtbl;
    276   };
    277 #ifdef COBJMACROS
    278 #define IEnumCATEGORYINFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    279 #define IEnumCATEGORYINFO_AddRef(This) (This)->lpVtbl->AddRef(This)
    280 #define IEnumCATEGORYINFO_Release(This) (This)->lpVtbl->Release(This)
    281 #define IEnumCATEGORYINFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
    282 #define IEnumCATEGORYINFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    283 #define IEnumCATEGORYINFO_Reset(This) (This)->lpVtbl->Reset(This)
    284 #define IEnumCATEGORYINFO_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
    285 #endif
    286 #endif
    287   HRESULT WINAPI IEnumCATEGORYINFO_Next_Proxy(IEnumCATEGORYINFO *This,ULONG celt,CATEGORYINFO *rgelt,ULONG *pceltFetched);
    288   void __RPC_STUB IEnumCATEGORYINFO_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    289   HRESULT WINAPI IEnumCATEGORYINFO_Skip_Proxy(IEnumCATEGORYINFO *This,ULONG celt);
    290   void __RPC_STUB IEnumCATEGORYINFO_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    291   HRESULT WINAPI IEnumCATEGORYINFO_Reset_Proxy(IEnumCATEGORYINFO *This);
    292   void __RPC_STUB IEnumCATEGORYINFO_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    293   HRESULT WINAPI IEnumCATEGORYINFO_Clone_Proxy(IEnumCATEGORYINFO *This,IEnumCATEGORYINFO **ppenum);
    294   void __RPC_STUB IEnumCATEGORYINFO_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    295 #endif
    296 #endif
    297 
    298 #ifndef _LPCATREGISTER_DEFINED
    299 #define _LPCATREGISTER_DEFINED
    300   extern RPC_IF_HANDLE __MIDL_itf_comcat_0010_v0_0_c_ifspec;
    301   extern RPC_IF_HANDLE __MIDL_itf_comcat_0010_v0_0_s_ifspec;
    302 #ifndef __ICatRegister_INTERFACE_DEFINED__
    303 #define __ICatRegister_INTERFACE_DEFINED__
    304   typedef ICatRegister *LPCATREGISTER;
    305   EXTERN_C const IID IID_ICatRegister;
    306 #if defined(__cplusplus) && !defined(CINTERFACE)
    307   struct ICatRegister : public IUnknown {
    308   public:
    309     virtual HRESULT WINAPI RegisterCategories(ULONG cCategories,CATEGORYINFO rgCategoryInfo[]) = 0;
    310     virtual HRESULT WINAPI UnRegisterCategories(ULONG cCategories,CATID rgcatid[]) = 0;
    311     virtual HRESULT WINAPI RegisterClassImplCategories(REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]) = 0;
    312     virtual HRESULT WINAPI UnRegisterClassImplCategories(REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]) = 0;
    313     virtual HRESULT WINAPI RegisterClassReqCategories(REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]) = 0;
    314     virtual HRESULT WINAPI UnRegisterClassReqCategories(REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]) = 0;
    315   };
    316 #else
    317   typedef struct ICatRegisterVtbl {
    318     BEGIN_INTERFACE
    319       HRESULT (WINAPI *QueryInterface)(ICatRegister *This,REFIID riid,void **ppvObject);
    320       ULONG (WINAPI *AddRef)(ICatRegister *This);
    321       ULONG (WINAPI *Release)(ICatRegister *This);
    322       HRESULT (WINAPI *RegisterCategories)(ICatRegister *This,ULONG cCategories,CATEGORYINFO rgCategoryInfo[]);
    323       HRESULT (WINAPI *UnRegisterCategories)(ICatRegister *This,ULONG cCategories,CATID rgcatid[]);
    324       HRESULT (WINAPI *RegisterClassImplCategories)(ICatRegister *This,REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]);
    325       HRESULT (WINAPI *UnRegisterClassImplCategories)(ICatRegister *This,REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]);
    326       HRESULT (WINAPI *RegisterClassReqCategories)(ICatRegister *This,REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]);
    327       HRESULT (WINAPI *UnRegisterClassReqCategories)(ICatRegister *This,REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]);
    328     END_INTERFACE
    329   } ICatRegisterVtbl;
    330   struct ICatRegister {
    331     CONST_VTBL struct ICatRegisterVtbl *lpVtbl;
    332   };
    333 #ifdef COBJMACROS
    334 #define ICatRegister_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    335 #define ICatRegister_AddRef(This) (This)->lpVtbl->AddRef(This)
    336 #define ICatRegister_Release(This) (This)->lpVtbl->Release(This)
    337 #define ICatRegister_RegisterCategories(This,cCategories,rgCategoryInfo) (This)->lpVtbl->RegisterCategories(This,cCategories,rgCategoryInfo)
    338 #define ICatRegister_UnRegisterCategories(This,cCategories,rgcatid) (This)->lpVtbl->UnRegisterCategories(This,cCategories,rgcatid)
    339 #define ICatRegister_RegisterClassImplCategories(This,rclsid,cCategories,rgcatid) (This)->lpVtbl->RegisterClassImplCategories(This,rclsid,cCategories,rgcatid)
    340 #define ICatRegister_UnRegisterClassImplCategories(This,rclsid,cCategories,rgcatid) (This)->lpVtbl->UnRegisterClassImplCategories(This,rclsid,cCategories,rgcatid)
    341 #define ICatRegister_RegisterClassReqCategories(This,rclsid,cCategories,rgcatid) (This)->lpVtbl->RegisterClassReqCategories(This,rclsid,cCategories,rgcatid)
    342 #define ICatRegister_UnRegisterClassReqCategories(This,rclsid,cCategories,rgcatid) (This)->lpVtbl->UnRegisterClassReqCategories(This,rclsid,cCategories,rgcatid)
    343 #endif
    344 #endif
    345   HRESULT WINAPI ICatRegister_RegisterCategories_Proxy(ICatRegister *This,ULONG cCategories,CATEGORYINFO rgCategoryInfo[]);
    346   void __RPC_STUB ICatRegister_RegisterCategories_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    347   HRESULT WINAPI ICatRegister_UnRegisterCategories_Proxy(ICatRegister *This,ULONG cCategories,CATID rgcatid[]);
    348   void __RPC_STUB ICatRegister_UnRegisterCategories_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    349   HRESULT WINAPI ICatRegister_RegisterClassImplCategories_Proxy(ICatRegister *This,REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]);
    350   void __RPC_STUB ICatRegister_RegisterClassImplCategories_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    351   HRESULT WINAPI ICatRegister_UnRegisterClassImplCategories_Proxy(ICatRegister *This,REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]);
    352   void __RPC_STUB ICatRegister_UnRegisterClassImplCategories_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    353   HRESULT WINAPI ICatRegister_RegisterClassReqCategories_Proxy(ICatRegister *This,REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]);
    354   void __RPC_STUB ICatRegister_RegisterClassReqCategories_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    355   HRESULT WINAPI ICatRegister_UnRegisterClassReqCategories_Proxy(ICatRegister *This,REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]);
    356   void __RPC_STUB ICatRegister_UnRegisterClassReqCategories_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    357 #endif
    358 #endif
    359 
    360 #ifndef _LPCATINFORMATION_DEFINED
    361 #define _LPCATINFORMATION_DEFINED
    362   extern RPC_IF_HANDLE __MIDL_itf_comcat_0011_v0_0_c_ifspec;
    363   extern RPC_IF_HANDLE __MIDL_itf_comcat_0011_v0_0_s_ifspec;
    364 #ifndef __ICatInformation_INTERFACE_DEFINED__
    365 #define __ICatInformation_INTERFACE_DEFINED__
    366   typedef ICatInformation *LPCATINFORMATION;
    367   EXTERN_C const IID IID_ICatInformation;
    368 #if defined(__cplusplus) && !defined(CINTERFACE)
    369   struct ICatInformation : public IUnknown {
    370   public:
    371     virtual HRESULT WINAPI EnumCategories(LCID lcid,IEnumCATEGORYINFO **ppenumCategoryInfo) = 0;
    372     virtual HRESULT WINAPI GetCategoryDesc(REFCATID rcatid,LCID lcid,LPWSTR *pszDesc) = 0;
    373     virtual HRESULT WINAPI EnumClassesOfCategories(ULONG cImplemented,CATID rgcatidImpl[],ULONG cRequired,CATID rgcatidReq[],IEnumGUID **ppenumClsid) = 0;
    374     virtual HRESULT WINAPI IsClassOfCategories(REFCLSID rclsid,ULONG cImplemented,CATID rgcatidImpl[],ULONG cRequired,CATID rgcatidReq[]) = 0;
    375     virtual HRESULT WINAPI EnumImplCategoriesOfClass(REFCLSID rclsid,IEnumGUID **ppenumCatid) = 0;
    376     virtual HRESULT WINAPI EnumReqCategoriesOfClass(REFCLSID rclsid,IEnumGUID **ppenumCatid) = 0;
    377   };
    378 #else
    379   typedef struct ICatInformationVtbl {
    380     BEGIN_INTERFACE
    381       HRESULT (WINAPI *QueryInterface)(ICatInformation *This,REFIID riid,void **ppvObject);
    382       ULONG (WINAPI *AddRef)(ICatInformation *This);
    383       ULONG (WINAPI *Release)(ICatInformation *This);
    384       HRESULT (WINAPI *EnumCategories)(ICatInformation *This,LCID lcid,IEnumCATEGORYINFO **ppenumCategoryInfo);
    385       HRESULT (WINAPI *GetCategoryDesc)(ICatInformation *This,REFCATID rcatid,LCID lcid,LPWSTR *pszDesc);
    386       HRESULT (WINAPI *EnumClassesOfCategories)(ICatInformation *This,ULONG cImplemented,CATID rgcatidImpl[],ULONG cRequired,CATID rgcatidReq[],IEnumGUID **ppenumClsid);
    387       HRESULT (WINAPI *IsClassOfCategories)(ICatInformation *This,REFCLSID rclsid,ULONG cImplemented,CATID rgcatidImpl[],ULONG cRequired,CATID rgcatidReq[]);
    388       HRESULT (WINAPI *EnumImplCategoriesOfClass)(ICatInformation *This,REFCLSID rclsid,IEnumGUID **ppenumCatid);
    389       HRESULT (WINAPI *EnumReqCategoriesOfClass)(ICatInformation *This,REFCLSID rclsid,IEnumGUID **ppenumCatid);
    390     END_INTERFACE
    391   } ICatInformationVtbl;
    392   struct ICatInformation {
    393     CONST_VTBL struct ICatInformationVtbl *lpVtbl;
    394   };
    395 #ifdef COBJMACROS
    396 #define ICatInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    397 #define ICatInformation_AddRef(This) (This)->lpVtbl->AddRef(This)
    398 #define ICatInformation_Release(This) (This)->lpVtbl->Release(This)
    399 #define ICatInformation_EnumCategories(This,lcid,ppenumCategoryInfo) (This)->lpVtbl->EnumCategories(This,lcid,ppenumCategoryInfo)
    400 #define ICatInformation_GetCategoryDesc(This,rcatid,lcid,pszDesc) (This)->lpVtbl->GetCategoryDesc(This,rcatid,lcid,pszDesc)
    401 #define ICatInformation_EnumClassesOfCategories(This,cImplemented,rgcatidImpl,cRequired,rgcatidReq,ppenumClsid) (This)->lpVtbl->EnumClassesOfCategories(This,cImplemented,rgcatidImpl,cRequired,rgcatidReq,ppenumClsid)
    402 #define ICatInformation_IsClassOfCategories(This,rclsid,cImplemented,rgcatidImpl,cRequired,rgcatidReq) (This)->lpVtbl->IsClassOfCategories(This,rclsid,cImplemented,rgcatidImpl,cRequired,rgcatidReq)
    403 #define ICatInformation_EnumImplCategoriesOfClass(This,rclsid,ppenumCatid) (This)->lpVtbl->EnumImplCategoriesOfClass(This,rclsid,ppenumCatid)
    404 #define ICatInformation_EnumReqCategoriesOfClass(This,rclsid,ppenumCatid) (This)->lpVtbl->EnumReqCategoriesOfClass(This,rclsid,ppenumCatid)
    405 #endif
    406 #endif
    407   HRESULT WINAPI ICatInformation_EnumCategories_Proxy(ICatInformation *This,LCID lcid,IEnumCATEGORYINFO **ppenumCategoryInfo);
    408   void __RPC_STUB ICatInformation_EnumCategories_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    409   HRESULT WINAPI ICatInformation_GetCategoryDesc_Proxy(ICatInformation *This,REFCATID rcatid,LCID lcid,LPWSTR *pszDesc);
    410   void __RPC_STUB ICatInformation_GetCategoryDesc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    411   HRESULT WINAPI ICatInformation_RemoteEnumClassesOfCategories_Proxy(ICatInformation *This,ULONG cImplemented,CATID rgcatidImpl[],ULONG cRequired,CATID rgcatidReq[],IEnumGUID **ppenumClsid);
    412   void __RPC_STUB ICatInformation_RemoteEnumClassesOfCategories_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    413   HRESULT WINAPI ICatInformation_RemoteIsClassOfCategories_Proxy(ICatInformation *This,REFCLSID rclsid,ULONG cImplemented,CATID rgcatidImpl[],ULONG cRequired,CATID rgcatidReq[]);
    414   void __RPC_STUB ICatInformation_RemoteIsClassOfCategories_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    415   HRESULT WINAPI ICatInformation_EnumImplCategoriesOfClass_Proxy(ICatInformation *This,REFCLSID rclsid,IEnumGUID **ppenumCatid);
    416   void __RPC_STUB ICatInformation_EnumImplCategoriesOfClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    417   HRESULT WINAPI ICatInformation_EnumReqCategoriesOfClass_Proxy(ICatInformation *This,REFCLSID rclsid,IEnumGUID **ppenumCatid);
    418   void __RPC_STUB ICatInformation_EnumReqCategoriesOfClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    419 #endif
    420 #endif
    421 
    422   extern RPC_IF_HANDLE __MIDL_itf_comcat_0012_v0_0_c_ifspec;
    423   extern RPC_IF_HANDLE __MIDL_itf_comcat_0012_v0_0_s_ifspec;
    424   HRESULT WINAPI ICatInformation_EnumClassesOfCategories_Proxy(ICatInformation *This,ULONG cImplemented,CATID rgcatidImpl[],ULONG cRequired,CATID rgcatidReq[],IEnumGUID **ppenumClsid);
    425   HRESULT WINAPI ICatInformation_EnumClassesOfCategories_Stub(ICatInformation *This,ULONG cImplemented,CATID rgcatidImpl[],ULONG cRequired,CATID rgcatidReq[],IEnumGUID **ppenumClsid);
    426   HRESULT WINAPI ICatInformation_IsClassOfCategories_Proxy(ICatInformation *This,REFCLSID rclsid,ULONG cImplemented,CATID rgcatidImpl[],ULONG cRequired,CATID rgcatidReq[]);
    427   HRESULT WINAPI ICatInformation_IsClassOfCategories_Stub(ICatInformation *This,REFCLSID rclsid,ULONG cImplemented,CATID rgcatidImpl[],ULONG cRequired,CATID rgcatidReq[]);
    428 /* Begin additional prototypes for all interfaces */
    429 
    430 
    431 /* End additional prototypes */
    432 
    433 #ifdef __cplusplus
    434 }
    435 #endif
    436 
    437 #endif /* __comcat_h__ */
    438