root/trunk/win32/unknwn.d

Revision 289, 2.3 kB (checked in by sleets, 4 years ago)

add uuid.d

Line 
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 }
Note: See TracBrowser for help on using the browser.