zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

comcat.h (26158B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/comcat.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __comcat_h__
     17 #define __comcat_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __IEnumGUID_FWD_DEFINED__
     22 #define __IEnumGUID_FWD_DEFINED__
     23 typedef interface IEnumGUID IEnumGUID;
     24 #ifdef __cplusplus
     25 interface IEnumGUID;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __IEnumCATEGORYINFO_FWD_DEFINED__
     30 #define __IEnumCATEGORYINFO_FWD_DEFINED__
     31 typedef interface IEnumCATEGORYINFO IEnumCATEGORYINFO;
     32 #ifdef __cplusplus
     33 interface IEnumCATEGORYINFO;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __ICatRegister_FWD_DEFINED__
     38 #define __ICatRegister_FWD_DEFINED__
     39 typedef interface ICatRegister ICatRegister;
     40 #ifdef __cplusplus
     41 interface ICatRegister;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __ICatInformation_FWD_DEFINED__
     46 #define __ICatInformation_FWD_DEFINED__
     47 typedef interface ICatInformation ICatInformation;
     48 #ifdef __cplusplus
     49 interface ICatInformation;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 /* Headers for imported files */
     54 
     55 #include <unknwn.h>
     56 
     57 #ifdef __cplusplus
     58 extern "C" {
     59 #endif
     60 
     61 /**
     62  * This file is part of the mingw-w64 runtime package.
     63  * No warranty is given; refer to the file DISCLAIMER within this package.
     64  */
     65 
     66 #include <winapifamily.h>
     67 
     68 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
     69 #ifndef __IEnumGUID_FWD_DEFINED__
     70 #define __IEnumGUID_FWD_DEFINED__
     71 typedef interface IEnumGUID IEnumGUID;
     72 #ifdef __cplusplus
     73 interface IEnumGUID;
     74 #endif /* __cplusplus */
     75 #endif
     76 
     77 #endif
     78 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
     79 #ifndef __IEnumCATEGORYINFO_FWD_DEFINED__
     80 #define __IEnumCATEGORYINFO_FWD_DEFINED__
     81 typedef interface IEnumCATEGORYINFO IEnumCATEGORYINFO;
     82 #ifdef __cplusplus
     83 interface IEnumCATEGORYINFO;
     84 #endif /* __cplusplus */
     85 #endif
     86 
     87 #ifndef __ICatRegister_FWD_DEFINED__
     88 #define __ICatRegister_FWD_DEFINED__
     89 typedef interface ICatRegister ICatRegister;
     90 #ifdef __cplusplus
     91 interface ICatRegister;
     92 #endif /* __cplusplus */
     93 #endif
     94 
     95 #ifndef __ICatInformation_FWD_DEFINED__
     96 #define __ICatInformation_FWD_DEFINED__
     97 typedef interface ICatInformation ICatInformation;
     98 #ifdef __cplusplus
     99 interface ICatInformation;
    100 #endif /* __cplusplus */
    101 #endif
    102 
    103 
    104 EXTERN_C const CLSID CLSID_StdComponentCategoriesMgr;
    105 #endif
    106 
    107 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
    108 typedef GUID CATID;
    109 typedef REFGUID REFCATID;
    110 #endif
    111 
    112 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
    113 #define IID_IEnumCLSID IID_IEnumGUID
    114 #define IEnumCLSID IEnumGUID
    115 #define LPENUMCLSID LPENUMGUID
    116 
    117 #define CATID_NULL GUID_NULL
    118 #define IsEqualCATID(rcatid1, rcatid2) IsEqualGUID(rcatid1, rcatid2)
    119 #define IID_IEnumCATID IID_IEnumGUID
    120 #define IEnumCATID IEnumGUID
    121 
    122 
    123 EXTERN_C const CATID CATID_Insertable;
    124 EXTERN_C const CATID CATID_Control;
    125 EXTERN_C const CATID CATID_Programmable;
    126 EXTERN_C const CATID CATID_IsShortcut;
    127 EXTERN_C const CATID CATID_NeverShowExt;
    128 EXTERN_C const CATID CATID_DocObject;
    129 EXTERN_C const CATID CATID_Printable;
    130 EXTERN_C const CATID CATID_RequiresDataPathHost;
    131 EXTERN_C const CATID CATID_PersistsToMoniker;
    132 EXTERN_C const CATID CATID_PersistsToStorage;
    133 EXTERN_C const CATID CATID_PersistsToStreamInit;
    134 EXTERN_C const CATID CATID_PersistsToStream;
    135 EXTERN_C const CATID CATID_PersistsToMemory;
    136 EXTERN_C const CATID CATID_PersistsToFile;
    137 EXTERN_C const CATID CATID_PersistsToPropertyBag;
    138 EXTERN_C const CATID CATID_InternetAware;
    139 EXTERN_C const CATID CATID_DesignTimeUIActivatableControl;
    140 #endif
    141 
    142 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
    143 #ifndef _LPENUMGUID_DEFINED
    144 #define _LPENUMGUID_DEFINED
    145 /*****************************************************************************
    146  * IEnumGUID interface
    147  */
    148 #ifndef __IEnumGUID_INTERFACE_DEFINED__
    149 #define __IEnumGUID_INTERFACE_DEFINED__
    150 
    151 typedef IEnumGUID *LPENUMGUID;
    152 DEFINE_GUID(IID_IEnumGUID, 0x0002e000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
    153 #if defined(__cplusplus) && !defined(CINTERFACE)
    154 MIDL_INTERFACE("0002e000-0000-0000-c000-000000000046")
    155 IEnumGUID : public IUnknown
    156 {
    157     virtual HRESULT STDMETHODCALLTYPE Next(
    158         ULONG celt,
    159         GUID *rgelt,
    160         ULONG *pceltFetched) = 0;
    161 
    162     virtual HRESULT STDMETHODCALLTYPE Skip(
    163         ULONG celt) = 0;
    164 
    165     virtual HRESULT STDMETHODCALLTYPE Reset(
    166         ) = 0;
    167 
    168     virtual HRESULT STDMETHODCALLTYPE Clone(
    169         IEnumGUID **ppenum) = 0;
    170 
    171 };
    172 #ifdef __CRT_UUID_DECL
    173 __CRT_UUID_DECL(IEnumGUID, 0x0002e000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
    174 #endif
    175 #else
    176 typedef struct IEnumGUIDVtbl {
    177     BEGIN_INTERFACE
    178 
    179     /*** IUnknown methods ***/
    180     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    181         IEnumGUID *This,
    182         REFIID riid,
    183         void **ppvObject);
    184 
    185     ULONG (STDMETHODCALLTYPE *AddRef)(
    186         IEnumGUID *This);
    187 
    188     ULONG (STDMETHODCALLTYPE *Release)(
    189         IEnumGUID *This);
    190 
    191     /*** IEnumGUID methods ***/
    192     HRESULT (STDMETHODCALLTYPE *Next)(
    193         IEnumGUID *This,
    194         ULONG celt,
    195         GUID *rgelt,
    196         ULONG *pceltFetched);
    197 
    198     HRESULT (STDMETHODCALLTYPE *Skip)(
    199         IEnumGUID *This,
    200         ULONG celt);
    201 
    202     HRESULT (STDMETHODCALLTYPE *Reset)(
    203         IEnumGUID *This);
    204 
    205     HRESULT (STDMETHODCALLTYPE *Clone)(
    206         IEnumGUID *This,
    207         IEnumGUID **ppenum);
    208 
    209     END_INTERFACE
    210 } IEnumGUIDVtbl;
    211 
    212 interface IEnumGUID {
    213     CONST_VTBL IEnumGUIDVtbl* lpVtbl;
    214 };
    215 
    216 #ifdef COBJMACROS
    217 #ifndef WIDL_C_INLINE_WRAPPERS
    218 /*** IUnknown methods ***/
    219 #define IEnumGUID_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    220 #define IEnumGUID_AddRef(This) (This)->lpVtbl->AddRef(This)
    221 #define IEnumGUID_Release(This) (This)->lpVtbl->Release(This)
    222 /*** IEnumGUID methods ***/
    223 #define IEnumGUID_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
    224 #define IEnumGUID_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    225 #define IEnumGUID_Reset(This) (This)->lpVtbl->Reset(This)
    226 #define IEnumGUID_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
    227 #else
    228 /*** IUnknown methods ***/
    229 static inline HRESULT IEnumGUID_QueryInterface(IEnumGUID* This,REFIID riid,void **ppvObject) {
    230     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    231 }
    232 static inline ULONG IEnumGUID_AddRef(IEnumGUID* This) {
    233     return This->lpVtbl->AddRef(This);
    234 }
    235 static inline ULONG IEnumGUID_Release(IEnumGUID* This) {
    236     return This->lpVtbl->Release(This);
    237 }
    238 /*** IEnumGUID methods ***/
    239 static inline HRESULT IEnumGUID_Next(IEnumGUID* This,ULONG celt,GUID *rgelt,ULONG *pceltFetched) {
    240     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
    241 }
    242 static inline HRESULT IEnumGUID_Skip(IEnumGUID* This,ULONG celt) {
    243     return This->lpVtbl->Skip(This,celt);
    244 }
    245 static inline HRESULT IEnumGUID_Reset(IEnumGUID* This) {
    246     return This->lpVtbl->Reset(This);
    247 }
    248 static inline HRESULT IEnumGUID_Clone(IEnumGUID* This,IEnumGUID **ppenum) {
    249     return This->lpVtbl->Clone(This,ppenum);
    250 }
    251 #endif
    252 #endif
    253 
    254 #endif
    255 
    256 HRESULT STDMETHODCALLTYPE IEnumGUID_RemoteNext_Proxy(
    257     IEnumGUID* This,
    258     ULONG celt,
    259     GUID *rgelt,
    260     ULONG *pceltFetched);
    261 void __RPC_STUB IEnumGUID_RemoteNext_Stub(
    262     IRpcStubBuffer* This,
    263     IRpcChannelBuffer* pRpcChannelBuffer,
    264     PRPC_MESSAGE pRpcMessage,
    265     DWORD* pdwStubPhase);
    266 HRESULT CALLBACK IEnumGUID_Next_Proxy(
    267     IEnumGUID* This,
    268     ULONG celt,
    269     GUID *rgelt,
    270     ULONG *pceltFetched);
    271 HRESULT __RPC_STUB IEnumGUID_Next_Stub(
    272     IEnumGUID* This,
    273     ULONG celt,
    274     GUID *rgelt,
    275     ULONG *pceltFetched);
    276 
    277 #endif  /* __IEnumGUID_INTERFACE_DEFINED__ */
    278 
    279 #endif
    280 #endif
    281 
    282 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
    283 #ifndef _LPENUMCATEGORYINFO_DEFINED
    284 #define _LPENUMCATEGORYINFO_DEFINED
    285 /*****************************************************************************
    286  * IEnumCATEGORYINFO interface
    287  */
    288 #ifndef __IEnumCATEGORYINFO_INTERFACE_DEFINED__
    289 #define __IEnumCATEGORYINFO_INTERFACE_DEFINED__
    290 
    291 typedef IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
    292 
    293 typedef struct tagCATEGORYINFO {
    294     CATID catid;
    295     LCID lcid;
    296     OLECHAR szDescription[128];
    297 } CATEGORYINFO;
    298 typedef struct tagCATEGORYINFO *LPCATEGORYINFO;
    299 
    300 DEFINE_GUID(IID_IEnumCATEGORYINFO, 0x0002e011, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
    301 #if defined(__cplusplus) && !defined(CINTERFACE)
    302 MIDL_INTERFACE("0002e011-0000-0000-c000-000000000046")
    303 IEnumCATEGORYINFO : public IUnknown
    304 {
    305     virtual HRESULT STDMETHODCALLTYPE Next(
    306         ULONG celt,
    307         CATEGORYINFO *rgelt,
    308         ULONG *pceltFetched) = 0;
    309 
    310     virtual HRESULT STDMETHODCALLTYPE Skip(
    311         ULONG celt) = 0;
    312 
    313     virtual HRESULT STDMETHODCALLTYPE Reset(
    314         ) = 0;
    315 
    316     virtual HRESULT STDMETHODCALLTYPE Clone(
    317         IEnumCATEGORYINFO **ppenum) = 0;
    318 
    319 };
    320 #ifdef __CRT_UUID_DECL
    321 __CRT_UUID_DECL(IEnumCATEGORYINFO, 0x0002e011, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
    322 #endif
    323 #else
    324 typedef struct IEnumCATEGORYINFOVtbl {
    325     BEGIN_INTERFACE
    326 
    327     /*** IUnknown methods ***/
    328     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    329         IEnumCATEGORYINFO *This,
    330         REFIID riid,
    331         void **ppvObject);
    332 
    333     ULONG (STDMETHODCALLTYPE *AddRef)(
    334         IEnumCATEGORYINFO *This);
    335 
    336     ULONG (STDMETHODCALLTYPE *Release)(
    337         IEnumCATEGORYINFO *This);
    338 
    339     /*** IEnumCATEGORYINFO methods ***/
    340     HRESULT (STDMETHODCALLTYPE *Next)(
    341         IEnumCATEGORYINFO *This,
    342         ULONG celt,
    343         CATEGORYINFO *rgelt,
    344         ULONG *pceltFetched);
    345 
    346     HRESULT (STDMETHODCALLTYPE *Skip)(
    347         IEnumCATEGORYINFO *This,
    348         ULONG celt);
    349 
    350     HRESULT (STDMETHODCALLTYPE *Reset)(
    351         IEnumCATEGORYINFO *This);
    352 
    353     HRESULT (STDMETHODCALLTYPE *Clone)(
    354         IEnumCATEGORYINFO *This,
    355         IEnumCATEGORYINFO **ppenum);
    356 
    357     END_INTERFACE
    358 } IEnumCATEGORYINFOVtbl;
    359 
    360 interface IEnumCATEGORYINFO {
    361     CONST_VTBL IEnumCATEGORYINFOVtbl* lpVtbl;
    362 };
    363 
    364 #ifdef COBJMACROS
    365 #ifndef WIDL_C_INLINE_WRAPPERS
    366 /*** IUnknown methods ***/
    367 #define IEnumCATEGORYINFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    368 #define IEnumCATEGORYINFO_AddRef(This) (This)->lpVtbl->AddRef(This)
    369 #define IEnumCATEGORYINFO_Release(This) (This)->lpVtbl->Release(This)
    370 /*** IEnumCATEGORYINFO methods ***/
    371 #define IEnumCATEGORYINFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
    372 #define IEnumCATEGORYINFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    373 #define IEnumCATEGORYINFO_Reset(This) (This)->lpVtbl->Reset(This)
    374 #define IEnumCATEGORYINFO_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
    375 #else
    376 /*** IUnknown methods ***/
    377 static inline HRESULT IEnumCATEGORYINFO_QueryInterface(IEnumCATEGORYINFO* This,REFIID riid,void **ppvObject) {
    378     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    379 }
    380 static inline ULONG IEnumCATEGORYINFO_AddRef(IEnumCATEGORYINFO* This) {
    381     return This->lpVtbl->AddRef(This);
    382 }
    383 static inline ULONG IEnumCATEGORYINFO_Release(IEnumCATEGORYINFO* This) {
    384     return This->lpVtbl->Release(This);
    385 }
    386 /*** IEnumCATEGORYINFO methods ***/
    387 static inline HRESULT IEnumCATEGORYINFO_Next(IEnumCATEGORYINFO* This,ULONG celt,CATEGORYINFO *rgelt,ULONG *pceltFetched) {
    388     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
    389 }
    390 static inline HRESULT IEnumCATEGORYINFO_Skip(IEnumCATEGORYINFO* This,ULONG celt) {
    391     return This->lpVtbl->Skip(This,celt);
    392 }
    393 static inline HRESULT IEnumCATEGORYINFO_Reset(IEnumCATEGORYINFO* This) {
    394     return This->lpVtbl->Reset(This);
    395 }
    396 static inline HRESULT IEnumCATEGORYINFO_Clone(IEnumCATEGORYINFO* This,IEnumCATEGORYINFO **ppenum) {
    397     return This->lpVtbl->Clone(This,ppenum);
    398 }
    399 #endif
    400 #endif
    401 
    402 #endif
    403 
    404 
    405 #endif  /* __IEnumCATEGORYINFO_INTERFACE_DEFINED__ */
    406 
    407 #endif
    408 
    409 #ifndef _LPCATREGISTER_DEFINED
    410 #define _LPCATREGISTER_DEFINED
    411 /*****************************************************************************
    412  * ICatRegister interface
    413  */
    414 #ifndef __ICatRegister_INTERFACE_DEFINED__
    415 #define __ICatRegister_INTERFACE_DEFINED__
    416 
    417 typedef ICatRegister *LPCATREGISTER;
    418 
    419 DEFINE_GUID(IID_ICatRegister, 0x0002e012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
    420 #if defined(__cplusplus) && !defined(CINTERFACE)
    421 MIDL_INTERFACE("0002e012-0000-0000-c000-000000000046")
    422 ICatRegister : public IUnknown
    423 {
    424     virtual HRESULT STDMETHODCALLTYPE RegisterCategories(
    425         ULONG cCategories,
    426         CATEGORYINFO rgCategoryInfo[]) = 0;
    427 
    428     virtual HRESULT STDMETHODCALLTYPE UnRegisterCategories(
    429         ULONG cCategories,
    430         CATID rgcatid[]) = 0;
    431 
    432     virtual HRESULT STDMETHODCALLTYPE RegisterClassImplCategories(
    433         REFCLSID rclsid,
    434         ULONG cCategories,
    435         CATID rgcatid[]) = 0;
    436 
    437     virtual HRESULT STDMETHODCALLTYPE UnRegisterClassImplCategories(
    438         REFCLSID rclsid,
    439         ULONG cCategories,
    440         CATID rgcatid[]) = 0;
    441 
    442     virtual HRESULT STDMETHODCALLTYPE RegisterClassReqCategories(
    443         REFCLSID rclsid,
    444         ULONG cCategories,
    445         CATID rgcatid[]) = 0;
    446 
    447     virtual HRESULT STDMETHODCALLTYPE UnRegisterClassReqCategories(
    448         REFCLSID rclsid,
    449         ULONG cCategories,
    450         CATID rgcatid[]) = 0;
    451 
    452 };
    453 #ifdef __CRT_UUID_DECL
    454 __CRT_UUID_DECL(ICatRegister, 0x0002e012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
    455 #endif
    456 #else
    457 typedef struct ICatRegisterVtbl {
    458     BEGIN_INTERFACE
    459 
    460     /*** IUnknown methods ***/
    461     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    462         ICatRegister *This,
    463         REFIID riid,
    464         void **ppvObject);
    465 
    466     ULONG (STDMETHODCALLTYPE *AddRef)(
    467         ICatRegister *This);
    468 
    469     ULONG (STDMETHODCALLTYPE *Release)(
    470         ICatRegister *This);
    471 
    472     /*** ICatRegister methods ***/
    473     HRESULT (STDMETHODCALLTYPE *RegisterCategories)(
    474         ICatRegister *This,
    475         ULONG cCategories,
    476         CATEGORYINFO rgCategoryInfo[]);
    477 
    478     HRESULT (STDMETHODCALLTYPE *UnRegisterCategories)(
    479         ICatRegister *This,
    480         ULONG cCategories,
    481         CATID rgcatid[]);
    482 
    483     HRESULT (STDMETHODCALLTYPE *RegisterClassImplCategories)(
    484         ICatRegister *This,
    485         REFCLSID rclsid,
    486         ULONG cCategories,
    487         CATID rgcatid[]);
    488 
    489     HRESULT (STDMETHODCALLTYPE *UnRegisterClassImplCategories)(
    490         ICatRegister *This,
    491         REFCLSID rclsid,
    492         ULONG cCategories,
    493         CATID rgcatid[]);
    494 
    495     HRESULT (STDMETHODCALLTYPE *RegisterClassReqCategories)(
    496         ICatRegister *This,
    497         REFCLSID rclsid,
    498         ULONG cCategories,
    499         CATID rgcatid[]);
    500 
    501     HRESULT (STDMETHODCALLTYPE *UnRegisterClassReqCategories)(
    502         ICatRegister *This,
    503         REFCLSID rclsid,
    504         ULONG cCategories,
    505         CATID rgcatid[]);
    506 
    507     END_INTERFACE
    508 } ICatRegisterVtbl;
    509 
    510 interface ICatRegister {
    511     CONST_VTBL ICatRegisterVtbl* lpVtbl;
    512 };
    513 
    514 #ifdef COBJMACROS
    515 #ifndef WIDL_C_INLINE_WRAPPERS
    516 /*** IUnknown methods ***/
    517 #define ICatRegister_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    518 #define ICatRegister_AddRef(This) (This)->lpVtbl->AddRef(This)
    519 #define ICatRegister_Release(This) (This)->lpVtbl->Release(This)
    520 /*** ICatRegister methods ***/
    521 #define ICatRegister_RegisterCategories(This,cCategories,rgCategoryInfo) (This)->lpVtbl->RegisterCategories(This,cCategories,rgCategoryInfo)
    522 #define ICatRegister_UnRegisterCategories(This,cCategories,rgcatid) (This)->lpVtbl->UnRegisterCategories(This,cCategories,rgcatid)
    523 #define ICatRegister_RegisterClassImplCategories(This,rclsid,cCategories,rgcatid) (This)->lpVtbl->RegisterClassImplCategories(This,rclsid,cCategories,rgcatid)
    524 #define ICatRegister_UnRegisterClassImplCategories(This,rclsid,cCategories,rgcatid) (This)->lpVtbl->UnRegisterClassImplCategories(This,rclsid,cCategories,rgcatid)
    525 #define ICatRegister_RegisterClassReqCategories(This,rclsid,cCategories,rgcatid) (This)->lpVtbl->RegisterClassReqCategories(This,rclsid,cCategories,rgcatid)
    526 #define ICatRegister_UnRegisterClassReqCategories(This,rclsid,cCategories,rgcatid) (This)->lpVtbl->UnRegisterClassReqCategories(This,rclsid,cCategories,rgcatid)
    527 #else
    528 /*** IUnknown methods ***/
    529 static inline HRESULT ICatRegister_QueryInterface(ICatRegister* This,REFIID riid,void **ppvObject) {
    530     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    531 }
    532 static inline ULONG ICatRegister_AddRef(ICatRegister* This) {
    533     return This->lpVtbl->AddRef(This);
    534 }
    535 static inline ULONG ICatRegister_Release(ICatRegister* This) {
    536     return This->lpVtbl->Release(This);
    537 }
    538 /*** ICatRegister methods ***/
    539 static inline HRESULT ICatRegister_RegisterCategories(ICatRegister* This,ULONG cCategories,CATEGORYINFO rgCategoryInfo[]) {
    540     return This->lpVtbl->RegisterCategories(This,cCategories,rgCategoryInfo);
    541 }
    542 static inline HRESULT ICatRegister_UnRegisterCategories(ICatRegister* This,ULONG cCategories,CATID rgcatid[]) {
    543     return This->lpVtbl->UnRegisterCategories(This,cCategories,rgcatid);
    544 }
    545 static inline HRESULT ICatRegister_RegisterClassImplCategories(ICatRegister* This,REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]) {
    546     return This->lpVtbl->RegisterClassImplCategories(This,rclsid,cCategories,rgcatid);
    547 }
    548 static inline HRESULT ICatRegister_UnRegisterClassImplCategories(ICatRegister* This,REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]) {
    549     return This->lpVtbl->UnRegisterClassImplCategories(This,rclsid,cCategories,rgcatid);
    550 }
    551 static inline HRESULT ICatRegister_RegisterClassReqCategories(ICatRegister* This,REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]) {
    552     return This->lpVtbl->RegisterClassReqCategories(This,rclsid,cCategories,rgcatid);
    553 }
    554 static inline HRESULT ICatRegister_UnRegisterClassReqCategories(ICatRegister* This,REFCLSID rclsid,ULONG cCategories,CATID rgcatid[]) {
    555     return This->lpVtbl->UnRegisterClassReqCategories(This,rclsid,cCategories,rgcatid);
    556 }
    557 #endif
    558 #endif
    559 
    560 #endif
    561 
    562 
    563 #endif  /* __ICatRegister_INTERFACE_DEFINED__ */
    564 
    565 #endif
    566 
    567 #ifndef _LPCATINFORMATION_DEFINED
    568 #define _LPCATINFORMATION_DEFINED
    569 /*****************************************************************************
    570  * ICatInformation interface
    571  */
    572 #ifndef __ICatInformation_INTERFACE_DEFINED__
    573 #define __ICatInformation_INTERFACE_DEFINED__
    574 
    575 typedef ICatInformation *LPCATINFORMATION;
    576 
    577 DEFINE_GUID(IID_ICatInformation, 0x0002e013, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
    578 #if defined(__cplusplus) && !defined(CINTERFACE)
    579 MIDL_INTERFACE("0002e013-0000-0000-c000-000000000046")
    580 ICatInformation : public IUnknown
    581 {
    582     virtual HRESULT STDMETHODCALLTYPE EnumCategories(
    583         LCID lcid,
    584         IEnumCATEGORYINFO **ppenumCategoryInfo) = 0;
    585 
    586     virtual HRESULT STDMETHODCALLTYPE GetCategoryDesc(
    587         REFCATID rcatid,
    588         LCID lcid,
    589         LPWSTR *pszDesc) = 0;
    590 
    591     virtual HRESULT STDMETHODCALLTYPE EnumClassesOfCategories(
    592         ULONG cImplemented,
    593         const CATID rgcatidImpl[],
    594         ULONG cRequired,
    595         const CATID rgcatidReq[],
    596         IEnumGUID **ppenumClsid) = 0;
    597 
    598     virtual HRESULT STDMETHODCALLTYPE IsClassOfCategories(
    599         REFCLSID rclsid,
    600         ULONG cImplemented,
    601         const CATID rgcatidImpl[],
    602         ULONG cRequired,
    603         const CATID rgcatidReq[]) = 0;
    604 
    605     virtual HRESULT STDMETHODCALLTYPE EnumImplCategoriesOfClass(
    606         REFCLSID rclsid,
    607         IEnumGUID **ppenumCatid) = 0;
    608 
    609     virtual HRESULT STDMETHODCALLTYPE EnumReqCategoriesOfClass(
    610         REFCLSID rclsid,
    611         IEnumGUID **ppenumCatid) = 0;
    612 
    613 };
    614 #ifdef __CRT_UUID_DECL
    615 __CRT_UUID_DECL(ICatInformation, 0x0002e013, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
    616 #endif
    617 #else
    618 typedef struct ICatInformationVtbl {
    619     BEGIN_INTERFACE
    620 
    621     /*** IUnknown methods ***/
    622     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    623         ICatInformation *This,
    624         REFIID riid,
    625         void **ppvObject);
    626 
    627     ULONG (STDMETHODCALLTYPE *AddRef)(
    628         ICatInformation *This);
    629 
    630     ULONG (STDMETHODCALLTYPE *Release)(
    631         ICatInformation *This);
    632 
    633     /*** ICatInformation methods ***/
    634     HRESULT (STDMETHODCALLTYPE *EnumCategories)(
    635         ICatInformation *This,
    636         LCID lcid,
    637         IEnumCATEGORYINFO **ppenumCategoryInfo);
    638 
    639     HRESULT (STDMETHODCALLTYPE *GetCategoryDesc)(
    640         ICatInformation *This,
    641         REFCATID rcatid,
    642         LCID lcid,
    643         LPWSTR *pszDesc);
    644 
    645     HRESULT (STDMETHODCALLTYPE *EnumClassesOfCategories)(
    646         ICatInformation *This,
    647         ULONG cImplemented,
    648         const CATID rgcatidImpl[],
    649         ULONG cRequired,
    650         const CATID rgcatidReq[],
    651         IEnumGUID **ppenumClsid);
    652 
    653     HRESULT (STDMETHODCALLTYPE *IsClassOfCategories)(
    654         ICatInformation *This,
    655         REFCLSID rclsid,
    656         ULONG cImplemented,
    657         const CATID rgcatidImpl[],
    658         ULONG cRequired,
    659         const CATID rgcatidReq[]);
    660 
    661     HRESULT (STDMETHODCALLTYPE *EnumImplCategoriesOfClass)(
    662         ICatInformation *This,
    663         REFCLSID rclsid,
    664         IEnumGUID **ppenumCatid);
    665 
    666     HRESULT (STDMETHODCALLTYPE *EnumReqCategoriesOfClass)(
    667         ICatInformation *This,
    668         REFCLSID rclsid,
    669         IEnumGUID **ppenumCatid);
    670 
    671     END_INTERFACE
    672 } ICatInformationVtbl;
    673 
    674 interface ICatInformation {
    675     CONST_VTBL ICatInformationVtbl* lpVtbl;
    676 };
    677 
    678 #ifdef COBJMACROS
    679 #ifndef WIDL_C_INLINE_WRAPPERS
    680 /*** IUnknown methods ***/
    681 #define ICatInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    682 #define ICatInformation_AddRef(This) (This)->lpVtbl->AddRef(This)
    683 #define ICatInformation_Release(This) (This)->lpVtbl->Release(This)
    684 /*** ICatInformation methods ***/
    685 #define ICatInformation_EnumCategories(This,lcid,ppenumCategoryInfo) (This)->lpVtbl->EnumCategories(This,lcid,ppenumCategoryInfo)
    686 #define ICatInformation_GetCategoryDesc(This,rcatid,lcid,pszDesc) (This)->lpVtbl->GetCategoryDesc(This,rcatid,lcid,pszDesc)
    687 #define ICatInformation_EnumClassesOfCategories(This,cImplemented,rgcatidImpl,cRequired,rgcatidReq,ppenumClsid) (This)->lpVtbl->EnumClassesOfCategories(This,cImplemented,rgcatidImpl,cRequired,rgcatidReq,ppenumClsid)
    688 #define ICatInformation_IsClassOfCategories(This,rclsid,cImplemented,rgcatidImpl,cRequired,rgcatidReq) (This)->lpVtbl->IsClassOfCategories(This,rclsid,cImplemented,rgcatidImpl,cRequired,rgcatidReq)
    689 #define ICatInformation_EnumImplCategoriesOfClass(This,rclsid,ppenumCatid) (This)->lpVtbl->EnumImplCategoriesOfClass(This,rclsid,ppenumCatid)
    690 #define ICatInformation_EnumReqCategoriesOfClass(This,rclsid,ppenumCatid) (This)->lpVtbl->EnumReqCategoriesOfClass(This,rclsid,ppenumCatid)
    691 #else
    692 /*** IUnknown methods ***/
    693 static inline HRESULT ICatInformation_QueryInterface(ICatInformation* This,REFIID riid,void **ppvObject) {
    694     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    695 }
    696 static inline ULONG ICatInformation_AddRef(ICatInformation* This) {
    697     return This->lpVtbl->AddRef(This);
    698 }
    699 static inline ULONG ICatInformation_Release(ICatInformation* This) {
    700     return This->lpVtbl->Release(This);
    701 }
    702 /*** ICatInformation methods ***/
    703 static inline HRESULT ICatInformation_EnumCategories(ICatInformation* This,LCID lcid,IEnumCATEGORYINFO **ppenumCategoryInfo) {
    704     return This->lpVtbl->EnumCategories(This,lcid,ppenumCategoryInfo);
    705 }
    706 static inline HRESULT ICatInformation_GetCategoryDesc(ICatInformation* This,REFCATID rcatid,LCID lcid,LPWSTR *pszDesc) {
    707     return This->lpVtbl->GetCategoryDesc(This,rcatid,lcid,pszDesc);
    708 }
    709 static inline HRESULT ICatInformation_EnumClassesOfCategories(ICatInformation* This,ULONG cImplemented,const CATID rgcatidImpl[],ULONG cRequired,const CATID rgcatidReq[],IEnumGUID **ppenumClsid) {
    710     return This->lpVtbl->EnumClassesOfCategories(This,cImplemented,rgcatidImpl,cRequired,rgcatidReq,ppenumClsid);
    711 }
    712 static inline HRESULT ICatInformation_IsClassOfCategories(ICatInformation* This,REFCLSID rclsid,ULONG cImplemented,const CATID rgcatidImpl[],ULONG cRequired,const CATID rgcatidReq[]) {
    713     return This->lpVtbl->IsClassOfCategories(This,rclsid,cImplemented,rgcatidImpl,cRequired,rgcatidReq);
    714 }
    715 static inline HRESULT ICatInformation_EnumImplCategoriesOfClass(ICatInformation* This,REFCLSID rclsid,IEnumGUID **ppenumCatid) {
    716     return This->lpVtbl->EnumImplCategoriesOfClass(This,rclsid,ppenumCatid);
    717 }
    718 static inline HRESULT ICatInformation_EnumReqCategoriesOfClass(ICatInformation* This,REFCLSID rclsid,IEnumGUID **ppenumCatid) {
    719     return This->lpVtbl->EnumReqCategoriesOfClass(This,rclsid,ppenumCatid);
    720 }
    721 #endif
    722 #endif
    723 
    724 #endif
    725 
    726 HRESULT STDMETHODCALLTYPE ICatInformation_RemoteEnumClassesOfCategories_Proxy(
    727     ICatInformation* This,
    728     ULONG cImplemented,
    729     const CATID rgcatidImpl[],
    730     ULONG cRequired,
    731     const CATID rgcatidReq[],
    732     IEnumGUID **ppenumClsid);
    733 void __RPC_STUB ICatInformation_RemoteEnumClassesOfCategories_Stub(
    734     IRpcStubBuffer* This,
    735     IRpcChannelBuffer* pRpcChannelBuffer,
    736     PRPC_MESSAGE pRpcMessage,
    737     DWORD* pdwStubPhase);
    738 HRESULT STDMETHODCALLTYPE ICatInformation_RemoteIsClassOfCategories_Proxy(
    739     ICatInformation* This,
    740     REFCLSID rclsid,
    741     ULONG cImplemented,
    742     const CATID rgcatidImpl[],
    743     ULONG cRequired,
    744     const CATID rgcatidReq[]);
    745 void __RPC_STUB ICatInformation_RemoteIsClassOfCategories_Stub(
    746     IRpcStubBuffer* This,
    747     IRpcChannelBuffer* pRpcChannelBuffer,
    748     PRPC_MESSAGE pRpcMessage,
    749     DWORD* pdwStubPhase);
    750 HRESULT CALLBACK ICatInformation_EnumClassesOfCategories_Proxy(
    751     ICatInformation* This,
    752     ULONG cImplemented,
    753     const CATID rgcatidImpl[],
    754     ULONG cRequired,
    755     const CATID rgcatidReq[],
    756     IEnumGUID **ppenumClsid);
    757 HRESULT __RPC_STUB ICatInformation_EnumClassesOfCategories_Stub(
    758     ICatInformation* This,
    759     ULONG cImplemented,
    760     const CATID rgcatidImpl[],
    761     ULONG cRequired,
    762     const CATID rgcatidReq[],
    763     IEnumGUID **ppenumClsid);
    764 HRESULT CALLBACK ICatInformation_IsClassOfCategories_Proxy(
    765     ICatInformation* This,
    766     REFCLSID rclsid,
    767     ULONG cImplemented,
    768     const CATID rgcatidImpl[],
    769     ULONG cRequired,
    770     const CATID rgcatidReq[]);
    771 HRESULT __RPC_STUB ICatInformation_IsClassOfCategories_Stub(
    772     ICatInformation* This,
    773     REFCLSID rclsid,
    774     ULONG cImplemented,
    775     const CATID rgcatidImpl[],
    776     ULONG cRequired,
    777     const CATID rgcatidReq[]);
    778 
    779 #endif  /* __ICatInformation_INTERFACE_DEFINED__ */
    780 
    781 #endif
    782 #endif
    783 /* Begin additional prototypes for all interfaces */
    784 
    785 
    786 /* End additional prototypes */
    787 
    788 #ifdef __cplusplus
    789 }
    790 #endif
    791 
    792 #endif /* __comcat_h__ */