Differences From Artifact [a136bc964109dd20]:
- File
src/win32/objbase.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
To Artifact [db36bda51b6c05b7]:
- File
src/win32/objbase.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
4 * Windows API header module * 4 * Windows API header module *
5 * * 5 * *
6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers *
7 * * 7 * *
8 * Placed into public domain * 8 * Placed into public domain *
9 \***********************************************************************/ 9 \***********************************************************************/
10 module win32.objbase; 10 module win32.objbase;
11 pragma(lib, "ole32.lib"); | 11 pragma(lib, "ole32");
12 12
13 import win32.cguid, win32.objidl, win32.unknwn, win32.wtypes; 13 import win32.cguid, win32.objidl, win32.unknwn, win32.wtypes;
14 private import win32.basetyps, win32.objfwd, win32.rpcdce, win32.winbase, 14 private import win32.basetyps, win32.objfwd, win32.rpcdce, win32.winbase,
15 win32.windef; 15 win32.windef;
16 16
17 // DAC: Not needed for D? 17 // DAC: Not needed for D?
18 //MACRO #define LISet32(li, v) ((li).HighPart=(v)<0?-1:0, (li).LowPart=(v)) 18 //MACRO #define LISet32(li, v) ((li).HighPart=(v)<0?-1:0, (li).LowPart=(v))
................................................................................................................................................................................
62 STGFMT_DOCFILE = 5 62 STGFMT_DOCFILE = 5
63 } 63 }
64 64
65 struct STGOPTIONS { 65 struct STGOPTIONS {
66 USHORT usVersion; 66 USHORT usVersion;
67 USHORT reserved; 67 USHORT reserved;
68 ULONG ulSectorSize; 68 ULONG ulSectorSize;
69 CPtr!(WCHAR) pwcsTemplateFile; | 69 const(WCHAR)* pwcsTemplateFile;
70 } 70 }
71 71
72 enum REGCLS { 72 enum REGCLS {
73 REGCLS_SINGLEUSE = 0, 73 REGCLS_SINGLEUSE = 0,
74 REGCLS_MULTIPLEUSE = 1, 74 REGCLS_MULTIPLEUSE = 1,
75 REGCLS_MULTI_SEPARATE = 2 75 REGCLS_MULTI_SEPARATE = 2
76 } 76 }
................................................................................................................................................................................
109 HRESULT CoInitialize(PVOID); 109 HRESULT CoInitialize(PVOID);
110 HRESULT CoInitializeEx(LPVOID, DWORD); 110 HRESULT CoInitializeEx(LPVOID, DWORD);
111 void CoUninitialize(); 111 void CoUninitialize();
112 HRESULT CoGetMalloc(DWORD, LPMALLOC*); 112 HRESULT CoGetMalloc(DWORD, LPMALLOC*);
113 DWORD CoGetCurrentProcess(); 113 DWORD CoGetCurrentProcess();
114 HRESULT CoRegisterMallocSpy(LPMALLOCSPY); 114 HRESULT CoRegisterMallocSpy(LPMALLOCSPY);
115 HRESULT CoRevokeMallocSpy(); 115 HRESULT CoRevokeMallocSpy();
116 HRESULT CoCreateStandardMalloc(DWORD, IMalloc**); | 116 HRESULT CoCreateStandardMalloc(DWORD, IMalloc*);
117 //#ifdef DBG 117 //#ifdef DBG
118 ULONG DebugCoGetRpcFault(); 118 ULONG DebugCoGetRpcFault();
119 void DebugCoSetRpcFault(ULONG); 119 void DebugCoSetRpcFault(ULONG);
120 //#endif 120 //#endif
121 HRESULT CoGetClassObject(REFCLSID, DWORD, COSERVERINFO*, REFIID, PVOID*) 121 HRESULT CoGetClassObject(REFCLSID, DWORD, COSERVERINFO*, REFIID, PVOID*)
122 HRESULT CoRegisterClassObject(REFCLSID, LPUNKNOWN, DWORD, DWORD, PDWORD) 122 HRESULT CoRegisterClassObject(REFCLSID, LPUNKNOWN, DWORD, DWORD, PDWORD)
123 HRESULT CoRevokeClassObject(DWORD); 123 HRESULT CoRevokeClassObject(DWORD);
................................................................................................................................................................................
137 HRESULT CoGetInterfaceAndReleaseStream(LPSTREAM, REFIID, PVOID*); 137 HRESULT CoGetInterfaceAndReleaseStream(LPSTREAM, REFIID, PVOID*);
138 HRESULT CoCreateFreeThreadedMarshaler(LPUNKNOWN, LPUNKNOWN*); 138 HRESULT CoCreateFreeThreadedMarshaler(LPUNKNOWN, LPUNKNOWN*);
139 HINSTANCE CoLoadLibrary(LPOLESTR, BOOL); 139 HINSTANCE CoLoadLibrary(LPOLESTR, BOOL);
140 void CoFreeLibrary(HINSTANCE); 140 void CoFreeLibrary(HINSTANCE);
141 void CoFreeAllLibraries(); 141 void CoFreeAllLibraries();
142 void CoFreeUnusedLibraries(); 142 void CoFreeUnusedLibraries();
143 HRESULT CoCreateInstance(REFCLSID, LPUNKNOWN, DWORD, REFIID, PVOID*); 143 HRESULT CoCreateInstance(REFCLSID, LPUNKNOWN, DWORD, REFIID, PVOID*);
144 HRESULT CoCreateInstanceEx(REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DW | 144 HRESULT CoCreateInstanceEx(REFCLSID, IUnknown, DWORD, COSERVERINFO*, DWO
145 HRESULT StringFromCLSID(REFCLSID, LPOLESTR*); 145 HRESULT StringFromCLSID(REFCLSID, LPOLESTR*);
146 HRESULT CLSIDFromString(LPOLESTR, LPCLSID); 146 HRESULT CLSIDFromString(LPOLESTR, LPCLSID);
147 HRESULT StringFromIID(REFIID, LPOLESTR*); 147 HRESULT StringFromIID(REFIID, LPOLESTR*);
148 HRESULT IIDFromString(LPOLESTR, LPIID); 148 HRESULT IIDFromString(LPOLESTR, LPIID);
149 BOOL CoIsOle1Class(REFCLSID); 149 BOOL CoIsOle1Class(REFCLSID);
150 HRESULT ProgIDFromCLSID(REFCLSID, LPOLESTR*); 150 HRESULT ProgIDFromCLSID(REFCLSID, LPOLESTR*);
151 HRESULT CLSIDFromProgID(LPCOLESTR, LPCLSID); 151 HRESULT CLSIDFromProgID(LPCOLESTR, LPCLSID);
................................................................................................................................................................................
160 HRESULT DllGetClassObject(REFCLSID, REFIID, PVOID*); 160 HRESULT DllGetClassObject(REFCLSID, REFIID, PVOID*);
161 HRESULT DllCanUnloadNow(); 161 HRESULT DllCanUnloadNow();
162 PVOID CoTaskMemAlloc(ULONG); 162 PVOID CoTaskMemAlloc(ULONG);
163 PVOID CoTaskMemRealloc(PVOID, ULONG); 163 PVOID CoTaskMemRealloc(PVOID, ULONG);
164 void CoTaskMemFree(PVOID); 164 void CoTaskMemFree(PVOID);
165 HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*); 165 HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*);
166 HRESULT CreateDataCache(LPUNKNOWN, REFCLSID, REFIID, PVOID*); 166 HRESULT CreateDataCache(LPUNKNOWN, REFCLSID, REFIID, PVOID*);
167 HRESULT StgCreateDocfile(CPtr!(OLECHAR), DWORD, DWORD, IStorage**); | 167 HRESULT StgCreateDocfile(const(OLECHAR)*, DWORD, DWORD, IStorage*);
168 HRESULT StgCreateDocfileOnILockBytes(ILockBytes*, DWORD, DWORD, IStorage | 168 HRESULT StgCreateDocfileOnILockBytes(ILockBytes, DWORD, DWORD, IStorage*
169 HRESULT StgOpenStorage(CPtr!(OLECHAR), IStorage, DWORD, SNB, DWORD, ISto | 169 HRESULT StgOpenStorage(const(OLECHAR)*, IStorage, DWORD, SNB, DWORD, ISt
170 HRESULT StgOpenStorageOnILockBytes(ILockBytes*, IStorage*, DWORD, SNB, D | 170 HRESULT StgOpenStorageOnILockBytes(ILockBytes, IStorage, DWORD, SNB, DWO
171 HRESULT StgIsStorageFile(CPtr!(OLECHAR)); | 171 HRESULT StgIsStorageFile(const(OLECHAR)*);
172 HRESULT StgIsStorageILockBytes(ILockBytes*); | 172 HRESULT StgIsStorageILockBytes(ILockBytes);
173 HRESULT StgSetTimes(OLECHAR *, FILETIME *, FILETIME *, FILETIME *); 173 HRESULT StgSetTimes(OLECHAR *, FILETIME *, FILETIME *, FILETIME *);
174 HRESULT StgCreateStorageEx(CPtr!(WCHAR), DWORD, DWORD, DWORD, STGOPTIONS | 174 HRESULT StgCreateStorageEx(const(WCHAR)*, DWORD, DWORD, DWORD, STGOPTION
175 HRESULT StgOpenStorageEx(CPtr!(WCHAR), DWORD, DWORD, DWORD, STGOPTIONS*, | 175 HRESULT StgOpenStorageEx(const(WCHAR)*, DWORD, DWORD, DWORD, STGOPTIONS*
176 HRESULT BindMoniker(LPMONIKER, DWORD, REFIID, PVOID*); 176 HRESULT BindMoniker(LPMONIKER, DWORD, REFIID, PVOID*);
177 HRESULT CoGetObject(LPCWSTR, BIND_OPTS*, REFIID, void**); 177 HRESULT CoGetObject(LPCWSTR, BIND_OPTS*, REFIID, void**);
178 HRESULT MkParseDisplayName(LPBC, LPCOLESTR, ULONG*, LPMONIKER*); 178 HRESULT MkParseDisplayName(LPBC, LPCOLESTR, ULONG*, LPMONIKER*);
179 HRESULT MonikerRelativePathTo(LPMONIKER, LPMONIKER, LPMONIKER*, BOOL); 179 HRESULT MonikerRelativePathTo(LPMONIKER, LPMONIKER, LPMONIKER*, BOOL);
180 HRESULT MonikerCommonPrefixWith(LPMONIKER, LPMONIKER, LPMONIKER*); 180 HRESULT MonikerCommonPrefixWith(LPMONIKER, LPMONIKER, LPMONIKER*);
181 HRESULT CreateBindCtx(DWORD, LPBC*); 181 HRESULT CreateBindCtx(DWORD, LPBC*);
182 HRESULT CreateGenericComposite(LPMONIKER, LPMONIKER, LPMONIKER*); 182 HRESULT CreateGenericComposite(LPMONIKER, LPMONIKER, LPMONIKER*);