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