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