|  | /*** Autogenerated by WIDL 0.1 from comcat.idl - Do not edit ***/ | 
|  | #include <rpc.h> | 
|  | #include <rpcndr.h> | 
|  |  | 
|  | #ifndef __WIDL_COMCAT_H | 
|  | #define __WIDL_COMCAT_H | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  | #include <unknwn.h> | 
|  | typedef GUID CATID; | 
|  |  | 
|  | typedef REFGUID REFCATID; | 
|  |  | 
|  | #define CATID_NULL GUID_NULL | 
|  | #define IsEqualCATID(rcatid1, rcatid2) IsEqualGUID(rcatid1, rcatid2) | 
|  | #define IEnumCATID IEnumGUID | 
|  | #define IID_IEnumCATID IID_IEnumGUID | 
|  | #define LPENUMCATID LPENUMGUID | 
|  | #define IEnumCLSID IEnumGUID | 
|  | #define IID_IEnumCLSID IID_IEnumGUID | 
|  | #define LPENUMCLSID LPENUMGUID | 
|  | #ifndef __IEnumGUID_FWD_DEFINED__ | 
|  | #define __IEnumGUID_FWD_DEFINED__ | 
|  | typedef struct IEnumGUID IEnumGUID; | 
|  | #endif | 
|  |  | 
|  | typedef IEnumGUID *LPENUMGUID; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumGUID interface | 
|  | */ | 
|  | #ifndef __IEnumGUID_INTERFACE_DEFINED__ | 
|  | #define __IEnumGUID_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumGUID, 0x0002e000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IEnumGUID : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG celt, | 
|  | GUID* rgelt, | 
|  | ULONG* pceltFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG celt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumGUID** ppenum) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IEnumGUIDVtbl IEnumGUIDVtbl; | 
|  | struct IEnumGUID { | 
|  | const IEnumGUIDVtbl* lpVtbl; | 
|  | }; | 
|  | struct IEnumGUIDVtbl { | 
|  | ICOM_MSVTABLE_COMPAT_FIELDS | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumGUID* This, | 
|  | REFIID riid, | 
|  | void** ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumGUID* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumGUID* This); | 
|  |  | 
|  | /*** IEnumGUID methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumGUID* This, | 
|  | ULONG celt, | 
|  | GUID* rgelt, | 
|  | ULONG* pceltFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumGUID* This, | 
|  | ULONG celt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumGUID* This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumGUID* This, | 
|  | IEnumGUID** ppenum); | 
|  |  | 
|  | }; | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumGUID_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | 
|  | #define IEnumGUID_AddRef(p) (p)->lpVtbl->AddRef(p) | 
|  | #define IEnumGUID_Release(p) (p)->lpVtbl->Release(p) | 
|  | /*** IEnumGUID methods ***/ | 
|  | #define IEnumGUID_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) | 
|  | #define IEnumGUID_Skip(p,a) (p)->lpVtbl->Skip(p,a) | 
|  | #define IEnumGUID_Reset(p) (p)->lpVtbl->Reset(p) | 
|  | #define IEnumGUID_Clone(p,a) (p)->lpVtbl->Clone(p,a) | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #define IEnumGUID_METHODS \ | 
|  | ICOM_MSVTABLE_COMPAT_FIELDS \ | 
|  | /*** IUnknown methods ***/ \ | 
|  | STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ | 
|  | STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ | 
|  | STDMETHOD_(ULONG,Release)(THIS) PURE; \ | 
|  | /*** IEnumGUID methods ***/ \ | 
|  | STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, GUID* rgelt, ULONG* pceltFetched) PURE; \ | 
|  | STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ | 
|  | STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ | 
|  | STDMETHOD_(HRESULT,Clone)(THIS_ IEnumGUID** ppenum) PURE; | 
|  |  | 
|  | HRESULT CALLBACK IEnumGUID_Next_Proxy( | 
|  | IEnumGUID* This, | 
|  | ULONG celt, | 
|  | GUID* rgelt, | 
|  | ULONG* pceltFetched); | 
|  | void __RPC_STUB IEnumGUID_Next_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IEnumGUID_Skip_Proxy( | 
|  | IEnumGUID* This, | 
|  | ULONG celt); | 
|  | void __RPC_STUB IEnumGUID_Skip_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IEnumGUID_Reset_Proxy( | 
|  | IEnumGUID* This); | 
|  | void __RPC_STUB IEnumGUID_Reset_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IEnumGUID_Clone_Proxy( | 
|  | IEnumGUID* This, | 
|  | IEnumGUID** ppenum); | 
|  | void __RPC_STUB IEnumGUID_Clone_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IEnumGUID_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #ifndef __IEnumCATEGORYINFO_FWD_DEFINED__ | 
|  | #define __IEnumCATEGORYINFO_FWD_DEFINED__ | 
|  | typedef struct IEnumCATEGORYINFO IEnumCATEGORYINFO; | 
|  | #endif | 
|  |  | 
|  | typedef IEnumCATEGORYINFO *LPENUMCATEGORYINFO; | 
|  |  | 
|  | typedef struct tagCATEGORYINFO { | 
|  | CATID catid; | 
|  | LCID lcid; | 
|  | OLECHAR szDescription[128]; | 
|  | } CATEGORYINFO, *LPCATEGORYINFO; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IEnumCATEGORYINFO interface | 
|  | */ | 
|  | #ifndef __IEnumCATEGORYINFO_INTERFACE_DEFINED__ | 
|  | #define __IEnumCATEGORYINFO_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IEnumCATEGORYINFO, 0x0002e011, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IEnumCATEGORYINFO : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE Next( | 
|  | ULONG celt, | 
|  | CATEGORYINFO* rgelt, | 
|  | ULONG* pceltFetched) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Skip( | 
|  | ULONG celt) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Reset( | 
|  | ) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE Clone( | 
|  | IEnumCATEGORYINFO** ppenum) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IEnumCATEGORYINFOVtbl IEnumCATEGORYINFOVtbl; | 
|  | struct IEnumCATEGORYINFO { | 
|  | const IEnumCATEGORYINFOVtbl* lpVtbl; | 
|  | }; | 
|  | struct IEnumCATEGORYINFOVtbl { | 
|  | ICOM_MSVTABLE_COMPAT_FIELDS | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IEnumCATEGORYINFO* This, | 
|  | REFIID riid, | 
|  | void** ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IEnumCATEGORYINFO* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IEnumCATEGORYINFO* This); | 
|  |  | 
|  | /*** IEnumCATEGORYINFO methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *Next)( | 
|  | IEnumCATEGORYINFO* This, | 
|  | ULONG celt, | 
|  | CATEGORYINFO* rgelt, | 
|  | ULONG* pceltFetched); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Skip)( | 
|  | IEnumCATEGORYINFO* This, | 
|  | ULONG celt); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Reset)( | 
|  | IEnumCATEGORYINFO* This); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *Clone)( | 
|  | IEnumCATEGORYINFO* This, | 
|  | IEnumCATEGORYINFO** ppenum); | 
|  |  | 
|  | }; | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | #define IEnumCATEGORYINFO_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | 
|  | #define IEnumCATEGORYINFO_AddRef(p) (p)->lpVtbl->AddRef(p) | 
|  | #define IEnumCATEGORYINFO_Release(p) (p)->lpVtbl->Release(p) | 
|  | /*** IEnumCATEGORYINFO methods ***/ | 
|  | #define IEnumCATEGORYINFO_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) | 
|  | #define IEnumCATEGORYINFO_Skip(p,a) (p)->lpVtbl->Skip(p,a) | 
|  | #define IEnumCATEGORYINFO_Reset(p) (p)->lpVtbl->Reset(p) | 
|  | #define IEnumCATEGORYINFO_Clone(p,a) (p)->lpVtbl->Clone(p,a) | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #define IEnumCATEGORYINFO_METHODS \ | 
|  | ICOM_MSVTABLE_COMPAT_FIELDS \ | 
|  | /*** IUnknown methods ***/ \ | 
|  | STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ | 
|  | STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ | 
|  | STDMETHOD_(ULONG,Release)(THIS) PURE; \ | 
|  | /*** IEnumCATEGORYINFO methods ***/ \ | 
|  | STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, CATEGORYINFO* rgelt, ULONG* pceltFetched) PURE; \ | 
|  | STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ | 
|  | STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ | 
|  | STDMETHOD_(HRESULT,Clone)(THIS_ IEnumCATEGORYINFO** ppenum) PURE; | 
|  |  | 
|  | HRESULT CALLBACK IEnumCATEGORYINFO_Next_Proxy( | 
|  | IEnumCATEGORYINFO* This, | 
|  | ULONG celt, | 
|  | CATEGORYINFO* rgelt, | 
|  | ULONG* pceltFetched); | 
|  | void __RPC_STUB IEnumCATEGORYINFO_Next_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IEnumCATEGORYINFO_Skip_Proxy( | 
|  | IEnumCATEGORYINFO* This, | 
|  | ULONG celt); | 
|  | void __RPC_STUB IEnumCATEGORYINFO_Skip_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IEnumCATEGORYINFO_Reset_Proxy( | 
|  | IEnumCATEGORYINFO* This); | 
|  | void __RPC_STUB IEnumCATEGORYINFO_Reset_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IEnumCATEGORYINFO_Clone_Proxy( | 
|  | IEnumCATEGORYINFO* This, | 
|  | IEnumCATEGORYINFO** ppenum); | 
|  | void __RPC_STUB IEnumCATEGORYINFO_Clone_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __IEnumCATEGORYINFO_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #ifndef __ICatInformation_FWD_DEFINED__ | 
|  | #define __ICatInformation_FWD_DEFINED__ | 
|  | typedef struct ICatInformation ICatInformation; | 
|  | #endif | 
|  |  | 
|  | typedef ICatInformation *LPCATINFORMATION; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ICatInformation interface | 
|  | */ | 
|  | #ifndef __ICatInformation_INTERFACE_DEFINED__ | 
|  | #define __ICatInformation_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ICatInformation, 0x0002e013, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct ICatInformation : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumCategories( | 
|  | LCID lcid, | 
|  | IEnumCATEGORYINFO** ppenumCategoryInfo) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE GetCategoryDesc( | 
|  | REFCATID rcatid, | 
|  | LCID lcid, | 
|  | LPWSTR* pszDesc) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumClassesOfCategories( | 
|  | ULONG cImplemented, | 
|  | CATID rgcatidImpl[], | 
|  | ULONG cRequired, | 
|  | CATID rgcatidReq[], | 
|  | IEnumGUID** ppenumClsid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE IsClassOfCategories( | 
|  | REFCLSID rclsid, | 
|  | ULONG cImplemented, | 
|  | CATID rgcatidImpl[], | 
|  | ULONG cRequired, | 
|  | CATID rgcatidReq[]) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumImplCategoriesOfClass( | 
|  | REFCLSID rclsid, | 
|  | IEnumGUID** ppenumCatid) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE EnumReqCategoriesOfClass( | 
|  | REFCLSID rclsid, | 
|  | IEnumGUID** ppenumCatid) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct ICatInformationVtbl ICatInformationVtbl; | 
|  | struct ICatInformation { | 
|  | const ICatInformationVtbl* lpVtbl; | 
|  | }; | 
|  | struct ICatInformationVtbl { | 
|  | ICOM_MSVTABLE_COMPAT_FIELDS | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ICatInformation* This, | 
|  | REFIID riid, | 
|  | void** ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ICatInformation* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ICatInformation* This); | 
|  |  | 
|  | /*** ICatInformation methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *EnumCategories)( | 
|  | ICatInformation* This, | 
|  | LCID lcid, | 
|  | IEnumCATEGORYINFO** ppenumCategoryInfo); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *GetCategoryDesc)( | 
|  | ICatInformation* This, | 
|  | REFCATID rcatid, | 
|  | LCID lcid, | 
|  | LPWSTR* pszDesc); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumClassesOfCategories)( | 
|  | ICatInformation* This, | 
|  | ULONG cImplemented, | 
|  | CATID rgcatidImpl[], | 
|  | ULONG cRequired, | 
|  | CATID rgcatidReq[], | 
|  | IEnumGUID** ppenumClsid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *IsClassOfCategories)( | 
|  | ICatInformation* This, | 
|  | REFCLSID rclsid, | 
|  | ULONG cImplemented, | 
|  | CATID rgcatidImpl[], | 
|  | ULONG cRequired, | 
|  | CATID rgcatidReq[]); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumImplCategoriesOfClass)( | 
|  | ICatInformation* This, | 
|  | REFCLSID rclsid, | 
|  | IEnumGUID** ppenumCatid); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *EnumReqCategoriesOfClass)( | 
|  | ICatInformation* This, | 
|  | REFCLSID rclsid, | 
|  | IEnumGUID** ppenumCatid); | 
|  |  | 
|  | }; | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | #define ICatInformation_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | 
|  | #define ICatInformation_AddRef(p) (p)->lpVtbl->AddRef(p) | 
|  | #define ICatInformation_Release(p) (p)->lpVtbl->Release(p) | 
|  | /*** ICatInformation methods ***/ | 
|  | #define ICatInformation_EnumCategories(p,a,b) (p)->lpVtbl->EnumCategories(p,a,b) | 
|  | #define ICatInformation_GetCategoryDesc(p,a,b,c) (p)->lpVtbl->GetCategoryDesc(p,a,b,c) | 
|  | #define ICatInformation_EnumClassesOfCategories(p,a,b,c,d,e) (p)->lpVtbl->EnumClassesOfCategories(p,a,b,c,d,e) | 
|  | #define ICatInformation_IsClassOfCategories(p,a,b,c,d,e) (p)->lpVtbl->IsClassOfCategories(p,a,b,c,d,e) | 
|  | #define ICatInformation_EnumImplCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumImplCategoriesOfClass(p,a,b) | 
|  | #define ICatInformation_EnumReqCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumReqCategoriesOfClass(p,a,b) | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #define ICatInformation_METHODS \ | 
|  | ICOM_MSVTABLE_COMPAT_FIELDS \ | 
|  | /*** IUnknown methods ***/ \ | 
|  | STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ | 
|  | STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ | 
|  | STDMETHOD_(ULONG,Release)(THIS) PURE; \ | 
|  | /*** ICatInformation methods ***/ \ | 
|  | STDMETHOD_(HRESULT,EnumCategories)(THIS_ LCID lcid, IEnumCATEGORYINFO** ppenumCategoryInfo) PURE; \ | 
|  | STDMETHOD_(HRESULT,GetCategoryDesc)(THIS_ REFCATID rcatid, LCID lcid, LPWSTR* pszDesc) PURE; \ | 
|  | STDMETHOD_(HRESULT,EnumClassesOfCategories)(THIS_ ULONG cImplemented, CATID rgcatidImpl[], ULONG cRequired, CATID rgcatidReq[], IEnumGUID** ppenumClsid) PURE; \ | 
|  | STDMETHOD_(HRESULT,IsClassOfCategories)(THIS_ REFCLSID rclsid, ULONG cImplemented, CATID rgcatidImpl[], ULONG cRequired, CATID rgcatidReq[]) PURE; \ | 
|  | STDMETHOD_(HRESULT,EnumImplCategoriesOfClass)(THIS_ REFCLSID rclsid, IEnumGUID** ppenumCatid) PURE; \ | 
|  | STDMETHOD_(HRESULT,EnumReqCategoriesOfClass)(THIS_ REFCLSID rclsid, IEnumGUID** ppenumCatid) PURE; | 
|  |  | 
|  | HRESULT CALLBACK ICatInformation_EnumCategories_Proxy( | 
|  | ICatInformation* This, | 
|  | LCID lcid, | 
|  | IEnumCATEGORYINFO** ppenumCategoryInfo); | 
|  | void __RPC_STUB ICatInformation_EnumCategories_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ICatInformation_GetCategoryDesc_Proxy( | 
|  | ICatInformation* This, | 
|  | REFCATID rcatid, | 
|  | LCID lcid, | 
|  | LPWSTR* pszDesc); | 
|  | void __RPC_STUB ICatInformation_GetCategoryDesc_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ICatInformation_RemoteEnumClassesOfCategories_Proxy( | 
|  | ICatInformation* This, | 
|  | ULONG cImplemented, | 
|  | CATID rgcatidImpl[], | 
|  | ULONG cRequired, | 
|  | CATID rgcatidReq[], | 
|  | IEnumGUID** ppenumClsid); | 
|  | void __RPC_STUB ICatInformation_RemoteEnumClassesOfCategories_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ICatInformation_EnumClassesOfCategories_Proxy( | 
|  | ICatInformation* This, | 
|  | ULONG cImplemented, | 
|  | CATID rgcatidImpl[], | 
|  | ULONG cRequired, | 
|  | CATID rgcatidReq[], | 
|  | IEnumGUID** ppenumClsid); | 
|  | HRESULT __RPC_STUB ICatInformation_EnumClassesOfCategories_Stub( | 
|  | ICatInformation* This, | 
|  | ULONG cImplemented, | 
|  | CATID rgcatidImpl[], | 
|  | ULONG cRequired, | 
|  | CATID rgcatidReq[], | 
|  | IEnumGUID** ppenumClsid); | 
|  | HRESULT CALLBACK ICatInformation_RemoteIsClassOfCategories_Proxy( | 
|  | ICatInformation* This, | 
|  | REFCLSID rclsid, | 
|  | ULONG cImplemented, | 
|  | CATID rgcatidImpl[], | 
|  | ULONG cRequired, | 
|  | CATID rgcatidReq[]); | 
|  | void __RPC_STUB ICatInformation_RemoteIsClassOfCategories_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ICatInformation_IsClassOfCategories_Proxy( | 
|  | ICatInformation* This, | 
|  | REFCLSID rclsid, | 
|  | ULONG cImplemented, | 
|  | CATID rgcatidImpl[], | 
|  | ULONG cRequired, | 
|  | CATID rgcatidReq[]); | 
|  | HRESULT __RPC_STUB ICatInformation_IsClassOfCategories_Stub( | 
|  | ICatInformation* This, | 
|  | REFCLSID rclsid, | 
|  | ULONG cImplemented, | 
|  | CATID rgcatidImpl[], | 
|  | ULONG cRequired, | 
|  | CATID rgcatidReq[]); | 
|  | HRESULT CALLBACK ICatInformation_EnumImplCategoriesOfClass_Proxy( | 
|  | ICatInformation* This, | 
|  | REFCLSID rclsid, | 
|  | IEnumGUID** ppenumCatid); | 
|  | void __RPC_STUB ICatInformation_EnumImplCategoriesOfClass_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ICatInformation_EnumReqCategoriesOfClass_Proxy( | 
|  | ICatInformation* This, | 
|  | REFCLSID rclsid, | 
|  | IEnumGUID** ppenumCatid); | 
|  | void __RPC_STUB ICatInformation_EnumReqCategoriesOfClass_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __ICatInformation_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #ifndef __ICatRegister_FWD_DEFINED__ | 
|  | #define __ICatRegister_FWD_DEFINED__ | 
|  | typedef struct ICatRegister ICatRegister; | 
|  | #endif | 
|  |  | 
|  | typedef ICatRegister *LPCATREGISTER; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * ICatRegister interface | 
|  | */ | 
|  | #ifndef __ICatRegister_INTERFACE_DEFINED__ | 
|  | #define __ICatRegister_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_ICatRegister, 0x0002e012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct ICatRegister : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterCategories( | 
|  | ULONG cCategories, | 
|  | CATEGORYINFO rgCategoryInfo[]) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnRegisterCategories( | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterClassImplCategories( | 
|  | REFCLSID rclsid, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnRegisterClassImplCategories( | 
|  | REFCLSID rclsid, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE RegisterClassReqCategories( | 
|  | REFCLSID rclsid, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]) = 0; | 
|  |  | 
|  | virtual HRESULT STDMETHODCALLTYPE UnRegisterClassReqCategories( | 
|  | REFCLSID rclsid, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct ICatRegisterVtbl ICatRegisterVtbl; | 
|  | struct ICatRegister { | 
|  | const ICatRegisterVtbl* lpVtbl; | 
|  | }; | 
|  | struct ICatRegisterVtbl { | 
|  | ICOM_MSVTABLE_COMPAT_FIELDS | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | ICatRegister* This, | 
|  | REFIID riid, | 
|  | void** ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | ICatRegister* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | ICatRegister* This); | 
|  |  | 
|  | /*** ICatRegister methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterCategories)( | 
|  | ICatRegister* This, | 
|  | ULONG cCategories, | 
|  | CATEGORYINFO rgCategoryInfo[]); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnRegisterCategories)( | 
|  | ICatRegister* This, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterClassImplCategories)( | 
|  | ICatRegister* This, | 
|  | REFCLSID rclsid, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnRegisterClassImplCategories)( | 
|  | ICatRegister* This, | 
|  | REFCLSID rclsid, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *RegisterClassReqCategories)( | 
|  | ICatRegister* This, | 
|  | REFCLSID rclsid, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]); | 
|  |  | 
|  | HRESULT (STDMETHODCALLTYPE *UnRegisterClassReqCategories)( | 
|  | ICatRegister* This, | 
|  | REFCLSID rclsid, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]); | 
|  |  | 
|  | }; | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | #define ICatRegister_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | 
|  | #define ICatRegister_AddRef(p) (p)->lpVtbl->AddRef(p) | 
|  | #define ICatRegister_Release(p) (p)->lpVtbl->Release(p) | 
|  | /*** ICatRegister methods ***/ | 
|  | #define ICatRegister_RegisterCategories(p,a,b) (p)->lpVtbl->RegisterCategories(p,a,b) | 
|  | #define ICatRegister_UnRegisterCategories(p,a,b) (p)->lpVtbl->UnRegisterCategories(p,a,b) | 
|  | #define ICatRegister_RegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->RegisterClassImplCategories(p,a,b,c) | 
|  | #define ICatRegister_UnRegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassImplCategories(p,a,b,c) | 
|  | #define ICatRegister_RegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->RegisterClassReqCategories(p,a,b,c) | 
|  | #define ICatRegister_UnRegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassReqCategories(p,a,b,c) | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #define ICatRegister_METHODS \ | 
|  | ICOM_MSVTABLE_COMPAT_FIELDS \ | 
|  | /*** IUnknown methods ***/ \ | 
|  | STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ | 
|  | STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ | 
|  | STDMETHOD_(ULONG,Release)(THIS) PURE; \ | 
|  | /*** ICatRegister methods ***/ \ | 
|  | STDMETHOD_(HRESULT,RegisterCategories)(THIS_ ULONG cCategories, CATEGORYINFO rgCategoryInfo[]) PURE; \ | 
|  | STDMETHOD_(HRESULT,UnRegisterCategories)(THIS_ ULONG cCategories, CATID rgcatid[]) PURE; \ | 
|  | STDMETHOD_(HRESULT,RegisterClassImplCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; \ | 
|  | STDMETHOD_(HRESULT,UnRegisterClassImplCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; \ | 
|  | STDMETHOD_(HRESULT,RegisterClassReqCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; \ | 
|  | STDMETHOD_(HRESULT,UnRegisterClassReqCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; | 
|  |  | 
|  | HRESULT CALLBACK ICatRegister_RegisterCategories_Proxy( | 
|  | ICatRegister* This, | 
|  | ULONG cCategories, | 
|  | CATEGORYINFO rgCategoryInfo[]); | 
|  | void __RPC_STUB ICatRegister_RegisterCategories_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ICatRegister_UnRegisterCategories_Proxy( | 
|  | ICatRegister* This, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]); | 
|  | void __RPC_STUB ICatRegister_UnRegisterCategories_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ICatRegister_RegisterClassImplCategories_Proxy( | 
|  | ICatRegister* This, | 
|  | REFCLSID rclsid, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]); | 
|  | void __RPC_STUB ICatRegister_RegisterClassImplCategories_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ICatRegister_UnRegisterClassImplCategories_Proxy( | 
|  | ICatRegister* This, | 
|  | REFCLSID rclsid, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]); | 
|  | void __RPC_STUB ICatRegister_UnRegisterClassImplCategories_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ICatRegister_RegisterClassReqCategories_Proxy( | 
|  | ICatRegister* This, | 
|  | REFCLSID rclsid, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]); | 
|  | void __RPC_STUB ICatRegister_RegisterClassReqCategories_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK ICatRegister_UnRegisterClassReqCategories_Proxy( | 
|  | ICatRegister* This, | 
|  | REFCLSID rclsid, | 
|  | ULONG cCategories, | 
|  | CATID rgcatid[]); | 
|  | void __RPC_STUB ICatRegister_UnRegisterClassReqCategories_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  |  | 
|  | #endif  /* __ICatRegister_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | DEFINE_GUID( CATID_Insertable, 0x40fc6ed3, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); | 
|  | DEFINE_GUID( CATID_Control, 0x40fc6ed4, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); | 
|  | DEFINE_GUID( CATID_Programmable, 0x40fc6ed5, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); | 
|  | DEFINE_GUID( CATID_IsShortcut, 0x40fc6ed6, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); | 
|  | DEFINE_GUID( CATID_NeverShowExt, 0x40fc6ed7, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); | 
|  | DEFINE_GUID( CATID_DocObject, 0x40fc6ed8, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); | 
|  | DEFINE_GUID( CATID_Printable, 0x40fc6ed9, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); | 
|  | DEFINE_GUID( CATID_RequiresDataPathHost, 0x0de86a50, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); | 
|  | DEFINE_GUID( CATID_PersistsToMoniker, 0x0de86a51, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); | 
|  | DEFINE_GUID( CATID_PersistsToStorage, 0x0de86a52, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); | 
|  | DEFINE_GUID( CATID_PersistsToStreamInit, 0x0de86a53, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); | 
|  | DEFINE_GUID( CATID_PersistsToStream, 0x0de86a54, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); | 
|  | DEFINE_GUID( CATID_PersistsToMemory, 0x0de86a55, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); | 
|  | DEFINE_GUID( CATID_PersistsToFile, 0x0de86a56, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); | 
|  | DEFINE_GUID( CATID_PersistsToPropertyBag, 0x0de86a57, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); | 
|  | DEFINE_GUID( CATID_InternetAware, 0x0de86a58, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); | 
|  | DEFINE_GUID( CATID_DesignTimeUIActivatableControl, 0xf2bb56d1, 0xdb07, 0x11d1, 0xaa, 0x6b, 0x00, 0x60, 0x97, 0xdb, 0x95, 0x39); | 
|  | DEFINE_GUID(CLSID_StdComponentCategoriesMgr, 0x0002e005, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46); | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  | #endif /* __WIDL_COMCAT_H */ |