Artifact bef2bcd5872970ce5d03d4db31e2b577c6e0b4b0
/***********************************************************************\
* unknwn.d *
* *
* Windows API header module *
* *
* Translated from MinGW Windows headers *
* *
* Placed into public domain *
\***********************************************************************/
module win32.unknwn;
import win32.objfwd, win32.windef, win32.wtypes;
private import win32.basetyps;
extern (Windows) {
void* MIDL_user_allocate(size_t);
void MIDL_user_free(void*);
}
extern (Windows) {
interface IUnknown {
HRESULT QueryInterface(IID* riid, void** pvObject);
ULONG AddRef();
ULONG Release();
}
alias IUnknown LPUNKNOWN;
interface IClassFactory : IUnknown {
HRESULT CreateInstance(IUnknown UnkOuter, IID* riid, void** pvObject);
HRESULT LockServer(BOOL fLock);
}
alias IClassFactory LPCLASSFACTORY;
/+
// These do not seem to be necessary (or desirable) for D.
HRESULT IUnknown_QueryInterface_Proxy(IUnknown*,REFIID,void**);
ULONG IUnknown_AddRef_Proxy(IUnknown*);
ULONG IUnknown_Release_Proxy(IUnknown*);
HRESULT IClassFactory_RemoteCreateInstance_Proxy(IClassFactory*,REFIID,IUnknown**);
HRESULT IClassFactory_RemoteLockServer_Proxy(IClassFactory*,BOOL);
HRESULT IClassFactory_CreateInstance_Proxy(IClassFactory*,IUnknown*,REFIID,void**);
HRESULT IClassFactory_CreateInstance_Stub(IClassFactory*,REFIID,IUnknown**);
HRESULT IClassFactory_LockServer_Proxy(IClassFactory*,BOOL);
HRESULT IClassFactory_LockServer_Stub(IClassFactory*,BOOL);
void IUnknown_QueryInterface_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
void IUnknown_AddRef_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
void IUnknown_Release_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
void IClassFactory_RemoteCreateInstance_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
void IClassFactory_RemoteLockServer_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
+/
}