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__
22typedef interface IEnumGUID IEnumGUID;
23#endif
24
25/* Headers for imported files */
26
27#include <unknwn.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33#ifndef __IEnumCATEGORYINFO_FWD_DEFINED__
34#define __IEnumCATEGORYINFO_FWD_DEFINED__
35typedef struct IEnumCATEGORYINFO IEnumCATEGORYINFO;
36#endif
37
38#ifndef __ICatRegister_FWD_DEFINED__
39#define __ICatRegister_FWD_DEFINED__
40typedef struct ICatRegister ICatRegister;
41#endif
42
43#ifndef __ICatInformation_FWD_DEFINED__
44#define __ICatInformation_FWD_DEFINED__
45typedef 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
87typedef IEnumGUID *LPENUMGUID;
88DEFINE_GUID(IID_IEnumGUID, 0x0002e000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
89#if defined(__cplusplus) && !defined(CINTERFACE)
90MIDL_INTERFACE("0002e000-0000-0000-c000-000000000046")
91IEnumGUID : 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
112typedef 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;
147interface 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 ***/
164static FORCEINLINE HRESULT IEnumGUID_QueryInterface(IEnumGUID* This,REFIID riid,void **ppvObject) {
165    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
166}
167static FORCEINLINE ULONG IEnumGUID_AddRef(IEnumGUID* This) {
168    return This->lpVtbl->AddRef(This);
169}
170static FORCEINLINE ULONG IEnumGUID_Release(IEnumGUID* This) {
171    return This->lpVtbl->Release(This);
172}
173/*** IEnumGUID methods ***/
174static FORCEINLINE HRESULT IEnumGUID_Next(IEnumGUID* This,ULONG celt,GUID *rgelt,ULONG *pceltFetched) {
175    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
176}
177static FORCEINLINE HRESULT IEnumGUID_Skip(IEnumGUID* This,ULONG celt) {
178    return This->lpVtbl->Skip(This,celt);
179}
180static FORCEINLINE HRESULT IEnumGUID_Reset(IEnumGUID* This) {
181    return This->lpVtbl->Reset(This);
182}
183static FORCEINLINE HRESULT IEnumGUID_Clone(IEnumGUID* This,IEnumGUID **ppenum) {
184    return This->lpVtbl->Clone(This,ppenum);
185}
186#endif
187#endif
188
189#endif
190
191HRESULT STDMETHODCALLTYPE IEnumGUID_RemoteNext_Proxy(
192    IEnumGUID* This,
193    ULONG celt,
194    GUID *rgelt,
195    ULONG *pceltFetched);
196void __RPC_STUB IEnumGUID_RemoteNext_Stub(
197    IRpcStubBuffer* This,
198    IRpcChannelBuffer* pRpcChannelBuffer,
199    PRPC_MESSAGE pRpcMessage,
200    DWORD* pdwStubPhase);
201HRESULT STDMETHODCALLTYPE IEnumGUID_Skip_Proxy(
202    IEnumGUID* This,
203    ULONG celt);
204void __RPC_STUB IEnumGUID_Skip_Stub(
205    IRpcStubBuffer* This,
206    IRpcChannelBuffer* pRpcChannelBuffer,
207    PRPC_MESSAGE pRpcMessage,
208    DWORD* pdwStubPhase);
209HRESULT STDMETHODCALLTYPE IEnumGUID_Reset_Proxy(
210    IEnumGUID* This);
211void __RPC_STUB IEnumGUID_Reset_Stub(
212    IRpcStubBuffer* This,
213    IRpcChannelBuffer* pRpcChannelBuffer,
214    PRPC_MESSAGE pRpcMessage,
215    DWORD* pdwStubPhase);
216HRESULT STDMETHODCALLTYPE IEnumGUID_Clone_Proxy(
217    IEnumGUID* This,
218    IEnumGUID **ppenum);
219void __RPC_STUB IEnumGUID_Clone_Stub(
220    IRpcStubBuffer* This,
221    IRpcChannelBuffer* pRpcChannelBuffer,
222    PRPC_MESSAGE pRpcMessage,
223    DWORD* pdwStubPhase);
224HRESULT CALLBACK IEnumGUID_Next_Proxy(
225    IEnumGUID* This,
226    ULONG celt,
227    GUID *rgelt,
228    ULONG *pceltFetched);
229HRESULT __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