Add a bunch of new MDI tests.
[wine.git] / include / comcat.h
blobda56f0a4032725a369681a94f69541af78dc5498
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 BEGIN_INTERFACE
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);
93 END_INTERFACE
96 #ifdef COBJMACROS
97 /*** IUnknown methods ***/
98 #define IEnumGUID_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
99 #define IEnumGUID_AddRef(p) (p)->lpVtbl->AddRef(p)
100 #define IEnumGUID_Release(p) (p)->lpVtbl->Release(p)
101 /*** IEnumGUID methods ***/
102 #define IEnumGUID_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
103 #define IEnumGUID_Skip(p,a) (p)->lpVtbl->Skip(p,a)
104 #define IEnumGUID_Reset(p) (p)->lpVtbl->Reset(p)
105 #define IEnumGUID_Clone(p,a) (p)->lpVtbl->Clone(p,a)
106 #endif
108 #endif
110 #define IEnumGUID_METHODS \
111 /*** IUnknown methods ***/ \
112 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
113 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
114 STDMETHOD_(ULONG,Release)(THIS) PURE; \
115 /*** IEnumGUID methods ***/ \
116 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, GUID* rgelt, ULONG* pceltFetched) PURE; \
117 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
118 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
119 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumGUID** ppenum) PURE;
121 HRESULT CALLBACK IEnumGUID_Next_Proxy(
122 IEnumGUID* This,
123 ULONG celt,
124 GUID* rgelt,
125 ULONG* pceltFetched);
126 void __RPC_STUB IEnumGUID_Next_Stub(
127 struct IRpcStubBuffer* This,
128 struct IRpcChannelBuffer* pRpcChannelBuffer,
129 PRPC_MESSAGE pRpcMessage,
130 DWORD* pdwStubPhase);
131 HRESULT CALLBACK IEnumGUID_Skip_Proxy(
132 IEnumGUID* This,
133 ULONG celt);
134 void __RPC_STUB IEnumGUID_Skip_Stub(
135 struct IRpcStubBuffer* This,
136 struct IRpcChannelBuffer* pRpcChannelBuffer,
137 PRPC_MESSAGE pRpcMessage,
138 DWORD* pdwStubPhase);
139 HRESULT CALLBACK IEnumGUID_Reset_Proxy(
140 IEnumGUID* This);
141 void __RPC_STUB IEnumGUID_Reset_Stub(
142 struct IRpcStubBuffer* This,
143 struct IRpcChannelBuffer* pRpcChannelBuffer,
144 PRPC_MESSAGE pRpcMessage,
145 DWORD* pdwStubPhase);
146 HRESULT CALLBACK IEnumGUID_Clone_Proxy(
147 IEnumGUID* This,
148 IEnumGUID** ppenum);
149 void __RPC_STUB IEnumGUID_Clone_Stub(
150 struct IRpcStubBuffer* This,
151 struct IRpcChannelBuffer* pRpcChannelBuffer,
152 PRPC_MESSAGE pRpcMessage,
153 DWORD* pdwStubPhase);
155 #endif /* __IEnumGUID_INTERFACE_DEFINED__ */
157 #ifndef __IEnumCATEGORYINFO_FWD_DEFINED__
158 #define __IEnumCATEGORYINFO_FWD_DEFINED__
159 typedef struct IEnumCATEGORYINFO IEnumCATEGORYINFO;
160 #endif
162 typedef IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
164 typedef struct tagCATEGORYINFO {
165 CATID catid;
166 LCID lcid;
167 OLECHAR szDescription[128];
168 } CATEGORYINFO, *LPCATEGORYINFO;
170 /*****************************************************************************
171 * IEnumCATEGORYINFO interface
173 #ifndef __IEnumCATEGORYINFO_INTERFACE_DEFINED__
174 #define __IEnumCATEGORYINFO_INTERFACE_DEFINED__
176 DEFINE_GUID(IID_IEnumCATEGORYINFO, 0x0002e011, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
177 #if defined(__cplusplus) && !defined(CINTERFACE)
178 struct IEnumCATEGORYINFO : public IUnknown
180 virtual HRESULT STDMETHODCALLTYPE Next(
181 ULONG celt,
182 CATEGORYINFO* rgelt,
183 ULONG* pceltFetched) = 0;
185 virtual HRESULT STDMETHODCALLTYPE Skip(
186 ULONG celt) = 0;
188 virtual HRESULT STDMETHODCALLTYPE Reset(
189 ) = 0;
191 virtual HRESULT STDMETHODCALLTYPE Clone(
192 IEnumCATEGORYINFO** ppenum) = 0;
195 #else
196 typedef struct IEnumCATEGORYINFOVtbl IEnumCATEGORYINFOVtbl;
197 struct IEnumCATEGORYINFO {
198 const IEnumCATEGORYINFOVtbl* lpVtbl;
200 struct IEnumCATEGORYINFOVtbl {
201 BEGIN_INTERFACE
203 /*** IUnknown methods ***/
204 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
205 IEnumCATEGORYINFO* This,
206 REFIID riid,
207 void** ppvObject);
209 ULONG (STDMETHODCALLTYPE *AddRef)(
210 IEnumCATEGORYINFO* This);
212 ULONG (STDMETHODCALLTYPE *Release)(
213 IEnumCATEGORYINFO* This);
215 /*** IEnumCATEGORYINFO methods ***/
216 HRESULT (STDMETHODCALLTYPE *Next)(
217 IEnumCATEGORYINFO* This,
218 ULONG celt,
219 CATEGORYINFO* rgelt,
220 ULONG* pceltFetched);
222 HRESULT (STDMETHODCALLTYPE *Skip)(
223 IEnumCATEGORYINFO* This,
224 ULONG celt);
226 HRESULT (STDMETHODCALLTYPE *Reset)(
227 IEnumCATEGORYINFO* This);
229 HRESULT (STDMETHODCALLTYPE *Clone)(
230 IEnumCATEGORYINFO* This,
231 IEnumCATEGORYINFO** ppenum);
233 END_INTERFACE
236 #ifdef COBJMACROS
237 /*** IUnknown methods ***/
238 #define IEnumCATEGORYINFO_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
239 #define IEnumCATEGORYINFO_AddRef(p) (p)->lpVtbl->AddRef(p)
240 #define IEnumCATEGORYINFO_Release(p) (p)->lpVtbl->Release(p)
241 /*** IEnumCATEGORYINFO methods ***/
242 #define IEnumCATEGORYINFO_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
243 #define IEnumCATEGORYINFO_Skip(p,a) (p)->lpVtbl->Skip(p,a)
244 #define IEnumCATEGORYINFO_Reset(p) (p)->lpVtbl->Reset(p)
245 #define IEnumCATEGORYINFO_Clone(p,a) (p)->lpVtbl->Clone(p,a)
246 #endif
248 #endif
250 #define IEnumCATEGORYINFO_METHODS \
251 /*** IUnknown methods ***/ \
252 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
253 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
254 STDMETHOD_(ULONG,Release)(THIS) PURE; \
255 /*** IEnumCATEGORYINFO methods ***/ \
256 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, CATEGORYINFO* rgelt, ULONG* pceltFetched) PURE; \
257 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
258 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
259 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumCATEGORYINFO** ppenum) PURE;
261 HRESULT CALLBACK IEnumCATEGORYINFO_Next_Proxy(
262 IEnumCATEGORYINFO* This,
263 ULONG celt,
264 CATEGORYINFO* rgelt,
265 ULONG* pceltFetched);
266 void __RPC_STUB IEnumCATEGORYINFO_Next_Stub(
267 struct IRpcStubBuffer* This,
268 struct IRpcChannelBuffer* pRpcChannelBuffer,
269 PRPC_MESSAGE pRpcMessage,
270 DWORD* pdwStubPhase);
271 HRESULT CALLBACK IEnumCATEGORYINFO_Skip_Proxy(
272 IEnumCATEGORYINFO* This,
273 ULONG celt);
274 void __RPC_STUB IEnumCATEGORYINFO_Skip_Stub(
275 struct IRpcStubBuffer* This,
276 struct IRpcChannelBuffer* pRpcChannelBuffer,
277 PRPC_MESSAGE pRpcMessage,
278 DWORD* pdwStubPhase);
279 HRESULT CALLBACK IEnumCATEGORYINFO_Reset_Proxy(
280 IEnumCATEGORYINFO* This);
281 void __RPC_STUB IEnumCATEGORYINFO_Reset_Stub(
282 struct IRpcStubBuffer* This,
283 struct IRpcChannelBuffer* pRpcChannelBuffer,
284 PRPC_MESSAGE pRpcMessage,
285 DWORD* pdwStubPhase);
286 HRESULT CALLBACK IEnumCATEGORYINFO_Clone_Proxy(
287 IEnumCATEGORYINFO* This,
288 IEnumCATEGORYINFO** ppenum);
289 void __RPC_STUB IEnumCATEGORYINFO_Clone_Stub(
290 struct IRpcStubBuffer* This,
291 struct IRpcChannelBuffer* pRpcChannelBuffer,
292 PRPC_MESSAGE pRpcMessage,
293 DWORD* pdwStubPhase);
295 #endif /* __IEnumCATEGORYINFO_INTERFACE_DEFINED__ */
297 #ifndef __ICatInformation_FWD_DEFINED__
298 #define __ICatInformation_FWD_DEFINED__
299 typedef struct ICatInformation ICatInformation;
300 #endif
302 typedef ICatInformation *LPCATINFORMATION;
304 /*****************************************************************************
305 * ICatInformation interface
307 #ifndef __ICatInformation_INTERFACE_DEFINED__
308 #define __ICatInformation_INTERFACE_DEFINED__
310 DEFINE_GUID(IID_ICatInformation, 0x0002e013, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
311 #if defined(__cplusplus) && !defined(CINTERFACE)
312 struct ICatInformation : public IUnknown
314 virtual HRESULT STDMETHODCALLTYPE EnumCategories(
315 LCID lcid,
316 IEnumCATEGORYINFO** ppenumCategoryInfo) = 0;
318 virtual HRESULT STDMETHODCALLTYPE GetCategoryDesc(
319 REFCATID rcatid,
320 LCID lcid,
321 LPWSTR* pszDesc) = 0;
323 virtual HRESULT STDMETHODCALLTYPE EnumClassesOfCategories(
324 ULONG cImplemented,
325 CATID rgcatidImpl[],
326 ULONG cRequired,
327 CATID rgcatidReq[],
328 IEnumGUID** ppenumClsid) = 0;
330 virtual HRESULT STDMETHODCALLTYPE IsClassOfCategories(
331 REFCLSID rclsid,
332 ULONG cImplemented,
333 CATID rgcatidImpl[],
334 ULONG cRequired,
335 CATID rgcatidReq[]) = 0;
337 virtual HRESULT STDMETHODCALLTYPE EnumImplCategoriesOfClass(
338 REFCLSID rclsid,
339 IEnumGUID** ppenumCatid) = 0;
341 virtual HRESULT STDMETHODCALLTYPE EnumReqCategoriesOfClass(
342 REFCLSID rclsid,
343 IEnumGUID** ppenumCatid) = 0;
346 #else
347 typedef struct ICatInformationVtbl ICatInformationVtbl;
348 struct ICatInformation {
349 const ICatInformationVtbl* lpVtbl;
351 struct ICatInformationVtbl {
352 BEGIN_INTERFACE
354 /*** IUnknown methods ***/
355 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
356 ICatInformation* This,
357 REFIID riid,
358 void** ppvObject);
360 ULONG (STDMETHODCALLTYPE *AddRef)(
361 ICatInformation* This);
363 ULONG (STDMETHODCALLTYPE *Release)(
364 ICatInformation* This);
366 /*** ICatInformation methods ***/
367 HRESULT (STDMETHODCALLTYPE *EnumCategories)(
368 ICatInformation* This,
369 LCID lcid,
370 IEnumCATEGORYINFO** ppenumCategoryInfo);
372 HRESULT (STDMETHODCALLTYPE *GetCategoryDesc)(
373 ICatInformation* This,
374 REFCATID rcatid,
375 LCID lcid,
376 LPWSTR* pszDesc);
378 HRESULT (STDMETHODCALLTYPE *EnumClassesOfCategories)(
379 ICatInformation* This,
380 ULONG cImplemented,
381 CATID rgcatidImpl[],
382 ULONG cRequired,
383 CATID rgcatidReq[],
384 IEnumGUID** ppenumClsid);
386 HRESULT (STDMETHODCALLTYPE *IsClassOfCategories)(
387 ICatInformation* This,
388 REFCLSID rclsid,
389 ULONG cImplemented,
390 CATID rgcatidImpl[],
391 ULONG cRequired,
392 CATID rgcatidReq[]);
394 HRESULT (STDMETHODCALLTYPE *EnumImplCategoriesOfClass)(
395 ICatInformation* This,
396 REFCLSID rclsid,
397 IEnumGUID** ppenumCatid);
399 HRESULT (STDMETHODCALLTYPE *EnumReqCategoriesOfClass)(
400 ICatInformation* This,
401 REFCLSID rclsid,
402 IEnumGUID** ppenumCatid);
404 END_INTERFACE
407 #ifdef COBJMACROS
408 /*** IUnknown methods ***/
409 #define ICatInformation_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
410 #define ICatInformation_AddRef(p) (p)->lpVtbl->AddRef(p)
411 #define ICatInformation_Release(p) (p)->lpVtbl->Release(p)
412 /*** ICatInformation methods ***/
413 #define ICatInformation_EnumCategories(p,a,b) (p)->lpVtbl->EnumCategories(p,a,b)
414 #define ICatInformation_GetCategoryDesc(p,a,b,c) (p)->lpVtbl->GetCategoryDesc(p,a,b,c)
415 #define ICatInformation_EnumClassesOfCategories(p,a,b,c,d,e) (p)->lpVtbl->EnumClassesOfCategories(p,a,b,c,d,e)
416 #define ICatInformation_IsClassOfCategories(p,a,b,c,d,e) (p)->lpVtbl->IsClassOfCategories(p,a,b,c,d,e)
417 #define ICatInformation_EnumImplCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumImplCategoriesOfClass(p,a,b)
418 #define ICatInformation_EnumReqCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumReqCategoriesOfClass(p,a,b)
419 #endif
421 #endif
423 #define ICatInformation_METHODS \
424 /*** IUnknown methods ***/ \
425 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
426 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
427 STDMETHOD_(ULONG,Release)(THIS) PURE; \
428 /*** ICatInformation methods ***/ \
429 STDMETHOD_(HRESULT,EnumCategories)(THIS_ LCID lcid, IEnumCATEGORYINFO** ppenumCategoryInfo) PURE; \
430 STDMETHOD_(HRESULT,GetCategoryDesc)(THIS_ REFCATID rcatid, LCID lcid, LPWSTR* pszDesc) PURE; \
431 STDMETHOD_(HRESULT,EnumClassesOfCategories)(THIS_ ULONG cImplemented, CATID rgcatidImpl[], ULONG cRequired, CATID rgcatidReq[], IEnumGUID** ppenumClsid) PURE; \
432 STDMETHOD_(HRESULT,IsClassOfCategories)(THIS_ REFCLSID rclsid, ULONG cImplemented, CATID rgcatidImpl[], ULONG cRequired, CATID rgcatidReq[]) PURE; \
433 STDMETHOD_(HRESULT,EnumImplCategoriesOfClass)(THIS_ REFCLSID rclsid, IEnumGUID** ppenumCatid) PURE; \
434 STDMETHOD_(HRESULT,EnumReqCategoriesOfClass)(THIS_ REFCLSID rclsid, IEnumGUID** ppenumCatid) PURE;
436 HRESULT CALLBACK ICatInformation_EnumCategories_Proxy(
437 ICatInformation* This,
438 LCID lcid,
439 IEnumCATEGORYINFO** ppenumCategoryInfo);
440 void __RPC_STUB ICatInformation_EnumCategories_Stub(
441 struct IRpcStubBuffer* This,
442 struct IRpcChannelBuffer* pRpcChannelBuffer,
443 PRPC_MESSAGE pRpcMessage,
444 DWORD* pdwStubPhase);
445 HRESULT CALLBACK ICatInformation_GetCategoryDesc_Proxy(
446 ICatInformation* This,
447 REFCATID rcatid,
448 LCID lcid,
449 LPWSTR* pszDesc);
450 void __RPC_STUB ICatInformation_GetCategoryDesc_Stub(
451 struct IRpcStubBuffer* This,
452 struct IRpcChannelBuffer* pRpcChannelBuffer,
453 PRPC_MESSAGE pRpcMessage,
454 DWORD* pdwStubPhase);
455 HRESULT CALLBACK ICatInformation_RemoteEnumClassesOfCategories_Proxy(
456 ICatInformation* This,
457 ULONG cImplemented,
458 CATID rgcatidImpl[],
459 ULONG cRequired,
460 CATID rgcatidReq[],
461 IEnumGUID** ppenumClsid);
462 void __RPC_STUB ICatInformation_RemoteEnumClassesOfCategories_Stub(
463 struct IRpcStubBuffer* This,
464 struct IRpcChannelBuffer* pRpcChannelBuffer,
465 PRPC_MESSAGE pRpcMessage,
466 DWORD* pdwStubPhase);
467 HRESULT CALLBACK ICatInformation_EnumClassesOfCategories_Proxy(
468 ICatInformation* This,
469 ULONG cImplemented,
470 CATID rgcatidImpl[],
471 ULONG cRequired,
472 CATID rgcatidReq[],
473 IEnumGUID** ppenumClsid);
474 HRESULT __RPC_STUB ICatInformation_EnumClassesOfCategories_Stub(
475 ICatInformation* This,
476 ULONG cImplemented,
477 CATID rgcatidImpl[],
478 ULONG cRequired,
479 CATID rgcatidReq[],
480 IEnumGUID** ppenumClsid);
481 HRESULT CALLBACK ICatInformation_RemoteIsClassOfCategories_Proxy(
482 ICatInformation* This,
483 REFCLSID rclsid,
484 ULONG cImplemented,
485 CATID rgcatidImpl[],
486 ULONG cRequired,
487 CATID rgcatidReq[]);
488 void __RPC_STUB ICatInformation_RemoteIsClassOfCategories_Stub(
489 struct IRpcStubBuffer* This,
490 struct IRpcChannelBuffer* pRpcChannelBuffer,
491 PRPC_MESSAGE pRpcMessage,
492 DWORD* pdwStubPhase);
493 HRESULT CALLBACK ICatInformation_IsClassOfCategories_Proxy(
494 ICatInformation* This,
495 REFCLSID rclsid,
496 ULONG cImplemented,
497 CATID rgcatidImpl[],
498 ULONG cRequired,
499 CATID rgcatidReq[]);
500 HRESULT __RPC_STUB ICatInformation_IsClassOfCategories_Stub(
501 ICatInformation* This,
502 REFCLSID rclsid,
503 ULONG cImplemented,
504 CATID rgcatidImpl[],
505 ULONG cRequired,
506 CATID rgcatidReq[]);
507 HRESULT CALLBACK ICatInformation_EnumImplCategoriesOfClass_Proxy(
508 ICatInformation* This,
509 REFCLSID rclsid,
510 IEnumGUID** ppenumCatid);
511 void __RPC_STUB ICatInformation_EnumImplCategoriesOfClass_Stub(
512 struct IRpcStubBuffer* This,
513 struct IRpcChannelBuffer* pRpcChannelBuffer,
514 PRPC_MESSAGE pRpcMessage,
515 DWORD* pdwStubPhase);
516 HRESULT CALLBACK ICatInformation_EnumReqCategoriesOfClass_Proxy(
517 ICatInformation* This,
518 REFCLSID rclsid,
519 IEnumGUID** ppenumCatid);
520 void __RPC_STUB ICatInformation_EnumReqCategoriesOfClass_Stub(
521 struct IRpcStubBuffer* This,
522 struct IRpcChannelBuffer* pRpcChannelBuffer,
523 PRPC_MESSAGE pRpcMessage,
524 DWORD* pdwStubPhase);
526 #endif /* __ICatInformation_INTERFACE_DEFINED__ */
528 #ifndef __ICatRegister_FWD_DEFINED__
529 #define __ICatRegister_FWD_DEFINED__
530 typedef struct ICatRegister ICatRegister;
531 #endif
533 typedef ICatRegister *LPCATREGISTER;
535 /*****************************************************************************
536 * ICatRegister interface
538 #ifndef __ICatRegister_INTERFACE_DEFINED__
539 #define __ICatRegister_INTERFACE_DEFINED__
541 DEFINE_GUID(IID_ICatRegister, 0x0002e012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
542 #if defined(__cplusplus) && !defined(CINTERFACE)
543 struct ICatRegister : public IUnknown
545 virtual HRESULT STDMETHODCALLTYPE RegisterCategories(
546 ULONG cCategories,
547 CATEGORYINFO rgCategoryInfo[]) = 0;
549 virtual HRESULT STDMETHODCALLTYPE UnRegisterCategories(
550 ULONG cCategories,
551 CATID rgcatid[]) = 0;
553 virtual HRESULT STDMETHODCALLTYPE RegisterClassImplCategories(
554 REFCLSID rclsid,
555 ULONG cCategories,
556 CATID rgcatid[]) = 0;
558 virtual HRESULT STDMETHODCALLTYPE UnRegisterClassImplCategories(
559 REFCLSID rclsid,
560 ULONG cCategories,
561 CATID rgcatid[]) = 0;
563 virtual HRESULT STDMETHODCALLTYPE RegisterClassReqCategories(
564 REFCLSID rclsid,
565 ULONG cCategories,
566 CATID rgcatid[]) = 0;
568 virtual HRESULT STDMETHODCALLTYPE UnRegisterClassReqCategories(
569 REFCLSID rclsid,
570 ULONG cCategories,
571 CATID rgcatid[]) = 0;
574 #else
575 typedef struct ICatRegisterVtbl ICatRegisterVtbl;
576 struct ICatRegister {
577 const ICatRegisterVtbl* lpVtbl;
579 struct ICatRegisterVtbl {
580 BEGIN_INTERFACE
582 /*** IUnknown methods ***/
583 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
584 ICatRegister* This,
585 REFIID riid,
586 void** ppvObject);
588 ULONG (STDMETHODCALLTYPE *AddRef)(
589 ICatRegister* This);
591 ULONG (STDMETHODCALLTYPE *Release)(
592 ICatRegister* This);
594 /*** ICatRegister methods ***/
595 HRESULT (STDMETHODCALLTYPE *RegisterCategories)(
596 ICatRegister* This,
597 ULONG cCategories,
598 CATEGORYINFO rgCategoryInfo[]);
600 HRESULT (STDMETHODCALLTYPE *UnRegisterCategories)(
601 ICatRegister* This,
602 ULONG cCategories,
603 CATID rgcatid[]);
605 HRESULT (STDMETHODCALLTYPE *RegisterClassImplCategories)(
606 ICatRegister* This,
607 REFCLSID rclsid,
608 ULONG cCategories,
609 CATID rgcatid[]);
611 HRESULT (STDMETHODCALLTYPE *UnRegisterClassImplCategories)(
612 ICatRegister* This,
613 REFCLSID rclsid,
614 ULONG cCategories,
615 CATID rgcatid[]);
617 HRESULT (STDMETHODCALLTYPE *RegisterClassReqCategories)(
618 ICatRegister* This,
619 REFCLSID rclsid,
620 ULONG cCategories,
621 CATID rgcatid[]);
623 HRESULT (STDMETHODCALLTYPE *UnRegisterClassReqCategories)(
624 ICatRegister* This,
625 REFCLSID rclsid,
626 ULONG cCategories,
627 CATID rgcatid[]);
629 END_INTERFACE
632 #ifdef COBJMACROS
633 /*** IUnknown methods ***/
634 #define ICatRegister_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
635 #define ICatRegister_AddRef(p) (p)->lpVtbl->AddRef(p)
636 #define ICatRegister_Release(p) (p)->lpVtbl->Release(p)
637 /*** ICatRegister methods ***/
638 #define ICatRegister_RegisterCategories(p,a,b) (p)->lpVtbl->RegisterCategories(p,a,b)
639 #define ICatRegister_UnRegisterCategories(p,a,b) (p)->lpVtbl->UnRegisterCategories(p,a,b)
640 #define ICatRegister_RegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->RegisterClassImplCategories(p,a,b,c)
641 #define ICatRegister_UnRegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassImplCategories(p,a,b,c)
642 #define ICatRegister_RegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->RegisterClassReqCategories(p,a,b,c)
643 #define ICatRegister_UnRegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassReqCategories(p,a,b,c)
644 #endif
646 #endif
648 #define ICatRegister_METHODS \
649 /*** IUnknown methods ***/ \
650 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
651 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
652 STDMETHOD_(ULONG,Release)(THIS) PURE; \
653 /*** ICatRegister methods ***/ \
654 STDMETHOD_(HRESULT,RegisterCategories)(THIS_ ULONG cCategories, CATEGORYINFO rgCategoryInfo[]) PURE; \
655 STDMETHOD_(HRESULT,UnRegisterCategories)(THIS_ ULONG cCategories, CATID rgcatid[]) PURE; \
656 STDMETHOD_(HRESULT,RegisterClassImplCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; \
657 STDMETHOD_(HRESULT,UnRegisterClassImplCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; \
658 STDMETHOD_(HRESULT,RegisterClassReqCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; \
659 STDMETHOD_(HRESULT,UnRegisterClassReqCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE;
661 HRESULT CALLBACK ICatRegister_RegisterCategories_Proxy(
662 ICatRegister* This,
663 ULONG cCategories,
664 CATEGORYINFO rgCategoryInfo[]);
665 void __RPC_STUB ICatRegister_RegisterCategories_Stub(
666 struct IRpcStubBuffer* This,
667 struct IRpcChannelBuffer* pRpcChannelBuffer,
668 PRPC_MESSAGE pRpcMessage,
669 DWORD* pdwStubPhase);
670 HRESULT CALLBACK ICatRegister_UnRegisterCategories_Proxy(
671 ICatRegister* This,
672 ULONG cCategories,
673 CATID rgcatid[]);
674 void __RPC_STUB ICatRegister_UnRegisterCategories_Stub(
675 struct IRpcStubBuffer* This,
676 struct IRpcChannelBuffer* pRpcChannelBuffer,
677 PRPC_MESSAGE pRpcMessage,
678 DWORD* pdwStubPhase);
679 HRESULT CALLBACK ICatRegister_RegisterClassImplCategories_Proxy(
680 ICatRegister* This,
681 REFCLSID rclsid,
682 ULONG cCategories,
683 CATID rgcatid[]);
684 void __RPC_STUB ICatRegister_RegisterClassImplCategories_Stub(
685 struct IRpcStubBuffer* This,
686 struct IRpcChannelBuffer* pRpcChannelBuffer,
687 PRPC_MESSAGE pRpcMessage,
688 DWORD* pdwStubPhase);
689 HRESULT CALLBACK ICatRegister_UnRegisterClassImplCategories_Proxy(
690 ICatRegister* This,
691 REFCLSID rclsid,
692 ULONG cCategories,
693 CATID rgcatid[]);
694 void __RPC_STUB ICatRegister_UnRegisterClassImplCategories_Stub(
695 struct IRpcStubBuffer* This,
696 struct IRpcChannelBuffer* pRpcChannelBuffer,
697 PRPC_MESSAGE pRpcMessage,
698 DWORD* pdwStubPhase);
699 HRESULT CALLBACK ICatRegister_RegisterClassReqCategories_Proxy(
700 ICatRegister* This,
701 REFCLSID rclsid,
702 ULONG cCategories,
703 CATID rgcatid[]);
704 void __RPC_STUB ICatRegister_RegisterClassReqCategories_Stub(
705 struct IRpcStubBuffer* This,
706 struct IRpcChannelBuffer* pRpcChannelBuffer,
707 PRPC_MESSAGE pRpcMessage,
708 DWORD* pdwStubPhase);
709 HRESULT CALLBACK ICatRegister_UnRegisterClassReqCategories_Proxy(
710 ICatRegister* This,
711 REFCLSID rclsid,
712 ULONG cCategories,
713 CATID rgcatid[]);
714 void __RPC_STUB ICatRegister_UnRegisterClassReqCategories_Stub(
715 struct IRpcStubBuffer* This,
716 struct IRpcChannelBuffer* pRpcChannelBuffer,
717 PRPC_MESSAGE pRpcMessage,
718 DWORD* pdwStubPhase);
720 #endif /* __ICatRegister_INTERFACE_DEFINED__ */
722 DEFINE_GUID( CATID_Insertable, 0x40fc6ed3, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
723 DEFINE_GUID( CATID_Control, 0x40fc6ed4, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
724 DEFINE_GUID( CATID_Programmable, 0x40fc6ed5, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
725 DEFINE_GUID( CATID_IsShortcut, 0x40fc6ed6, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
726 DEFINE_GUID( CATID_NeverShowExt, 0x40fc6ed7, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
727 DEFINE_GUID( CATID_DocObject, 0x40fc6ed8, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
728 DEFINE_GUID( CATID_Printable, 0x40fc6ed9, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);
729 DEFINE_GUID( CATID_RequiresDataPathHost, 0x0de86a50, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
730 DEFINE_GUID( CATID_PersistsToMoniker, 0x0de86a51, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
731 DEFINE_GUID( CATID_PersistsToStorage, 0x0de86a52, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
732 DEFINE_GUID( CATID_PersistsToStreamInit, 0x0de86a53, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
733 DEFINE_GUID( CATID_PersistsToStream, 0x0de86a54, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
734 DEFINE_GUID( CATID_PersistsToMemory, 0x0de86a55, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
735 DEFINE_GUID( CATID_PersistsToFile, 0x0de86a56, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
736 DEFINE_GUID( CATID_PersistsToPropertyBag, 0x0de86a57, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
737 DEFINE_GUID( CATID_InternetAware, 0x0de86a58, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);
738 DEFINE_GUID( CATID_DesignTimeUIActivatableControl, 0xf2bb56d1, 0xdb07, 0x11d1, 0xaa, 0x6b, 0x00, 0x60, 0x97, 0xdb, 0x95, 0x39);
739 DEFINE_GUID(CLSID_StdComponentCategoriesMgr, 0x0002e005, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
740 #ifdef __cplusplus
742 #endif
743 #endif /* __WIDL_COMCAT_H */