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