[1166] | 1 | cpp_quote("/**")
|
---|
| 2 | cpp_quote(" * This file is part of the mingw-w64 runtime package.")
|
---|
| 3 | cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
|
---|
| 4 | cpp_quote(" */")
|
---|
| 5 | cpp_quote("")
|
---|
| 6 | cpp_quote("#include <winapifamily.h>")
|
---|
| 7 |
|
---|
| 8 | #if !defined (BUILDING_UNKNWN_IDL) && !defined (DO_NO_IMPORTS)
|
---|
| 9 | cpp_quote("")
|
---|
| 10 | import "wtypesbase.idl";
|
---|
| 11 | #endif
|
---|
| 12 |
|
---|
| 13 | cpp_quote("")
|
---|
| 14 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
|
---|
| 15 | [local, object, uuid (00000000-0000-0000-C000-000000000046), pointer_default (unique)]
|
---|
| 16 | interface IUnknown {
|
---|
| 17 | typedef [unique] IUnknown *LPUNKNOWN;
|
---|
| 18 | cpp_quote("")
|
---|
| 19 | cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
|
---|
| 20 | cpp_quote("EXTERN_C const IID IID_IUnknown;")
|
---|
| 21 | cpp_quote("")
|
---|
| 22 | cpp_quote("extern \"C++\" {")
|
---|
| 23 | cpp_quote(" MIDL_INTERFACE(\"00000000-0000-0000-C000-000000000046\")")
|
---|
| 24 | cpp_quote(" IUnknown {")
|
---|
| 25 | cpp_quote(" public:")
|
---|
| 26 | cpp_quote(" BEGIN_INTERFACE")
|
---|
| 27 | cpp_quote(" virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject) = 0;")
|
---|
| 28 | cpp_quote(" virtual ULONG STDMETHODCALLTYPE AddRef(void) = 0;")
|
---|
| 29 | cpp_quote(" virtual ULONG STDMETHODCALLTYPE Release(void) = 0;")
|
---|
| 30 | cpp_quote("")
|
---|
| 31 | cpp_quote(" template<class Q>")
|
---|
| 32 | cpp_quote(" HRESULT STDMETHODCALLTYPE QueryInterface(Q **pp) {")
|
---|
| 33 | cpp_quote(" return QueryInterface(__uuidof(Q), (void **)pp);")
|
---|
| 34 | cpp_quote(" }")
|
---|
| 35 | cpp_quote(" END_INTERFACE")
|
---|
| 36 | cpp_quote(" };")
|
---|
| 37 | cpp_quote("}")
|
---|
| 38 | cpp_quote("__CRT_UUID_DECL(IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)")
|
---|
| 39 | cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject);")
|
---|
| 40 | cpp_quote("void __RPC_STUB IUnknown_QueryInterface_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);")
|
---|
| 41 | cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This);")
|
---|
| 42 | cpp_quote("void __RPC_STUB IUnknown_AddRef_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);")
|
---|
| 43 | cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This);")
|
---|
| 44 | cpp_quote("void __RPC_STUB IUnknown_Release_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);")
|
---|
| 45 | cpp_quote("#else")
|
---|
| 46 | HRESULT QueryInterface ([in] REFIID riid,[out, iid_is (riid)] void **ppvObject);
|
---|
| 47 | ULONG AddRef ();
|
---|
| 48 | ULONG Release ();
|
---|
| 49 | }
|
---|
| 50 | cpp_quote("#endif")
|
---|
| 51 | cpp_quote("#endif")
|
---|
| 52 |
|
---|
| 53 | cpp_quote("")
|
---|
| 54 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
| 55 | [local, object, uuid (000e0000-0000-0000-C000-000000000046), pointer_default (unique)]
|
---|
| 56 | interface AsyncIUnknown : IUnknown {
|
---|
| 57 | HRESULT Begin_QueryInterface ([in] REFIID riid);
|
---|
| 58 | HRESULT Finish_QueryInterface ([out] void **ppvObject);
|
---|
| 59 | HRESULT Begin_AddRef ();
|
---|
| 60 | ULONG Finish_AddRef ();
|
---|
| 61 | HRESULT Begin_Release ();
|
---|
| 62 | ULONG Finish_Release ();
|
---|
| 63 | }
|
---|
| 64 | cpp_quote("#endif")
|
---|
| 65 |
|
---|
| 66 | cpp_quote("")
|
---|
| 67 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
|
---|
| 68 | [object, uuid (00000001-0000-0000-C000-000000000046), pointer_default (unique)]
|
---|
| 69 | interface IClassFactory : IUnknown {
|
---|
| 70 | typedef [unique] IClassFactory *LPCLASSFACTORY;
|
---|
| 71 | cpp_quote("")
|
---|
| 72 | [local] HRESULT CreateInstance ([in, unique] IUnknown *pUnkOuter,[in] REFIID riid,[out, iid_is (riid)] void **ppvObject);
|
---|
| 73 | [call_as (CreateInstance)] HRESULT RemoteCreateInstance ([in] REFIID riid,[out, iid_is (riid)] IUnknown **ppvObject);
|
---|
| 74 | [local] HRESULT LockServer ([in] BOOL fLock);
|
---|
| 75 | [call_as (LockServer)] HRESULT __stdcall RemoteLockServer ([in] BOOL fLock);
|
---|
| 76 | }
|
---|
| 77 | cpp_quote("#endif")
|
---|