comcat.h 26 KB

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