1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_unknwn.d) 8 */ 9 module core.sys.windows.unknwn; 10 version (Windows): 11 nothrow: 12 13 import core.sys.windows.objfwd, core.sys.windows.windef, core.sys.windows.wtypes; 14 import core.sys.windows.basetyps; 15 16 extern (Windows) { 17 void* MIDL_user_allocate(size_t); 18 void MIDL_user_free(void*); 19 } 20 21 22 extern (Windows) { 23 24 interface IUnknown { 25 HRESULT QueryInterface(IID* riid, void** pvObject); 26 ULONG AddRef(); 27 ULONG Release(); 28 } 29 30 alias IUnknown LPUNKNOWN; 31 32 interface IClassFactory : IUnknown { 33 HRESULT CreateInstance(IUnknown UnkOuter, IID* riid, void** pvObject); 34 HRESULT LockServer(BOOL fLock); 35 } 36 alias IClassFactory LPCLASSFACTORY; 37 38 /+ 39 // These do not seem to be necessary (or desirable) for D. 40 HRESULT IUnknown_QueryInterface_Proxy(IUnknown,REFIID,void**); 41 ULONG IUnknown_AddRef_Proxy(IUnknown); 42 ULONG IUnknown_Release_Proxy(IUnknown); 43 HRESULT IClassFactory_RemoteCreateInstance_Proxy(IClassFactory,REFIID,IUnknown*); 44 HRESULT IClassFactory_RemoteLockServer_Proxy(IClassFactory,BOOL); 45 HRESULT IClassFactory_CreateInstance_Proxy(IClassFactory,IUnknown,REFIID,void**); 46 HRESULT IClassFactory_CreateInstance_Stub(IClassFactory,REFIID,IUnknown*); 47 HRESULT IClassFactory_LockServer_Proxy(IClassFactory,BOOL); 48 HRESULT IClassFactory_LockServer_Stub(IClassFactory,BOOL); 49 50 void IUnknown_QueryInterface_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); 51 void IUnknown_AddRef_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); 52 void IUnknown_Release_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); 53 void IClassFactory_RemoteCreateInstance_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); 54 void IClassFactory_RemoteLockServer_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); 55 +/ 56 }