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