comparison win32/objbase.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
comparison
equal deleted inserted replaced
0:586e4a649642 1:4a9dcbd9e54f
1 /***********************************************************************\
2 * objbase.d *
3 * *
4 * Windows API header module *
5 * *
6 * Translated from MinGW Windows headers *
7 * *
8 * Placed into public domain *
9 \***********************************************************************/
10 module win32.objbase;
11 pragma(lib, "ole32.lib");
12
13 import win32.cguid, win32.objidl, win32.unknwn, win32.wtypes;
14 private import win32.basetyps, win32.objfwd, win32.rpcdce, win32.winbase,
15 win32.windef;
16
17 // DAC: Not needed for D?
18 //MACRO #define LISet32(li, v) ((li).HighPart=(v)<0?-1:0, (li).LowPart=(v))
19 //MACRO #define ULISet32(li, v) ((li).HighPart=0, (li).LowPart=(v))
20
21 const CLSCTX_ALL = CLSCTX.CLSCTX_INPROC_SERVER|CLSCTX.CLSCTX_INPROC_HANDLER|CLSCTX.CLSCTX_LOCAL_SERVER;
22 const CLSCTX_INPROC = CLSCTX.CLSCTX_INPROC_SERVER|CLSCTX.CLSCTX_INPROC_HANDLER;
23 const CLSCTX_SERVER = CLSCTX.CLSCTX_INPROC_SERVER|CLSCTX.CLSCTX_LOCAL_SERVER|CLSCTX.CLSCTX_REMOTE_SERVER;
24 const MARSHALINTERFACE_MIN=500;
25 const CWCSTORAGENAME=32;
26
27 const STGM_DIRECT = 0;
28 const STGM_TRANSACTED = 0x10000L;
29 const STGM_SIMPLE = 0x8000000L;
30 const STGM_READ = 0;
31 const STGM_WRITE = 1;
32 const STGM_READWRITE = 2;
33 const STGM_SHARE_DENY_NONE = 0x40;
34 const STGM_SHARE_DENY_READ = 0x30;
35 const STGM_SHARE_DENY_WRITE = 0x20;
36 const STGM_SHARE_EXCLUSIVE = 0x10;
37 const STGM_PRIORITY = 0x40000L;
38 const STGM_DELETEONRELEASE = 0x4000000;
39 const STGM_NOSCRATCH = 0x100000;
40 const STGM_CREATE = 0x1000;
41 const STGM_CONVERT = 0x20000;
42 const STGM_NOSNAPSHOT = 0x200000;
43 const STGM_FAILIFTHERE = 0;
44
45 const ASYNC_MODE_COMPATIBILITY = 1;
46 const ASYNC_MODE_DEFAULT = 0;
47
48 const STGTY_REPEAT = 256;
49 const STG_TOEND = 0xFFFFFFFF;
50 const STG_LAYOUT_SEQUENTIAL = 0;
51 const STG_LAYOUT_INTERLEAVED = 1;
52
53 const COM_RIGHTS_EXECUTE = 1;
54 const COM_RIGHTS_SAFE_FOR_SCRIPTING = 2;
55
56 const STGOPTIONS_VERSION = 2;
57
58 enum STGFMT {
59 STGFMT_STORAGE = 0,
60 STGFMT_FILE = 3,
61 STGFMT_ANY = 4,
62 STGFMT_DOCFILE = 5
63 }
64
65 struct STGOPTIONS {
66 USHORT usVersion;
67 USHORT reserved;
68 ULONG ulSectorSize;
69 WCHAR* pwcsTemplateFile;
70 }
71
72 enum REGCLS {
73 REGCLS_SINGLEUSE = 0,
74 REGCLS_MULTIPLEUSE = 1,
75 REGCLS_MULTI_SEPARATE = 2
76 }
77
78 /*
79 BOOL IsEqualGUID(GUID rguid1, GUID rguid2) {
80 return rguid1 == rguid2;
81 }
82 */
83
84 extern (Windows) BOOL IsEqualGUID(
85 REFGUID rguid1,
86 REFGUID rguid2
87 );
88
89 alias IsEqualGUID IsEqualIID;
90 alias IsEqualGUID IsEqualCLSID;
91
92 enum COINIT {
93 COINIT_APARTMENTTHREADED = 2,
94 COINIT_MULTITHREADED = 0,
95 COINIT_DISABLE_OLE1DDE = 4,
96 COINIT_SPEED_OVER_MEMORY = 8
97 }
98
99 enum STDMSHLFLAGS {
100 SMEXF_SERVER = 1,
101 SMEXF_HANDLER
102 }
103
104 extern(Windows) {
105 alias HRESULT function(REFCLSID, REFIID, PVOID*) LPFNGETCLASSOBJECT;
106 alias HRESULT function() LPFNCANUNLOADNOW;
107
108 DWORD CoBuildVersion();
109 HRESULT CoInitialize(PVOID);
110 HRESULT CoInitializeEx(LPVOID, DWORD);
111 void CoUninitialize();
112 HRESULT CoGetMalloc(DWORD, LPMALLOC*);
113 DWORD CoGetCurrentProcess();
114 HRESULT CoRegisterMallocSpy(LPMALLOCSPY);
115 HRESULT CoRevokeMallocSpy();
116 HRESULT CoCreateStandardMalloc(DWORD, IMalloc**);
117 //#ifdef DBG
118 ULONG DebugCoGetRpcFault();
119 void DebugCoSetRpcFault(ULONG);
120 //#endif
121 HRESULT CoGetClassObject(REFCLSID, DWORD, COSERVERINFO*, REFIID, PVOID*);
122 HRESULT CoRegisterClassObject(REFCLSID, LPUNKNOWN, DWORD, DWORD, PDWORD);
123 HRESULT CoRevokeClassObject(DWORD);
124 HRESULT CoGetMarshalSizeMax(ULONG*, REFIID, LPUNKNOWN, DWORD, PVOID, DWORD);
125 HRESULT CoMarshalInterface(LPSTREAM, REFIID, LPUNKNOWN, DWORD, PVOID, DWORD);
126 HRESULT CoUnmarshalInterface(LPSTREAM, REFIID, PVOID*);
127 HRESULT CoMarshalHresult(LPSTREAM, HRESULT);
128 HRESULT CoUnmarshalHresult(LPSTREAM, HRESULT*);
129 HRESULT CoReleaseMarshalData(LPSTREAM);
130 HRESULT CoDisconnectObject(LPUNKNOWN, DWORD);
131 HRESULT CoLockObjectExternal(LPUNKNOWN, BOOL, BOOL);
132 HRESULT CoGetStandardMarshal(REFIID, LPUNKNOWN, DWORD, PVOID, DWORD, LPMARSHAL*);
133 HRESULT CoGetStdMarshalEx(LPUNKNOWN, DWORD, LPUNKNOWN*);
134 BOOL CoIsHandlerConnected(LPUNKNOWN);
135 BOOL CoHasStrongExternalConnections(LPUNKNOWN);
136 HRESULT CoMarshalInterThreadInterfaceInStream(REFIID, LPUNKNOWN, LPSTREAM*);
137 HRESULT CoGetInterfaceAndReleaseStream(LPSTREAM, REFIID, PVOID*);
138 HRESULT CoCreateFreeThreadedMarshaler(LPUNKNOWN, LPUNKNOWN*);
139 HINSTANCE CoLoadLibrary(LPOLESTR, BOOL);
140 void CoFreeLibrary(HINSTANCE);
141 void CoFreeAllLibraries();
142 void CoFreeUnusedLibraries();
143 HRESULT CoCreateInstance(REFCLSID, LPUNKNOWN, DWORD, REFIID, PVOID*);
144 HRESULT CoCreateInstanceEx(REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*);
145 HRESULT StringFromCLSID(REFCLSID, LPOLESTR*);
146 HRESULT CLSIDFromString(LPOLESTR, LPCLSID);
147 HRESULT StringFromIID(REFIID, LPOLESTR*);
148 HRESULT IIDFromString(LPOLESTR, LPIID);
149 BOOL CoIsOle1Class(REFCLSID);
150 HRESULT ProgIDFromCLSID(REFCLSID, LPOLESTR*);
151 HRESULT CLSIDFromProgID(LPCOLESTR, LPCLSID);
152 int StringFromGUID2(REFGUID, LPOLESTR, int);
153 HRESULT CoCreateGuid(GUID*);
154 BOOL CoFileTimeToDosDateTime(FILETIME*, LPWORD, LPWORD);
155 BOOL CoDosDateTimeToFileTime(WORD, WORD, FILETIME*);
156 HRESULT CoFileTimeNow(FILETIME*);
157 HRESULT CoRegisterMessageFilter(LPMESSAGEFILTER, LPMESSAGEFILTER*);
158 HRESULT CoGetTreatAsClass(REFCLSID, LPCLSID);
159 HRESULT CoTreatAsClass(REFCLSID, REFCLSID);
160 HRESULT DllGetClassObject(REFCLSID, REFIID, PVOID*);
161 HRESULT DllCanUnloadNow();
162 PVOID CoTaskMemAlloc(ULONG);
163 PVOID CoTaskMemRealloc(PVOID, ULONG);
164 void CoTaskMemFree(PVOID);
165 HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*);
166 HRESULT CreateDataCache(LPUNKNOWN, REFCLSID, REFIID, PVOID*);
167 HRESULT StgCreateDocfile(OLECHAR*, DWORD, DWORD, IStorage**);
168 HRESULT StgCreateDocfileOnILockBytes(ILockBytes*, DWORD, DWORD, IStorage**);
169 HRESULT StgOpenStorage(OLECHAR*, IStorage, DWORD, SNB, DWORD, IStorage*);
170 HRESULT StgOpenStorageOnILockBytes(ILockBytes*, IStorage*, DWORD, SNB, DWORD, IStorage**);
171 HRESULT StgIsStorageFile(OLECHAR*);
172 HRESULT StgIsStorageILockBytes(ILockBytes*);
173 HRESULT StgSetTimes(OLECHAR *, FILETIME *, FILETIME *, FILETIME *);
174 HRESULT StgCreateStorageEx(WCHAR*, DWORD, DWORD, DWORD, STGOPTIONS*, void*, REFIID, void**);
175 HRESULT StgOpenStorageEx(WCHAR*, DWORD, DWORD, DWORD, STGOPTIONS*, void*, REFIID, void**);
176 HRESULT BindMoniker(LPMONIKER, DWORD, REFIID, PVOID*);
177 HRESULT CoGetObject(LPCWSTR, BIND_OPTS*, REFIID, void**);
178 HRESULT MkParseDisplayName(LPBC, LPCOLESTR, ULONG*, LPMONIKER*);
179 HRESULT MonikerRelativePathTo(LPMONIKER, LPMONIKER, LPMONIKER*, BOOL);
180 HRESULT MonikerCommonPrefixWith(LPMONIKER, LPMONIKER, LPMONIKER*);
181 HRESULT CreateBindCtx(DWORD, LPBC*);
182 HRESULT CreateGenericComposite(LPMONIKER, LPMONIKER, LPMONIKER*);
183 HRESULT GetClassFile (LPCOLESTR, CLSID*);
184 HRESULT CreateFileMoniker(LPCOLESTR, LPMONIKER*);
185 HRESULT CreateItemMoniker(LPCOLESTR, LPCOLESTR, LPMONIKER*);
186 HRESULT CreateAntiMoniker(LPMONIKER*);
187 HRESULT CreatePointerMoniker(LPUNKNOWN, LPMONIKER*);
188 HRESULT GetRunningObjectTable(DWORD, LPRUNNINGOBJECTTABLE*);
189 HRESULT CoInitializeSecurity(PSECURITY_DESCRIPTOR, LONG, SOLE_AUTHENTICATION_SERVICE*, void*, DWORD, DWORD, void*, DWORD, void*);
190 HRESULT CoGetCallContext(REFIID, void**);
191 HRESULT CoQueryProxyBlanket(IUnknown*, DWORD*, DWORD*, OLECHAR**, DWORD*, DWORD*, RPC_AUTH_IDENTITY_HANDLE*, DWORD*);
192 HRESULT CoSetProxyBlanket(IUnknown*, DWORD, DWORD, OLECHAR*, DWORD, DWORD, RPC_AUTH_IDENTITY_HANDLE, DWORD);
193 HRESULT CoCopyProxy(IUnknown*, IUnknown**);
194 HRESULT CoQueryClientBlanket(DWORD*, DWORD*, OLECHAR**, DWORD*, DWORD*, RPC_AUTHZ_HANDLE*, DWORD*);
195 HRESULT CoImpersonateClient();
196 HRESULT CoRevertToSelf();
197 HRESULT CoQueryAuthenticationServices(DWORD*, SOLE_AUTHENTICATION_SERVICE**);
198 HRESULT CoSwitchCallContext(IUnknown*, IUnknown**);
199 HRESULT CoGetInstanceFromFile(COSERVERINFO*, CLSID*, IUnknown*, DWORD, DWORD, OLECHAR*, DWORD, MULTI_QI*);
200 HRESULT CoGetInstanceFromIStorage(COSERVERINFO*, CLSID*, IUnknown*, DWORD, IStorage*, DWORD, MULTI_QI*);
201 ULONG CoAddRefServerProcess();
202 ULONG CoReleaseServerProcess();
203 HRESULT CoResumeClassObjects();
204 HRESULT CoSuspendClassObjects();
205 HRESULT CoGetPSClsid(REFIID, CLSID*);
206 HRESULT CoRegisterPSClsid(REFIID, REFCLSID);
207 }