Fixed header dependencies to be fully compatible with the Windows
[wine/multimedia.git] / include / comcat.h
blob4e0d4358b06f32b6f5793cef4c888dec331b29a0
1 /*** Autogenerated by WIDL 0.1 from comcat.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
5 #ifndef __WIDL_COMCAT_H
6 #define __WIDL_COMCAT_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include <unknwn.h>
11 typedef GUID CATID;
13 typedef REFGUID REFCATID;
15 #define CATID_NULL GUID_NULL
16 #define IsEqualCATID(rcatid1, rcatid2) IsEqualGUID(rcatid1, rcatid2)
17 #define IEnumCATID IEnumGUID
18 #define IID_IEnumCATID IID_IEnumGUID
19 #define LPENUMCATID LPENUMGUID
20 #define IEnumCLSID IEnumGUID
21 #define IID_IEnumCLSID IID_IEnumGUID
22 #define LPENUMCLSID LPENUMGUID
23 #ifndef __IEnumGUID_FWD_DEFINED__
24 #define __IEnumGUID_FWD_DEFINED__
25 typedef struct IEnumGUID IEnumGUID;
26 #endif
28 typedef IEnumGUID *LPENUMGUID;
30 /*****************************************************************************
31 * IEnumGUID interface
33 #ifndef __IEnumGUID_INTERFACE_DEFINED__
34 #define __IEnumGUID_INTERFACE_DEFINED__
36 DEFINE_GUID(IID_IEnumGUID, 0x0002e000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
37 #if defined(__cplusplus) && !defined(CINTERFACE)
38 struct IEnumGUID : public IUnknown
40 virtual HRESULT STDMETHODCALLTYPE Next(
41 ULONG celt,
42 GUID* rgelt,
43 ULONG* pceltFetched) = 0;
45 virtual HRESULT STDMETHODCALLTYPE Skip(
46 ULONG celt) = 0;
48 virtual HRESULT STDMETHODCALLTYPE Reset(
49 ) = 0;
51 virtual HRESULT STDMETHODCALLTYPE Clone(
52 IEnumGUID** ppenum) = 0;
55 #else
56 typedef struct IEnumGUIDVtbl IEnumGUIDVtbl;
57 struct IEnumGUID {
58 const IEnumGUIDVtbl* lpVtbl;
60 struct IEnumGUIDVtbl {
61 ICOM_MSVTABLE_COMPAT_FIELDS
63 /*** IUnknown methods ***/
64 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
65 IEnumGUID* This,
66 REFIID riid,
67 void** ppvObject);
69 ULONG (STDMETHODCALLTYPE *AddRef)(
70 IEnumGUID* This);
72 ULONG (STDMETHODCALLTYPE *Release)(
73 IEnumGUID* This);
75 /*** IEnumGUID methods ***/
76 HRESULT (STDMETHODCALLTYPE *Next)(
77 IEnumGUID* This,
78 ULONG celt,
79 GUID* rgelt,
80 ULONG* pceltFetched);
82 HRESULT (STDMETHODCALLTYPE *Skip)(
83 IEnumGUID* This,
84 ULONG celt);
86 HRESULT (STDMETHODCALLTYPE *Reset)(
87 IEnumGUID* This);
89 HRESULT (STDMETHODCALLTYPE *Clone)(
90 IEnumGUID* This,
91 IEnumGUID** ppenum);
95 /*** IUnknown methods ***/
96 #define IEnumGUID_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
97 #define IEnumGUID_AddRef(p) (p)->lpVtbl->AddRef(p)
98 #define IEnumGUID_Release(p) (p)->lpVtbl->Release(p)
99 /*** IEnumGUID methods ***/
100 #define IEnumGUID_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
101 #define IEnumGUID_Skip(p,a) (p)->lpVtbl->Skip(p,a)
102 #define IEnumGUID_Reset(p) (p)->lpVtbl->Reset(p)
103 #define IEnumGUID_Clone(p,a) (p)->lpVtbl->Clone(p,a)
105 #endif
107 #define IEnumGUID_METHODS \
108 ICOM_MSVTABLE_COMPAT_FIELDS \
109 /*** IUnknown methods ***/ \
110 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
111 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
112 STDMETHOD_(ULONG,Release)(THIS) PURE; \
113 /*** IEnumGUID methods ***/ \
114 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, GUID* rgelt, ULONG* pceltFetched) PURE; \
115 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
116 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
117 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumGUID** ppenum) PURE;
119 HRESULT CALLBACK IEnumGUID_Next_Proxy(
120 IEnumGUID* This,
121 ULONG celt,
122 GUID* rgelt,
123 ULONG* pceltFetched);
124 void __RPC_STUB IEnumGUID_Next_Stub(
125 struct IRpcStubBuffer* This,
126 struct IRpcChannelBuffer* pRpcChannelBuffer,
127 PRPC_MESSAGE pRpcMessage,
128 DWORD* pdwStubPhase);
129 HRESULT CALLBACK IEnumGUID_Skip_Proxy(
130 IEnumGUID* This,
131 ULONG celt);
132 void __RPC_STUB IEnumGUID_Skip_Stub(
133 struct IRpcStubBuffer* This,
134 struct IRpcChannelBuffer* pRpcChannelBuffer,
135 PRPC_MESSAGE pRpcMessage,
136 DWORD* pdwStubPhase);
137 HRESULT CALLBACK IEnumGUID_Reset_Proxy(
138 IEnumGUID* This);
139 void __RPC_STUB IEnumGUID_Reset_Stub(
140 struct IRpcStubBuffer* This,
141 struct IRpcChannelBuffer* pRpcChannelBuffer,
142 PRPC_MESSAGE pRpcMessage,
143 DWORD* pdwStubPhase);
144 HRESULT CALLBACK IEnumGUID_Clone_Proxy(
145 IEnumGUID* This,
146 IEnumGUID** ppenum);
147 void __RPC_STUB IEnumGUID_Clone_Stub(
148 struct IRpcStubBuffer* This,
149 struct IRpcChannelBuffer* pRpcChannelBuffer,
150 PRPC_MESSAGE pRpcMessage,
151 DWORD* pdwStubPhase);
153 #endif /* __IEnumGUID_INTERFACE_DEFINED__ */
155 #ifndef __IEnumCATEGORYINFO_FWD_DEFINED__
156 #define __IEnumCATEGORYINFO_FWD_DEFINED__
157 typedef struct IEnumCATEGORYINFO IEnumCATEGORYINFO;
158 #endif
160 typedef IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
162 typedef struct tagCATEGORYINFO {
163 CATID catid;
164 LCID lcid;
165 OLECHAR szDescription[128];
166 } CATEGORYINFO, *LPCATEGORYINFO;
168 /*****************************************************************************
169 * IEnumCATEGORYINFO interface
171 #ifndef __IEnumCATEGORYINFO_INTERFACE_DEFINED__
172 #define __IEnumCATEGORYINFO_INTERFACE_DEFINED__
174 DEFINE_GUID(IID_IEnumCATEGORYINFO, 0x0002e011, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
175 #if defined(__cplusplus) && !defined(CINTERFACE)
176 struct IEnumCATEGORYINFO : public IUnknown
178 virtual HRESULT STDMETHODCALLTYPE Next(
179 ULONG celt,
180 CATEGORYINFO* rgelt,
181 ULONG* pceltFetched) = 0;
183 virtual HRESULT STDMETHODCALLTYPE Skip(
184 ULONG celt) = 0;
186 virtual HRESULT STDMETHODCALLTYPE Reset(
187 ) = 0;
189 virtual HRESULT STDMETHODCALLTYPE Clone(
190 IEnumCATEGORYINFO** ppenum) = 0;
193 #else
194 typedef struct IEnumCATEGORYINFOVtbl IEnumCATEGORYINFOVtbl;
195 struct IEnumCATEGORYINFO {
196 const IEnumCATEGORYINFOVtbl* lpVtbl;
198 struct IEnumCATEGORYINFOVtbl {
199 ICOM_MSVTABLE_COMPAT_FIELDS
201 /*** IUnknown methods ***/
202 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
203 IEnumCATEGORYINFO* This,
204 REFIID riid,
205 void** ppvObject);
207 ULONG (STDMETHODCALLTYPE *AddRef)(
208 IEnumCATEGORYINFO* This);
210 ULONG (STDMETHODCALLTYPE *Release)(
211 IEnumCATEGORYINFO* This);
213 /*** IEnumCATEGORYINFO methods ***/
214 HRESULT (STDMETHODCALLTYPE *Next)(
215 IEnumCATEGORYINFO* This,
216 ULONG celt,
217 CATEGORYINFO* rgelt,
218 ULONG* pceltFetched);
220 HRESULT (STDMETHODCALLTYPE *Skip)(
221 IEnumCATEGORYINFO* This,
222 ULONG celt);
224 HRESULT (STDMETHODCALLTYPE *Reset)(
225 IEnumCATEGORYINFO* This);
227 HRESULT (STDMETHODCALLTYPE *Clone)(
228 IEnumCATEGORYINFO* This,
229 IEnumCATEGORYINFO** ppenum);
233 /*** IUnknown methods ***/
234 #define IEnumCATEGORYINFO_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
235 #define IEnumCATEGORYINFO_AddRef(p) (p)->lpVtbl->AddRef(p)
236 #define IEnumCATEGORYINFO_Release(p) (p)->lpVtbl->Release(p)
237 /*** IEnumCATEGORYINFO methods ***/
238 #define IEnumCATEGORYINFO_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
239 #define IEnumCATEGORYINFO_Skip(p,a) (p)->lpVtbl->Skip(p,a)
240 #define IEnumCATEGORYINFO_Reset(p) (p)->lpVtbl->Reset(p)
241 #define IEnumCATEGORYINFO_Clone(p,a) (p)->lpVtbl->Clone(p,a)
243 #endif
245 #define IEnumCATEGORYINFO_METHODS \
246 ICOM_MSVTABLE_COMPAT_FIELDS \
247 /*** IUnknown methods ***/ \
248 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
249 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
250 STDMETHOD_(ULONG,Release)(THIS) PURE; \
251 /*** IEnumCATEGORYINFO methods ***/ \
252 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, CATEGORYINFO* rgelt, ULONG* pceltFetched) PURE; \
253 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
254 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
255 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumCATEGORYINFO** ppenum) PURE;
257 HRESULT CALLBACK IEnumCATEGORYINFO_Next_Proxy(
258 IEnumCATEGORYINFO* This,
259 ULONG celt,
260 CATEGORYINFO* rgelt,
261 ULONG* pceltFetched);
262 void __RPC_STUB IEnumCATEGORYINFO_Next_Stub(
263 struct IRpcStubBuffer* This,
264 struct IRpcChannelBuffer* pRpcChannelBuffer,
265 PRPC_MESSAGE pRpcMessage,
266 DWORD* pdwStubPhase);
267 HRESULT CALLBACK IEnumCATEGORYINFO_Skip_Proxy(
268 IEnumCATEGORYINFO* This,
269 ULONG celt);
270 void __RPC_STUB IEnumCATEGORYINFO_Skip_Stub(
271 struct IRpcStubBuffer* This,
272 struct IRpcChannelBuffer* pRpcChannelBuffer,
273 PRPC_MESSAGE pRpcMessage,
274 DWORD* pdwStubPhase);
275 HRESULT CALLBACK IEnumCATEGORYINFO_Reset_Proxy(
276 IEnumCATEGORYINFO* This);
277 void __RPC_STUB IEnumCATEGORYINFO_Reset_Stub(
278 struct IRpcStubBuffer* This,
279 struct IRpcChannelBuffer* pRpcChannelBuffer,
280 PRPC_MESSAGE pRpcMessage,
281 DWORD* pdwStubPhase);
282 HRESULT CALLBACK IEnumCATEGORYINFO_Clone_Proxy(
283 IEnumCATEGORYINFO* This,
284 IEnumCATEGORYINFO** ppenum);
285 void __RPC_STUB IEnumCATEGORYINFO_Clone_Stub(
286 struct IRpcStubBuffer* This,
287 struct IRpcChannelBuffer* pRpcChannelBuffer,
288 PRPC_MESSAGE pRpcMessage,
289 DWORD* pdwStubPhase);
291 #endif /* __IEnumCATEGORYINFO_INTERFACE_DEFINED__ */
293 #ifndef __ICatInformation_FWD_DEFINED__
294 #define __ICatInformation_FWD_DEFINED__
295 typedef struct ICatInformation ICatInformation;
296 #endif
298 typedef ICatInformation *LPCATINFORMATION;
300 /*****************************************************************************
301 * ICatInformation interface
303 #ifndef __ICatInformation_INTERFACE_DEFINED__
304 #define __ICatInformation_INTERFACE_DEFINED__
306 DEFINE_GUID(IID_ICatInformation, 0x0002e013, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
307 #if defined(__cplusplus) && !defined(CINTERFACE)
308 struct ICatInformation : public IUnknown
310 virtual HRESULT STDMETHODCALLTYPE EnumCategories(
311 LCID lcid,
312 IEnumCATEGORYINFO** ppenumCategoryInfo) = 0;
314 virtual HRESULT STDMETHODCALLTYPE GetCategoryDesc(
315 REFCATID rcatid,
316 LCID lcid,
317 LPWSTR* pszDesc) = 0;
319 virtual HRESULT STDMETHODCALLTYPE EnumClassesOfCategories(
320 ULONG cImplemented,
321 CATID rgcatidImpl[],
322 ULONG cRequired,
323 CATID rgcatidReq[],
324 IEnumGUID** ppenumClsid) = 0;
326 virtual HRESULT STDMETHODCALLTYPE IsClassOfCategories(
327 REFCLSID rclsid,
328 ULONG cImplemented,
329 CATID rgcatidImpl[],
330 ULONG cRequired,
331 CATID rgcatidReq[]) = 0;
333 virtual HRESULT STDMETHODCALLTYPE EnumImplCategoriesOfClass(
334 REFCLSID rclsid,
335 IEnumGUID** ppenumCatid) = 0;
337 virtual HRESULT STDMETHODCALLTYPE EnumReqCategoriesOfClass(
338 REFCLSID rclsid,
339 IEnumGUID** ppenumCatid) = 0;
342 #else
343 typedef struct ICatInformationVtbl ICatInformationVtbl;
344 struct ICatInformation {
345 const ICatInformationVtbl* lpVtbl;
347 struct ICatInformationVtbl {
348 ICOM_MSVTABLE_COMPAT_FIELDS
350 /*** IUnknown methods ***/
351 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
352 ICatInformation* This,
353 REFIID riid,
354 void** ppvObject);
356 ULONG (STDMETHODCALLTYPE *AddRef)(
357 ICatInformation* This);
359 ULONG (STDMETHODCALLTYPE *Release)(
360 ICatInformation* This);
362 /*** ICatInformation methods ***/
363 HRESULT (STDMETHODCALLTYPE *EnumCategories)(
364 ICatInformation* This,
365 LCID lcid,
366 IEnumCATEGORYINFO** ppenumCategoryInfo);
368 HRESULT (STDMETHODCALLTYPE *GetCategoryDesc)(
369 ICatInformation* This,
370 REFCATID rcatid,
371 LCID lcid,
372 LPWSTR* pszDesc);
374 HRESULT (STDMETHODCALLTYPE *EnumClassesOfCategories)(
375 ICatInformation* This,
376 ULONG cImplemented,
377 CATID rgcatidImpl[],
378 ULONG cRequired,
379 CATID rgcatidReq[],
380 IEnumGUID** ppenumClsid);
382 HRESULT (STDMETHODCALLTYPE *IsClassOfCategories)(
383 ICatInformation* This,
384 REFCLSID rclsid,
385 ULONG cImplemented,
386 CATID rgcatidImpl[],
387 ULONG cRequired,
388 CATID rgcatidReq[]);
390 HRESULT (STDMETHODCALLTYPE *EnumImplCategoriesOfClass)(
391 ICatInformation* This,
392 REFCLSID rclsid,
393 IEnumGUID** ppenumCatid);
395 HRESULT (STDMETHODCALLTYPE *EnumReqCategoriesOfClass)(
396 ICatInformation* This,
397 REFCLSID rclsid,
398 IEnumGUID** ppenumCatid);
402 /*** IUnknown methods ***/
403 #define ICatInformation_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
404 #define ICatInformation_AddRef(p) (p)->lpVtbl->AddRef(p)
405 #define ICatInformation_Release(p) (p)->lpVtbl->Release(p)
406 /*** ICatInformation methods ***/
407 #define ICatInformation_EnumCategories(p,a,b) (p)->lpVtbl->EnumCategories(p,a,b)
408 #define ICatInformation_GetCategoryDesc(p,a,b,c) (p)->lpVtbl->GetCategoryDesc(p,a,b,c)
409 #define ICatInformation_EnumClassesOfCategories(p,a,b,c,d,e) (p)->lpVtbl->EnumClassesOfCategories(p,a,b,c,d,e)
410 #define ICatInformation_IsClassOfCategories(p,a,b,c,d,e) (p)->lpVtbl->IsClassOfCategories(p,a,b,c,d,e)
411 #define ICatInformation_EnumImplCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumImplCategoriesOfClass(p,a,b)
412 #define ICatInformation_EnumReqCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumReqCategoriesOfClass(p,a,b)
414 #endif
416 #define ICatInformation_METHODS \
417 ICOM_MSVTABLE_COMPAT_FIELDS \
418 /*** IUnknown methods ***/ \
419 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
420 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
421 STDMETHOD_(ULONG,Release)(THIS) PURE; \
422 /*** ICatInformation methods ***/ \
423 STDMETHOD_(HRESULT,EnumCategories)(THIS_ LCID lcid, IEnumCATEGORYINFO** ppenumCategoryInfo) PURE; \
424 STDMETHOD_(HRESULT,GetCategoryDesc)(THIS_ REFCATID rcatid, LCID lcid, LPWSTR* pszDesc) PURE; \
425 STDMETHOD_(HRESULT,EnumClassesOfCategories)(THIS_ ULONG cImplemented, CATID rgcatidImpl[], ULONG cRequired, CATID rgcatidReq[], IEnumGUID** ppenumClsid) PURE; \
426 STDMETHOD_(HRESULT,IsClassOfCategories)(THIS_ REFCLSID rclsid, ULONG cImplemented, CATID rgcatidImpl[], ULONG cRequired, CATID rgcatidReq[]) PURE; \
427 STDMETHOD_(HRESULT,EnumImplCategoriesOfClass)(THIS_ REFCLSID rclsid, IEnumGUID** ppenumCatid) PURE; \
428 STDMETHOD_(HRESULT,EnumReqCategoriesOfClass)(THIS_ REFCLSID rclsid, IEnumGUID** ppenumCatid) PURE;
430 HRESULT CALLBACK ICatInformation_EnumCategories_Proxy(
431 ICatInformation* This,
432 LCID lcid,
433 IEnumCATEGORYINFO** ppenumCategoryInfo);
434 void __RPC_STUB ICatInformation_EnumCategories_Stub(
435 struct IRpcStubBuffer* This,
436 struct IRpcChannelBuffer* pRpcChannelBuffer,
437 PRPC_MESSAGE pRpcMessage,
438 DWORD* pdwStubPhase);
439 HRESULT CALLBACK ICatInformation_GetCategoryDesc_Proxy(
440 ICatInformation* This,
441 REFCATID rcatid,
442 LCID lcid,
443 LPWSTR* pszDesc);
444 void __RPC_STUB ICatInformation_GetCategoryDesc_Stub(
445 struct IRpcStubBuffer* This,
446 struct IRpcChannelBuffer* pRpcChannelBuffer,
447 PRPC_MESSAGE pRpcMessage,
448 DWORD* pdwStubPhase);
449 HRESULT CALLBACK ICatInformation_RemoteEnumClassesOfCategories_Proxy(
450 ICatInformation* This,
451 ULONG cImplemented,
452 CATID rgcatidImpl[],
453 ULONG cRequired,
454 CATID rgcatidReq[],
455 IEnumGUID** ppenumClsid);
456 void __RPC_STUB ICatInformation_RemoteEnumClassesOfCategories_Stub(
457 struct IRpcStubBuffer* This,
458 struct IRpcChannelBuffer* pRpcChannelBuffer,
459 PRPC_MESSAGE pRpcMessage,
460 DWORD* pdwStubPhase);
461 HRESULT CALLBACK ICatInformation_EnumClassesOfCategories_Proxy(
462 ICatInformation* This,
463 ULONG cImplemented,
464 CATID rgcatidImpl[],
465 ULONG cRequired,
466 CATID rgcatidReq[],
467 IEnumGUID** ppenumClsid);
468 HRESULT __RPC_STUB ICatInformation_EnumClassesOfCategories_Stub(
469 ICatInformation* This,
470 ULONG cImplemented,
471 CATID rgcatidImpl[],
472 ULONG cRequired,
473 CATID rgcatidReq[],
474 IEnumGUID** ppenumClsid);
475 HRESULT CALLBACK ICatInformation_RemoteIsClassOfCategories_Proxy(
476 ICatInformation* This,
477 REFCLSID rclsid,
478 ULONG cImplemented,
479 CATID rgcatidImpl[],
480 ULONG cRequired,
481 CATID rgcatidReq[]);
482 void __RPC_STUB ICatInformation_RemoteIsClassOfCategories_Stub(
483 struct IRpcStubBuffer* This,
484 struct IRpcChannelBuffer* pRpcChannelBuffer,
485 PRPC_MESSAGE pRpcMessage,
486 DWORD* pdwStubPhase);
487 HRESULT CALLBACK ICatInformation_IsClassOfCategories_Proxy(
488 ICatInformation* This,
489 REFCLSID rclsid,
490 ULONG cImplemented,
491 CATID rgcatidImpl[],
492 ULONG cRequired,
493 CATID rgcatidReq[]);
494 HRESULT __RPC_STUB ICatInformation_IsClassOfCategories_Stub(
495 ICatInformation* This,
496 REFCLSID rclsid,
497 ULONG cImplemented,
498 CATID rgcatidImpl[],
499 ULONG cRequired,
500 CATID rgcatidReq[]);
501 HRESULT CALLBACK ICatInformation_EnumImplCategoriesOfClass_Proxy(
502 ICatInformation* This,
503 REFCLSID rclsid,
504 IEnumGUID** ppenumCatid);
505 void __RPC_STUB ICatInformation_EnumImplCategoriesOfClass_Stub(
506 struct IRpcStubBuffer* This,
507 struct IRpcChannelBuffer* pRpcChannelBuffer,
508 PRPC_MESSAGE pRpcMessage,
509 DWORD* pdwStubPhase);
510 HRESULT CALLBACK ICatInformation_EnumReqCategoriesOfClass_Proxy(
511 ICatInformation* This,
512 REFCLSID rclsid,
513 IEnumGUID** ppenumCatid);
514 void __RPC_STUB ICatInformation_EnumReqCategoriesOfClass_Stub(
515 struct IRpcStubBuffer* This,
516 struct IRpcChannelBuffer* pRpcChannelBuffer,
517 PRPC_MESSAGE pRpcMessage,
518 DWORD* pdwStubPhase);
520 #endif /* __ICatInformation_INTERFACE_DEFINED__ */
522 #ifndef __ICatRegister_FWD_DEFINED__
523 #define __ICatRegister_FWD_DEFINED__
524 typedef struct ICatRegister ICatRegister;
525 #endif
527 typedef ICatRegister *LPCATREGISTER;
529 /*****************************************************************************
530 * ICatRegister interface
532 #ifndef __ICatRegister_INTERFACE_DEFINED__
533 #define __ICatRegister_INTERFACE_DEFINED__
535 DEFINE_GUID(IID_ICatRegister, 0x0002e012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
536 #if defined(__cplusplus) && !defined(CINTERFACE)
537 struct ICatRegister : public IUnknown
539 virtual HRESULT STDMETHODCALLTYPE RegisterCategories(
540 ULONG cCategories,
541 CATEGORYINFO rgCategoryInfo[]) = 0;
543 virtual HRESULT STDMETHODCALLTYPE UnRegisterCategories(
544 ULONG cCategories,
545 CATID rgcatid[]) = 0;
547 virtual HRESULT STDMETHODCALLTYPE RegisterClassImplCategories(
548 REFCLSID rclsid,
549 ULONG cCategories,
550 CATID rgcatid[]) = 0;
552 virtual HRESULT STDMETHODCALLTYPE UnRegisterClassImplCategories(
553 REFCLSID rclsid,
554 ULONG cCategories,
555 CATID rgcatid[]) = 0;
557 virtual HRESULT STDMETHODCALLTYPE RegisterClassReqCategories(
558 REFCLSID rclsid,
559 ULONG cCategories,
560 CATID rgcatid[]) = 0;
562 virtual HRESULT STDMETHODCALLTYPE UnRegisterClassReqCategories(
563 REFCLSID rclsid,
564 ULONG cCategories,
565 CATID rgcatid[]) = 0;
568 #else
569 typedef struct ICatRegisterVtbl ICatRegisterVtbl;
570 struct ICatRegister {
571 const ICatRegisterVtbl* lpVtbl;
573 struct ICatRegisterVtbl {
574 ICOM_MSVTABLE_COMPAT_FIELDS
576 /*** IUnknown methods ***/
577 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
578 ICatRegister* This,
579 REFIID riid,
580 void** ppvObject);
582 ULONG (STDMETHODCALLTYPE *AddRef)(
583 ICatRegister* This);
585 ULONG (STDMETHODCALLTYPE *Release)(
586 ICatRegister* This);
588 /*** ICatRegister methods ***/
589 HRESULT (STDMETHODCALLTYPE *RegisterCategories)(
590 ICatRegister* This,
591 ULONG cCategories,
592 CATEGORYINFO rgCategoryInfo[]);
594 HRESULT (STDMETHODCALLTYPE *UnRegisterCategories)(
595 ICatRegister* This,
596 ULONG cCategories,
597 CATID rgcatid[]);
599 HRESULT (STDMETHODCALLTYPE *RegisterClassImplCategories)(
600 ICatRegister* This,
601 REFCLSID rclsid,
602 ULONG cCategories,
603 CATID rgcatid[]);
605 HRESULT (STDMETHODCALLTYPE *UnRegisterClassImplCategories)(
606 ICatRegister* This,
607 REFCLSID rclsid,
608 ULONG cCategories,
609 CATID rgcatid[]);
611 HRESULT (STDMETHODCALLTYPE *RegisterClassReqCategories)(
612 ICatRegister* This,
613 REFCLSID rclsid,
614 ULONG cCategories,
615 CATID rgcatid[]);
617 HRESULT (STDMETHODCALLTYPE *UnRegisterClassReqCategories)(
618 ICatRegister* This,
619 REFCLSID rclsid,
620 ULONG cCategories,
621 CATID rgcatid[]);
625 /*** IUnknown methods ***/
626 #define ICatRegister_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
627 #define ICatRegister_AddRef(p) (p)->lpVtbl->AddRef(p)
628 #define ICatRegister_Release(p) (p)->lpVtbl->Release(p)
629 /*** ICatRegister methods ***/
630 #define ICatRegister_RegisterCategories(p,a,b) (p)->lpVtbl->RegisterCategories(p,a,b)
631 #define ICatRegister_UnRegisterCategories(p,a,b) (p)->lpVtbl->UnRegisterCategories(p,a,b)
632 #define ICatRegister_RegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->RegisterClassImplCategories(p,a,b,c)
633 #define ICatRegister_UnRegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassImplCategories(p,a,b,c)
634 #define ICatRegister_RegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->RegisterClassReqCategories(p,a,b,c)
635 #define ICatRegister_UnRegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassReqCategories(p,a,b,c)
637 #endif
639 #define ICatRegister_METHODS \
640 ICOM_MSVTABLE_COMPAT_FIELDS \
641 /*** IUnknown methods ***/ \
642 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
643 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
644 STDMETHOD_(ULONG,Release)(THIS) PURE; \
645 /*** ICatRegister methods ***/ \
646 STDMETHOD_(HRESULT,RegisterCategories)(THIS_ ULONG cCategories, CATEGORYINFO rgCategoryInfo[]) PURE; \
647 STDMETHOD_(HRESULT,UnRegisterCategories)(THIS_ ULONG cCategories, CATID rgcatid[]) PURE; \
648 STDMETHOD_(HRESULT,RegisterClassImplCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; \
649 STDMETHOD_(HRESULT,UnRegisterClassImplCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; \
650 STDMETHOD_(HRESULT,RegisterClassReqCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; \
651 STDMETHOD_(HRESULT,UnRegisterClassReqCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE;
653 HRESULT CALLBACK ICatRegister_RegisterCategories_Proxy(
654 ICatRegister* This,
655 ULONG cCategories,
656 CATEGORYINFO rgCategoryInfo[]);
657 void __RPC_STUB ICatRegister_RegisterCategories_Stub(
658 struct IRpcStubBuffer* This,
659 struct IRpcChannelBuffer* pRpcChannelBuffer,
660 PRPC_MESSAGE pRpcMessage,
661 DWORD* pdwStubPhase);
662 HRESULT CALLBACK ICatRegister_UnRegisterCategories_Proxy(
663 ICatRegister* This,
664 ULONG cCategories,
665 CATID rgcatid[]);
666 void __RPC_STUB ICatRegister_UnRegisterCategories_Stub(
667 struct IRpcStubBuffer* This,
668 struct IRpcChannelBuffer* pRpcChannelBuffer,
669 PRPC_MESSAGE pRpcMessage,
670 DWORD* pdwStubPhase);
671 HRESULT CALLBACK ICatRegister_RegisterClassImplCategories_Proxy(
672 ICatRegister* This,
673 REFCLSID rclsid,
674 ULONG cCategories,
675 CATID rgcatid[]);
676 void __RPC_STUB ICatRegister_RegisterClassImplCategories_Stub(
677 struct IRpcStubBuffer* This,
678 struct IRpcChannelBuffer* pRpcChannelBuffer,
679 PRPC_MESSAGE pRpcMessage,
680 DWORD* pdwStubPhase);
681 HRESULT CALLBACK ICatRegister_UnRegisterClassImplCategories_Proxy(
682 ICatRegister* This,
683 REFCLSID rclsid,
684 ULONG cCategories,
685 CATID rgcatid[]);
686 void __RPC_STUB ICatRegister_UnRegisterClassImplCategories_Stub(
687 struct IRpcStubBuffer* This,
688 struct IRpcChannelBuffer* pRpcChannelBuffer,
689 PRPC_MESSAGE pRpcMessage,
690 DWORD* pdwStubPhase);
691 HRESULT CALLBACK ICatRegister_RegisterClassReqCategories_Proxy(
692 ICatRegister* This,
693 REFCLSID rclsid,
694 ULONG cCategories,
695 CATID rgcatid[]);
696 void __RPC_STUB ICatRegister_RegisterClassReqCategories_Stub(
697 struct IRpcStubBuffer* This,
698 struct IRpcChannelBuffer* pRpcChannelBuffer,
699 PRPC_MESSAGE pRpcMessage,
700 DWORD* pdwStubPhase);
701 HRESULT CALLBACK ICatRegister_UnRegisterClassReqCategories_Proxy(
702 ICatRegister* This,
703 REFCLSID rclsid,
704 ULONG cCategories,
705 CATID rgcatid[]);
706 void __RPC_STUB ICatRegister_UnRegisterClassReqCategories_Stub(
707 struct IRpcStubBuffer* This,
708 struct IRpcChannelBuffer* pRpcChannelBuffer,
709 PRPC_MESSAGE pRpcMessage,
710 DWORD* pdwStubPhase);
712 #endif /* __ICatRegister_INTERFACE_DEFINED__ */
714 DEFINE_GUID( CATID_Insertable, 0x40fc6ed3, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
715 DEFINE_GUID( CATID_Control, 0x40fc6ed4, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
716 DEFINE_GUID( CATID_Programmable, 0x40fc6ed5, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
717 DEFINE_GUID( CATID_IsShortcut, 0x40fc6ed6, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
718 DEFINE_GUID( CATID_NeverShowExt, 0x40fc6ed7, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
719 DEFINE_GUID( CATID_DocObject, 0x40fc6ed8, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
720 DEFINE_GUID( CATID_Printable, 0x40fc6ed9, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
721 DEFINE_GUID( CATID_RequiresDataPathHost, 0x0de86a50, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
722 DEFINE_GUID( CATID_PersistsToMoniker, 0x0de86a51, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
723 DEFINE_GUID( CATID_PersistsToStorage, 0x0de86a52, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
724 DEFINE_GUID( CATID_PersistsToStreamInit, 0x0de86a53, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
725 DEFINE_GUID( CATID_PersistsToStream, 0x0de86a54, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
726 DEFINE_GUID( CATID_PersistsToMemory, 0x0de86a55, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
727 DEFINE_GUID( CATID_PersistsToFile, 0x0de86a56, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
728 DEFINE_GUID( CATID_PersistsToPropertyBag, 0x0de86a57, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
729 DEFINE_GUID( CATID_InternetAware, 0x0de86a58, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
730 DEFINE_GUID( CATID_DesignTimeUIActivatableControl, 0xf2bb56d1, 0xdb07, 0x11d1, 0xaa, 0x6b, 0x00, 0x60, 0x97, 0xdb, 0x95, 0x39);
731 DEFINE_GUID(CLSID_StdComponentCategoriesMgr, 0x0002e005, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
732 #ifdef __cplusplus
734 #endif
735 #endif /* __WIDL_COMCAT_H */