unknwn.h 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  1. /*** Autogenerated by WIDL 7.7 from include/unknwn.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 __unknwn_h__
  14. #define __unknwn_h__
  15. /* Forward declarations */
  16. #ifndef __IUnknown_FWD_DEFINED__
  17. #define __IUnknown_FWD_DEFINED__
  18. typedef interface IUnknown IUnknown;
  19. #ifdef __cplusplus
  20. interface IUnknown;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __AsyncIUnknown_FWD_DEFINED__
  24. #define __AsyncIUnknown_FWD_DEFINED__
  25. typedef interface AsyncIUnknown AsyncIUnknown;
  26. #ifdef __cplusplus
  27. interface AsyncIUnknown;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __IClassFactory_FWD_DEFINED__
  31. #define __IClassFactory_FWD_DEFINED__
  32. typedef interface IClassFactory IClassFactory;
  33. #ifdef __cplusplus
  34. interface IClassFactory;
  35. #endif /* __cplusplus */
  36. #endif
  37. /* Headers for imported files */
  38. #include <wtypes.h>
  39. #ifdef __cplusplus
  40. extern "C" {
  41. #endif
  42. /**
  43. * This file is part of the mingw-w64 runtime package.
  44. * No warranty is given; refer to the file DISCLAIMER within this package.
  45. */
  46. /**
  47. * This file is part of the mingw-w64 runtime package.
  48. * No warranty is given; refer to the file DISCLAIMER within this package.
  49. */
  50. #include <winapifamily.h>
  51. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  52. /*****************************************************************************
  53. * IUnknown interface
  54. */
  55. #ifndef __IUnknown_INTERFACE_DEFINED__
  56. #define __IUnknown_INTERFACE_DEFINED__
  57. typedef IUnknown *LPUNKNOWN;
  58. #if defined(__cplusplus) && !defined(CINTERFACE)
  59. EXTERN_C const IID IID_IUnknown;
  60. extern "C++" {
  61. MIDL_INTERFACE("00000000-0000-0000-C000-000000000046")
  62. IUnknown {
  63. public:
  64. BEGIN_INTERFACE
  65. virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject) = 0;
  66. virtual ULONG STDMETHODCALLTYPE AddRef(void) = 0;
  67. virtual ULONG STDMETHODCALLTYPE Release(void) = 0;
  68. template<class Q>
  69. HRESULT STDMETHODCALLTYPE QueryInterface(Q **pp) {
  70. return QueryInterface(__uuidof(Q), (void **)pp);
  71. }
  72. END_INTERFACE
  73. };
  74. }
  75. __CRT_UUID_DECL(IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  76. #else
  77. DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  78. #if defined(__cplusplus) && !defined(CINTERFACE)
  79. MIDL_INTERFACE("00000000-0000-0000-c000-000000000046")
  80. IUnknown
  81. {
  82. BEGIN_INTERFACE
  83. virtual HRESULT STDMETHODCALLTYPE QueryInterface(
  84. REFIID riid,
  85. void **ppvObject) = 0;
  86. virtual ULONG STDMETHODCALLTYPE AddRef(
  87. ) = 0;
  88. virtual ULONG STDMETHODCALLTYPE Release(
  89. ) = 0;
  90. END_INTERFACE
  91. };
  92. #ifdef __CRT_UUID_DECL
  93. __CRT_UUID_DECL(IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  94. #endif
  95. #else
  96. typedef struct IUnknownVtbl {
  97. BEGIN_INTERFACE
  98. /*** IUnknown methods ***/
  99. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  100. IUnknown *This,
  101. REFIID riid,
  102. void **ppvObject);
  103. ULONG (STDMETHODCALLTYPE *AddRef)(
  104. IUnknown *This);
  105. ULONG (STDMETHODCALLTYPE *Release)(
  106. IUnknown *This);
  107. END_INTERFACE
  108. } IUnknownVtbl;
  109. interface IUnknown {
  110. CONST_VTBL IUnknownVtbl* lpVtbl;
  111. };
  112. #ifdef COBJMACROS
  113. #ifndef WIDL_C_INLINE_WRAPPERS
  114. /*** IUnknown methods ***/
  115. #define IUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  116. #define IUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
  117. #define IUnknown_Release(This) (This)->lpVtbl->Release(This)
  118. #else
  119. /*** IUnknown methods ***/
  120. static FORCEINLINE HRESULT IUnknown_QueryInterface(IUnknown* This,REFIID riid,void **ppvObject) {
  121. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  122. }
  123. static FORCEINLINE ULONG IUnknown_AddRef(IUnknown* This) {
  124. return This->lpVtbl->AddRef(This);
  125. }
  126. static FORCEINLINE ULONG IUnknown_Release(IUnknown* This) {
  127. return This->lpVtbl->Release(This);
  128. }
  129. #endif
  130. #endif
  131. #endif
  132. #endif /* __IUnknown_INTERFACE_DEFINED__ */
  133. #endif
  134. HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);
  135. void __RPC_STUB IUnknown_QueryInterface_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
  136. ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);
  137. void __RPC_STUB IUnknown_AddRef_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
  138. ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);
  139. void __RPC_STUB IUnknown_Release_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
  140. #endif
  141. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  142. /*****************************************************************************
  143. * AsyncIUnknown interface
  144. */
  145. #ifndef __AsyncIUnknown_INTERFACE_DEFINED__
  146. #define __AsyncIUnknown_INTERFACE_DEFINED__
  147. DEFINE_GUID(IID_AsyncIUnknown, 0x000e0000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  148. #if defined(__cplusplus) && !defined(CINTERFACE)
  149. MIDL_INTERFACE("000e0000-0000-0000-c000-000000000046")
  150. AsyncIUnknown : public IUnknown
  151. {
  152. virtual HRESULT STDMETHODCALLTYPE Begin_QueryInterface(
  153. REFIID riid) = 0;
  154. virtual HRESULT STDMETHODCALLTYPE Finish_QueryInterface(
  155. void **ppvObject) = 0;
  156. virtual HRESULT STDMETHODCALLTYPE Begin_AddRef(
  157. ) = 0;
  158. virtual ULONG STDMETHODCALLTYPE Finish_AddRef(
  159. ) = 0;
  160. virtual HRESULT STDMETHODCALLTYPE Begin_Release(
  161. ) = 0;
  162. virtual ULONG STDMETHODCALLTYPE Finish_Release(
  163. ) = 0;
  164. };
  165. #ifdef __CRT_UUID_DECL
  166. __CRT_UUID_DECL(AsyncIUnknown, 0x000e0000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  167. #endif
  168. #else
  169. typedef struct AsyncIUnknownVtbl {
  170. BEGIN_INTERFACE
  171. /*** IUnknown methods ***/
  172. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  173. AsyncIUnknown *This,
  174. REFIID riid,
  175. void **ppvObject);
  176. ULONG (STDMETHODCALLTYPE *AddRef)(
  177. AsyncIUnknown *This);
  178. ULONG (STDMETHODCALLTYPE *Release)(
  179. AsyncIUnknown *This);
  180. /*** AsyncIUnknown methods ***/
  181. HRESULT (STDMETHODCALLTYPE *Begin_QueryInterface)(
  182. AsyncIUnknown *This,
  183. REFIID riid);
  184. HRESULT (STDMETHODCALLTYPE *Finish_QueryInterface)(
  185. AsyncIUnknown *This,
  186. void **ppvObject);
  187. HRESULT (STDMETHODCALLTYPE *Begin_AddRef)(
  188. AsyncIUnknown *This);
  189. ULONG (STDMETHODCALLTYPE *Finish_AddRef)(
  190. AsyncIUnknown *This);
  191. HRESULT (STDMETHODCALLTYPE *Begin_Release)(
  192. AsyncIUnknown *This);
  193. ULONG (STDMETHODCALLTYPE *Finish_Release)(
  194. AsyncIUnknown *This);
  195. END_INTERFACE
  196. } AsyncIUnknownVtbl;
  197. interface AsyncIUnknown {
  198. CONST_VTBL AsyncIUnknownVtbl* lpVtbl;
  199. };
  200. #ifdef COBJMACROS
  201. #ifndef WIDL_C_INLINE_WRAPPERS
  202. /*** IUnknown methods ***/
  203. #define AsyncIUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  204. #define AsyncIUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
  205. #define AsyncIUnknown_Release(This) (This)->lpVtbl->Release(This)
  206. /*** AsyncIUnknown methods ***/
  207. #define AsyncIUnknown_Begin_QueryInterface(This,riid) (This)->lpVtbl->Begin_QueryInterface(This,riid)
  208. #define AsyncIUnknown_Finish_QueryInterface(This,ppvObject) (This)->lpVtbl->Finish_QueryInterface(This,ppvObject)
  209. #define AsyncIUnknown_Begin_AddRef(This) (This)->lpVtbl->Begin_AddRef(This)
  210. #define AsyncIUnknown_Finish_AddRef(This) (This)->lpVtbl->Finish_AddRef(This)
  211. #define AsyncIUnknown_Begin_Release(This) (This)->lpVtbl->Begin_Release(This)
  212. #define AsyncIUnknown_Finish_Release(This) (This)->lpVtbl->Finish_Release(This)
  213. #else
  214. /*** IUnknown methods ***/
  215. static FORCEINLINE HRESULT AsyncIUnknown_QueryInterface(AsyncIUnknown* This,REFIID riid,void **ppvObject) {
  216. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  217. }
  218. static FORCEINLINE ULONG AsyncIUnknown_AddRef(AsyncIUnknown* This) {
  219. return This->lpVtbl->AddRef(This);
  220. }
  221. static FORCEINLINE ULONG AsyncIUnknown_Release(AsyncIUnknown* This) {
  222. return This->lpVtbl->Release(This);
  223. }
  224. /*** AsyncIUnknown methods ***/
  225. static FORCEINLINE HRESULT AsyncIUnknown_Begin_QueryInterface(AsyncIUnknown* This,REFIID riid) {
  226. return This->lpVtbl->Begin_QueryInterface(This,riid);
  227. }
  228. static FORCEINLINE HRESULT AsyncIUnknown_Finish_QueryInterface(AsyncIUnknown* This,void **ppvObject) {
  229. return This->lpVtbl->Finish_QueryInterface(This,ppvObject);
  230. }
  231. static FORCEINLINE HRESULT AsyncIUnknown_Begin_AddRef(AsyncIUnknown* This) {
  232. return This->lpVtbl->Begin_AddRef(This);
  233. }
  234. static FORCEINLINE ULONG AsyncIUnknown_Finish_AddRef(AsyncIUnknown* This) {
  235. return This->lpVtbl->Finish_AddRef(This);
  236. }
  237. static FORCEINLINE HRESULT AsyncIUnknown_Begin_Release(AsyncIUnknown* This) {
  238. return This->lpVtbl->Begin_Release(This);
  239. }
  240. static FORCEINLINE ULONG AsyncIUnknown_Finish_Release(AsyncIUnknown* This) {
  241. return This->lpVtbl->Finish_Release(This);
  242. }
  243. #endif
  244. #endif
  245. #endif
  246. #endif /* __AsyncIUnknown_INTERFACE_DEFINED__ */
  247. #endif
  248. #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  249. /*****************************************************************************
  250. * IClassFactory interface
  251. */
  252. #ifndef __IClassFactory_INTERFACE_DEFINED__
  253. #define __IClassFactory_INTERFACE_DEFINED__
  254. typedef IClassFactory *LPCLASSFACTORY;
  255. DEFINE_GUID(IID_IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  256. #if defined(__cplusplus) && !defined(CINTERFACE)
  257. MIDL_INTERFACE("00000001-0000-0000-c000-000000000046")
  258. IClassFactory : public IUnknown
  259. {
  260. virtual HRESULT STDMETHODCALLTYPE CreateInstance(
  261. IUnknown *pUnkOuter,
  262. REFIID riid,
  263. void **ppvObject) = 0;
  264. virtual HRESULT STDMETHODCALLTYPE LockServer(
  265. WINBOOL fLock) = 0;
  266. };
  267. #ifdef __CRT_UUID_DECL
  268. __CRT_UUID_DECL(IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  269. #endif
  270. #else
  271. typedef struct IClassFactoryVtbl {
  272. BEGIN_INTERFACE
  273. /*** IUnknown methods ***/
  274. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  275. IClassFactory *This,
  276. REFIID riid,
  277. void **ppvObject);
  278. ULONG (STDMETHODCALLTYPE *AddRef)(
  279. IClassFactory *This);
  280. ULONG (STDMETHODCALLTYPE *Release)(
  281. IClassFactory *This);
  282. /*** IClassFactory methods ***/
  283. HRESULT (STDMETHODCALLTYPE *CreateInstance)(
  284. IClassFactory *This,
  285. IUnknown *pUnkOuter,
  286. REFIID riid,
  287. void **ppvObject);
  288. HRESULT (STDMETHODCALLTYPE *LockServer)(
  289. IClassFactory *This,
  290. WINBOOL fLock);
  291. END_INTERFACE
  292. } IClassFactoryVtbl;
  293. interface IClassFactory {
  294. CONST_VTBL IClassFactoryVtbl* lpVtbl;
  295. };
  296. #ifdef COBJMACROS
  297. #ifndef WIDL_C_INLINE_WRAPPERS
  298. /*** IUnknown methods ***/
  299. #define IClassFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  300. #define IClassFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
  301. #define IClassFactory_Release(This) (This)->lpVtbl->Release(This)
  302. /*** IClassFactory methods ***/
  303. #define IClassFactory_CreateInstance(This,pUnkOuter,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObject)
  304. #define IClassFactory_LockServer(This,fLock) (This)->lpVtbl->LockServer(This,fLock)
  305. #else
  306. /*** IUnknown methods ***/
  307. static FORCEINLINE HRESULT IClassFactory_QueryInterface(IClassFactory* This,REFIID riid,void **ppvObject) {
  308. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  309. }
  310. static FORCEINLINE ULONG IClassFactory_AddRef(IClassFactory* This) {
  311. return This->lpVtbl->AddRef(This);
  312. }
  313. static FORCEINLINE ULONG IClassFactory_Release(IClassFactory* This) {
  314. return This->lpVtbl->Release(This);
  315. }
  316. /*** IClassFactory methods ***/
  317. static FORCEINLINE HRESULT IClassFactory_CreateInstance(IClassFactory* This,IUnknown *pUnkOuter,REFIID riid,void **ppvObject) {
  318. return This->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObject);
  319. }
  320. static FORCEINLINE HRESULT IClassFactory_LockServer(IClassFactory* This,WINBOOL fLock) {
  321. return This->lpVtbl->LockServer(This,fLock);
  322. }
  323. #endif
  324. #endif
  325. #endif
  326. HRESULT STDMETHODCALLTYPE IClassFactory_RemoteCreateInstance_Proxy(
  327. IClassFactory* This,
  328. REFIID riid,
  329. IUnknown **ppvObject);
  330. void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub(
  331. IRpcStubBuffer* This,
  332. IRpcChannelBuffer* pRpcChannelBuffer,
  333. PRPC_MESSAGE pRpcMessage,
  334. DWORD* pdwStubPhase);
  335. HRESULT __stdcall IClassFactory_RemoteLockServer_Proxy(
  336. IClassFactory* This,
  337. WINBOOL fLock);
  338. void __RPC_STUB IClassFactory_RemoteLockServer_Stub(
  339. IRpcStubBuffer* This,
  340. IRpcChannelBuffer* pRpcChannelBuffer,
  341. PRPC_MESSAGE pRpcMessage,
  342. DWORD* pdwStubPhase);
  343. HRESULT CALLBACK IClassFactory_CreateInstance_Proxy(
  344. IClassFactory* This,
  345. IUnknown *pUnkOuter,
  346. REFIID riid,
  347. void **ppvObject);
  348. HRESULT __RPC_STUB IClassFactory_CreateInstance_Stub(
  349. IClassFactory* This,
  350. REFIID riid,
  351. IUnknown **ppvObject);
  352. HRESULT CALLBACK IClassFactory_LockServer_Proxy(
  353. IClassFactory* This,
  354. WINBOOL fLock);
  355. HRESULT __RPC_STUB IClassFactory_LockServer_Stub(
  356. IClassFactory* This,
  357. WINBOOL fLock);
  358. #endif /* __IClassFactory_INTERFACE_DEFINED__ */
  359. #endif
  360. /* Begin additional prototypes for all interfaces */
  361. /* End additional prototypes */
  362. #ifdef __cplusplus
  363. }
  364. #endif
  365. #endif /* __unknwn_h__ */