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