Differences From Artifact [06ead287f10f9815]:
- File
src/win32/shlwapi.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 [b2149b33a45a6395]:
- File
src/win32/shlwapi.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 4 * Windows API header module *
5 5 * *
6 6 * Translated from MinGW Windows headers *
7 7 * *
8 8 * Placed into public domain *
9 9 \***********************************************************************/
10 10 module win32.shlwapi;
11 -pragma(lib, "shlwapi.lib");
11 +pragma(lib, "shlwapi");
12 12
13 13 /* Changes compared to MinGW:
14 14 wnsprintf functions are not included.
15 15 // Macros unneeded for D
16 16 #define StrCmpIA lstrcmpiA;
17 17 #define StrCmpA lstrcmpA;
18 18 #define StrCpyA lstrcpyA;
................................................................................
114 114 URLIS_NOHISTORY,
115 115 URLIS_FILEURL,
116 116 URLIS_APPLIABLE,
117 117 URLIS_DIRECTORY,
118 118 URLIS_HASQUERY
119 119 }
120 120
121 -alias HANDLE HUSKEY;
121 +mixin DECLARE_HANDLE!("HUSKEY");
122 122 alias HUSKEY* PHUSKEY;
123 123
124 124 extern (Windows)
125 125 {
126 126 alias HRESULT function (DLLVERSIONINFO *) DLLGETVERSIONPROC;
127 127 }
128 128
................................................................................
153 153 }
154 154
155 155 BOOL UrlIsFileUrlW(LPCWSTR pszURL)
156 156 {
157 157 return UrlIsW(pszURL, URLIS.URLIS_FILEURL);
158 158 }
159 159
160 -HRESULT UrlUnescapeInPlaceA(LPSTR pszUrl,DWORD dwFlags)
160 +HRESULT UrlUnescapeInPlaceA(LPSTR pszUrl, DWORD dwFlags)
161 161 {
162 162 return UrlUnescapeA(pszUrl, null, null, dwFlags | URL_UNESCAPE_INPLACE);
163 163 }
164 -HRESULT UrlUnescapeInPlaceW(LPWSTR pszUrl,DWORD dwFlags)
164 +HRESULT UrlUnescapeInPlaceW(LPWSTR pszUrl, DWORD dwFlags)
165 165 {
166 166 return UrlUnescapeW(pszUrl, null, null, dwFlags | URL_UNESCAPE_INPLACE);
167 167 }
168 168
169 169 extern (Windows):
170 -BOOL ChrCmpIA(WORD,WORD);
171 -BOOL ChrCmpIW(WCHAR,WCHAR);
172 -BOOL IntlStrEqWorkerA(BOOL,LPCSTR,LPCSTR,int);
173 -BOOL IntlStrEqWorkerW(BOOL,LPCWSTR,LPCWSTR,int);
174 -HRESULT SHStrDupA(LPCSTR,LPWSTR*);
175 -HRESULT SHStrDupW(LPCWSTR,LPWSTR*);
176 -LPSTR StrCatA(LPSTR,LPCSTR);
177 -LPWSTR StrCatW(LPWSTR,LPCWSTR);
178 -LPSTR StrCatBuffA(LPSTR,LPCSTR,int);
179 -LPWSTR StrCatBuffW(LPWSTR,LPCWSTR,int);
180 -DWORD StrCatChainW(LPWSTR,DWORD,DWORD,LPCWSTR);
181 -LPSTR StrChrA(LPCSTR,WORD);
182 -LPWSTR StrChrW(LPCWSTR,WCHAR);
183 -LPSTR StrChrIA(LPCSTR,WORD);
184 -LPWSTR StrChrIW(LPCWSTR,WCHAR);
185 -int StrCmpIW(LPCWSTR,LPCWSTR);
186 -int StrCmpW(LPCWSTR,LPCWSTR);
187 -LPWSTR StrCpyW(LPWSTR,LPCWSTR);
188 -LPWSTR StrCpyNW(LPWSTR,LPCWSTR,int);
189 -int StrCmpNA(LPCSTR,LPCSTR,int);
190 -int StrCmpNW(LPCWSTR,LPCWSTR,int);
191 -int StrCmpNIA(LPCSTR,LPCSTR,int);
192 -int StrCmpNIW(LPCWSTR,LPCWSTR,int);
193 -int StrCSpnA(LPCSTR,LPCSTR);
194 -int StrCSpnW(LPCWSTR,LPCWSTR);
195 -int StrCSpnIA(LPCSTR,LPCSTR);
196 -int StrCSpnIW(LPCWSTR,LPCWSTR);
170 +BOOL ChrCmpIA(WORD, WORD);
171 +BOOL ChrCmpIW(WCHAR, WCHAR);
172 +BOOL IntlStrEqWorkerA(BOOL, LPCSTR, LPCSTR, int);
173 +BOOL IntlStrEqWorkerW(BOOL, LPCWSTR, LPCWSTR, int);
174 +HRESULT SHStrDupA(LPCSTR, LPWSTR*);
175 +HRESULT SHStrDupW(LPCWSTR, LPWSTR*);
176 +LPSTR StrCatA(LPSTR, LPCSTR);
177 +LPWSTR StrCatW(LPWSTR, LPCWSTR);
178 +LPSTR StrCatBuffA(LPSTR, LPCSTR, int);
179 +LPWSTR StrCatBuffW(LPWSTR, LPCWSTR, int);
180 +DWORD StrCatChainW(LPWSTR, DWORD, DWORD, LPCWSTR);
181 +LPSTR StrChrA(LPCSTR, WORD);
182 +LPWSTR StrChrW(LPCWSTR, WCHAR);
183 +LPSTR StrChrIA(LPCSTR, WORD);
184 +LPWSTR StrChrIW(LPCWSTR, WCHAR);
185 +int StrCmpIW(LPCWSTR, LPCWSTR);
186 +int StrCmpW(LPCWSTR, LPCWSTR);
187 +LPWSTR StrCpyW(LPWSTR, LPCWSTR);
188 +LPWSTR StrCpyNW(LPWSTR, LPCWSTR, int);
189 +int StrCmpNA(LPCSTR, LPCSTR, int);
190 +int StrCmpNW(LPCWSTR, LPCWSTR, int);
191 +int StrCmpNIA(LPCSTR, LPCSTR, int);
192 +int StrCmpNIW(LPCWSTR, LPCWSTR, int);
193 +int StrCSpnA(LPCSTR, LPCSTR);
194 +int StrCSpnW(LPCWSTR, LPCWSTR);
195 +int StrCSpnIA(LPCSTR, LPCSTR);
196 +int StrCSpnIW(LPCWSTR, LPCWSTR);
197 197 LPSTR StrDupA(LPCSTR);
198 198 LPWSTR StrDupW(LPCWSTR);
199 -LPSTR StrFormatByteSize64A(LONGLONG,LPSTR,UINT);
200 -LPSTR StrFormatByteSizeA(DWORD,LPSTR,UINT);
201 -LPWSTR StrFormatByteSizeW(LONGLONG,LPWSTR,UINT);
202 -LPSTR StrFormatKBSizeA(LONGLONG,LPSTR,UINT);
203 -LPWSTR StrFormatKBSizeW(LONGLONG,LPWSTR,UINT);
204 -int StrFromTimeIntervalA(LPSTR,UINT,DWORD,int);
205 -int StrFromTimeIntervalW(LPWSTR,UINT,DWORD,int);
206 -BOOL StrIsIntlEqualA(BOOL,LPCSTR,LPCSTR,int);
207 -BOOL StrIsIntlEqualW(BOOL,LPCWSTR,LPCWSTR,int);
208 -LPSTR StrNCatA(LPSTR,LPCSTR,int);
209 -LPWSTR StrNCatW(LPWSTR,LPCWSTR,int);
210 -LPSTR StrPBrkA(LPCSTR,LPCSTR);
211 -LPWSTR StrPBrkW(LPCWSTR,LPCWSTR);
212 -LPSTR StrRChrA(LPCSTR,LPCSTR,WORD);
213 -LPWSTR StrRChrW(LPCWSTR,LPCWSTR,WCHAR);
214 -LPSTR StrRChrIA(LPCSTR,LPCSTR,WORD);
215 -LPWSTR StrRChrIW(LPCWSTR,LPCWSTR,WCHAR);
216 -LPSTR StrRStrIA(LPCSTR,LPCSTR,LPCSTR);
217 -LPWSTR StrRStrIW(LPCWSTR,LPCWSTR,LPCWSTR);
218 -int StrSpnA(LPCSTR,LPCSTR);
219 -int StrSpnW(LPCWSTR,LPCWSTR);
199 +LPSTR StrFormatByteSize64A(LONGLONG, LPSTR, UINT);
200 +LPSTR StrFormatByteSizeA(DWORD, LPSTR, UINT);
201 +LPWSTR StrFormatByteSizeW(LONGLONG, LPWSTR, UINT);
202 +LPSTR StrFormatKBSizeA(LONGLONG, LPSTR, UINT);
203 +LPWSTR StrFormatKBSizeW(LONGLONG, LPWSTR, UINT);
204 +int StrFromTimeIntervalA(LPSTR, UINT, DWORD, int);
205 +int StrFromTimeIntervalW(LPWSTR, UINT, DWORD, int);
206 +BOOL StrIsIntlEqualA(BOOL, LPCSTR, LPCSTR, int);
207 +BOOL StrIsIntlEqualW(BOOL, LPCWSTR, LPCWSTR, int);
208 +LPSTR StrNCatA(LPSTR, LPCSTR, int);
209 +LPWSTR StrNCatW(LPWSTR, LPCWSTR, int);
210 +LPSTR StrPBrkA(LPCSTR, LPCSTR);
211 +LPWSTR StrPBrkW(LPCWSTR, LPCWSTR);
212 +LPSTR StrRChrA(LPCSTR, LPCSTR, WORD);
213 +LPWSTR StrRChrW(LPCWSTR, LPCWSTR, WCHAR);
214 +LPSTR StrRChrIA(LPCSTR, LPCSTR, WORD);
215 +LPWSTR StrRChrIW(LPCWSTR, LPCWSTR, WCHAR);
216 +LPSTR StrRStrIA(LPCSTR, LPCSTR, LPCSTR);
217 +LPWSTR StrRStrIW(LPCWSTR, LPCWSTR, LPCWSTR);
218 +int StrSpnA(LPCSTR, LPCSTR);
219 +int StrSpnW(LPCWSTR, LPCWSTR);
220 220 LPSTR StrStrA(LPCSTR, LPCSTR);
221 -LPSTR StrStrIA(LPCSTR,LPCSTR);
222 -LPWSTR StrStrIW(LPCWSTR,LPCWSTR);
223 -LPWSTR StrStrW(LPCWSTR,LPCWSTR);
221 +LPSTR StrStrIA(LPCSTR, LPCSTR);
222 +LPWSTR StrStrIW(LPCWSTR, LPCWSTR);
223 +LPWSTR StrStrW(LPCWSTR, LPCWSTR);
224 224 int StrToIntA(LPCSTR);
225 225 int StrToIntW(LPCWSTR);
226 -BOOL StrToIntExA(LPCSTR,DWORD,int*);
227 -BOOL StrToIntExW(LPCWSTR,DWORD,int*);
228 -BOOL StrTrimA(LPSTR,LPCSTR);
229 -BOOL StrTrimW(LPWSTR,LPCWSTR);
226 +BOOL StrToIntExA(LPCSTR, DWORD, int*);
227 +BOOL StrToIntExW(LPCWSTR, DWORD, int*);
228 +BOOL StrTrimA(LPSTR, LPCSTR);
229 +BOOL StrTrimW(LPWSTR, LPCWSTR);
230 230 LPSTR PathAddBackslashA(LPSTR);
231 231 LPWSTR PathAddBackslashW(LPWSTR);
232 -BOOL PathAddExtensionA(LPSTR,LPCSTR);
233 -BOOL PathAddExtensionW(LPWSTR,LPCWSTR);
234 -BOOL PathAppendA(LPSTR,LPCSTR);
235 -BOOL PathAppendW(LPWSTR,LPCWSTR);
236 -LPSTR PathBuildRootA(LPSTR,int);
237 -LPWSTR PathBuildRootW(LPWSTR,int);
238 -BOOL PathCanonicalizeA(LPSTR,LPCSTR);
239 -BOOL PathCanonicalizeW(LPWSTR,LPCWSTR);
240 -LPSTR PathCombineA(LPSTR,LPCSTR,LPCSTR);
241 -LPWSTR PathCombineW(LPWSTR,LPCWSTR,LPCWSTR);
242 -int PathCommonPrefixA(LPCSTR,LPCSTR,LPSTR);
243 -int PathCommonPrefixW(LPCWSTR,LPCWSTR,LPWSTR);
244 -BOOL PathCompactPathA(HDC,LPSTR,UINT);
245 -BOOL PathCompactPathW(HDC,LPWSTR,UINT);
246 -BOOL PathCompactPathExA(LPSTR,LPCSTR,UINT,DWORD);
247 -BOOL PathCompactPathExW(LPWSTR,LPCWSTR,UINT,DWORD);
248 -HRESULT PathCreateFromUrlA(LPCSTR,LPSTR,LPDWORD,DWORD);
249 -HRESULT PathCreateFromUrlW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
232 +BOOL PathAddExtensionA(LPSTR, LPCSTR);
233 +BOOL PathAddExtensionW(LPWSTR, LPCWSTR);
234 +BOOL PathAppendA(LPSTR, LPCSTR);
235 +BOOL PathAppendW(LPWSTR, LPCWSTR);
236 +LPSTR PathBuildRootA(LPSTR, int);
237 +LPWSTR PathBuildRootW(LPWSTR, int);
238 +BOOL PathCanonicalizeA(LPSTR, LPCSTR);
239 +BOOL PathCanonicalizeW(LPWSTR, LPCWSTR);
240 +LPSTR PathCombineA(LPSTR, LPCSTR, LPCSTR);
241 +LPWSTR PathCombineW(LPWSTR, LPCWSTR, LPCWSTR);
242 +int PathCommonPrefixA(LPCSTR, LPCSTR, LPSTR);
243 +int PathCommonPrefixW(LPCWSTR, LPCWSTR, LPWSTR);
244 +BOOL PathCompactPathA(HDC, LPSTR, UINT);
245 +BOOL PathCompactPathW(HDC, LPWSTR, UINT);
246 +BOOL PathCompactPathExA(LPSTR, LPCSTR, UINT, DWORD);
247 +BOOL PathCompactPathExW(LPWSTR, LPCWSTR, UINT, DWORD);
248 +HRESULT PathCreateFromUrlA(LPCSTR, LPSTR, LPDWORD, DWORD);
249 +HRESULT PathCreateFromUrlW(LPCWSTR, LPWSTR, LPDWORD, DWORD);
250 250 BOOL PathFileExistsA(LPCSTR);
251 251 BOOL PathFileExistsW(LPCWSTR);
252 252 LPSTR PathFindExtensionA(LPCSTR);
253 253 LPWSTR PathFindExtensionW(LPCWSTR);
254 254 LPSTR PathFindFileNameA(LPCSTR);
255 255 LPWSTR PathFindFileNameW(LPCWSTR);
256 256 LPSTR PathFindNextComponentA(LPCSTR);
257 257 LPWSTR PathFindNextComponentW(LPCWSTR);
258 -BOOL PathFindOnPathA(LPSTR,LPCSTR*);
259 -BOOL PathFindOnPathW(LPWSTR,LPCWSTR*);
260 -LPCSTR PathFindSuffixArrayA(LPCSTR,LPCSTR*,int);
261 -LPCWSTR PathFindSuffixArrayW(LPCWSTR,LPCWSTR*,int);
258 +BOOL PathFindOnPathA(LPSTR, LPCSTR*);
259 +BOOL PathFindOnPathW(LPWSTR, LPCWSTR*);
260 +LPCSTR PathFindSuffixArrayA(LPCSTR, LPCSTR*, int);
261 +LPCWSTR PathFindSuffixArrayW(LPCWSTR, LPCWSTR*, int);
262 262 LPSTR PathGetArgsA(LPCSTR);
263 263 LPWSTR PathGetArgsW(LPCWSTR);
264 264 UINT PathGetCharTypeA(UCHAR);
265 265 UINT PathGetCharTypeW(WCHAR);
266 266 int PathGetDriveNumberA(LPCSTR);
267 267 int PathGetDriveNumberW(LPCWSTR);
268 -BOOL PathIsContentTypeA(LPCSTR,LPCSTR);
269 -BOOL PathIsContentTypeW(LPCWSTR,LPCWSTR);
268 +BOOL PathIsContentTypeA(LPCSTR, LPCSTR);
269 +BOOL PathIsContentTypeW(LPCWSTR, LPCWSTR);
270 270 BOOL PathIsDirectoryA(LPCSTR);
271 271 BOOL PathIsDirectoryEmptyA(LPCSTR);
272 272 BOOL PathIsDirectoryEmptyW(LPCWSTR);
273 273 BOOL PathIsDirectoryW(LPCWSTR);
274 274 BOOL PathIsFileSpecA(LPCSTR);
275 275 BOOL PathIsFileSpecW(LPCWSTR);
276 276 BOOL PathIsLFNFileSpecA(LPCSTR);
277 277 BOOL PathIsLFNFileSpecW(LPCWSTR);
278 278 BOOL PathIsNetworkPathA(LPCSTR);
279 279 BOOL PathIsNetworkPathW(LPCWSTR);
280 -BOOL PathIsPrefixA(LPCSTR,LPCSTR);
281 -BOOL PathIsPrefixW(LPCWSTR,LPCWSTR);
280 +BOOL PathIsPrefixA(LPCSTR, LPCSTR);
281 +BOOL PathIsPrefixW(LPCWSTR, LPCWSTR);
282 282 BOOL PathIsRelativeA(LPCSTR);
283 283 BOOL PathIsRelativeW(LPCWSTR);
284 284 BOOL PathIsRootA(LPCSTR);
285 285 BOOL PathIsRootW(LPCWSTR);
286 -BOOL PathIsSameRootA(LPCSTR,LPCSTR);
287 -BOOL PathIsSameRootW(LPCWSTR,LPCWSTR);
288 -BOOL PathIsSystemFolderA(LPCSTR,DWORD);
289 -BOOL PathIsSystemFolderW(LPCWSTR,DWORD);
286 +BOOL PathIsSameRootA(LPCSTR, LPCSTR);
287 +BOOL PathIsSameRootW(LPCWSTR, LPCWSTR);
288 +BOOL PathIsSystemFolderA(LPCSTR, DWORD);
289 +BOOL PathIsSystemFolderW(LPCWSTR, DWORD);
290 290 BOOL PathIsUNCA(LPCSTR);
291 291 BOOL PathIsUNCServerA(LPCSTR);
292 292 BOOL PathIsUNCServerShareA(LPCSTR);
293 293 BOOL PathIsUNCServerShareW(LPCWSTR);
294 294 BOOL PathIsUNCServerW(LPCWSTR);
295 295 BOOL PathIsUNCW(LPCWSTR);
296 296 BOOL PathIsURLA(LPCSTR);
297 297 BOOL PathIsURLW(LPCWSTR);
298 298 BOOL PathMakePrettyA(LPSTR);
299 299 BOOL PathMakePrettyW(LPWSTR);
300 300 BOOL PathMakeSystemFolderA(LPSTR);
301 301 BOOL PathMakeSystemFolderW(LPWSTR);
302 -BOOL PathMatchSpecA(LPCSTR,LPCSTR);
303 -BOOL PathMatchSpecW(LPCWSTR,LPCWSTR);
302 +BOOL PathMatchSpecA(LPCSTR, LPCSTR);
303 +BOOL PathMatchSpecW(LPCWSTR, LPCWSTR);
304 304 int PathParseIconLocationA(LPSTR);
305 305 int PathParseIconLocationW(LPWSTR);
306 306 void PathQuoteSpacesA(LPSTR);
307 307 void PathQuoteSpacesW(LPWSTR);
308 -BOOL PathRelativePathToA(LPSTR,LPCSTR,DWORD,LPCSTR,DWORD);
309 -BOOL PathRelativePathToW(LPWSTR,LPCWSTR,DWORD,LPCWSTR,DWORD);
308 +BOOL PathRelativePathToA(LPSTR, LPCSTR, DWORD, LPCSTR, DWORD);
309 +BOOL PathRelativePathToW(LPWSTR, LPCWSTR, DWORD, LPCWSTR, DWORD);
310 310 void PathRemoveArgsA(LPSTR);
311 311 void PathRemoveArgsW(LPWSTR);
312 312 LPSTR PathRemoveBackslashA(LPSTR);
313 313 LPWSTR PathRemoveBackslashW(LPWSTR);
314 314 void PathRemoveBlanksA(LPSTR);
315 315 void PathRemoveBlanksW(LPWSTR);
316 316 void PathRemoveExtensionA(LPSTR);
317 317 void PathRemoveExtensionW(LPWSTR);
318 318 BOOL PathRemoveFileSpecA(LPSTR);
319 319 BOOL PathRemoveFileSpecW(LPWSTR);
320 -BOOL PathRenameExtensionA(LPSTR,LPCSTR);
321 -BOOL PathRenameExtensionW(LPWSTR,LPCWSTR);
322 -BOOL PathSearchAndQualifyA(LPCSTR,LPSTR,UINT);
323 -BOOL PathSearchAndQualifyW(LPCWSTR,LPWSTR,UINT);
324 -void PathSetDlgItemPathA(HWND,int,LPCSTR);
325 -void PathSetDlgItemPathW(HWND,int,LPCWSTR);
320 +BOOL PathRenameExtensionA(LPSTR, LPCSTR);
321 +BOOL PathRenameExtensionW(LPWSTR, LPCWSTR);
322 +BOOL PathSearchAndQualifyA(LPCSTR, LPSTR, UINT);
323 +BOOL PathSearchAndQualifyW(LPCWSTR, LPWSTR, UINT);
324 +void PathSetDlgItemPathA(HWND, int, LPCSTR);
325 +void PathSetDlgItemPathW(HWND, int, LPCWSTR);
326 326 LPSTR PathSkipRootA(LPCSTR);
327 327 LPWSTR PathSkipRootW(LPCWSTR);
328 328 void PathStripPathA(LPSTR);
329 329 void PathStripPathW(LPWSTR);
330 330 BOOL PathStripToRootA(LPSTR);
331 331 BOOL PathStripToRootW(LPWSTR);
332 332 void PathUndecorateA(LPSTR);
333 333 void PathUndecorateW(LPWSTR);
334 -BOOL PathUnExpandEnvStringsA(LPCSTR,LPSTR,UINT);
335 -BOOL PathUnExpandEnvStringsW(LPCWSTR,LPWSTR,UINT);
334 +BOOL PathUnExpandEnvStringsA(LPCSTR, LPSTR, UINT);
335 +BOOL PathUnExpandEnvStringsW(LPCWSTR, LPWSTR, UINT);
336 336 BOOL PathUnmakeSystemFolderA(LPSTR);
337 337 BOOL PathUnmakeSystemFolderW(LPWSTR);
338 338 void PathUnquoteSpacesA(LPSTR);
339 339 void PathUnquoteSpacesW(LPWSTR);
340 -HRESULT SHAutoComplete(HWND,DWORD);
341 -BOOL SHCreateThread(LPTHREAD_START_ROUTINE,void*,DWORD,LPTHREAD_START_ROUTINE);
342 -DWORD SHCopyKeyA(HKEY,LPCSTR,HKEY,DWORD);
343 -DWORD SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD);
344 -DWORD SHDeleteEmptyKeyA(HKEY,LPCSTR);
345 -DWORD SHDeleteEmptyKeyW(HKEY,LPCWSTR);
346 -DWORD SHDeleteKeyA(HKEY,LPCSTR);
347 -DWORD SHDeleteKeyW(HKEY,LPCWSTR);
348 -DWORD SHEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD);
349 -DWORD SHEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD);
350 -DWORD SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
351 -DWORD SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
352 -DWORD SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
353 -DWORD SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
354 -HRESULT SHGetThreadRef(IUnknown**);
355 -HRESULT SHSetThreadRef(IUnknown*);
356 -BOOL SHSkipJunction(IBindCtx*, CPtr!(CLSID));
357 -DWORD SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
358 -DWORD SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
359 -DWORD SHGetValueA(HKEY,LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD);
360 -DWORD SHGetValueW(HKEY,LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD);
361 -DWORD SHSetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD);
362 -DWORD SHSetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD);
363 -DWORD SHDeleteValueA(HKEY,LPCSTR,LPCSTR);
364 -DWORD SHDeleteValueW(HKEY,LPCWSTR,LPCWSTR);
365 -HRESULT AssocCreate(CLSID, CPtr!(IID) ,CPtr!(LPVOID));
366 -HRESULT AssocQueryKeyA(ASSOCF,ASSOCKEY,LPCSTR,LPCSTR,HKEY*);
367 -HRESULT AssocQueryKeyW(ASSOCF,ASSOCKEY,LPCWSTR,LPCWSTR,HKEY*);
368 -HRESULT AssocQueryStringA(ASSOCF,ASSOCSTR,LPCSTR,LPCSTR,LPSTR,DWORD*);
369 -HRESULT AssocQueryStringByKeyA(ASSOCF,ASSOCSTR,HKEY,LPCSTR,LPSTR,DWORD*);
370 -HRESULT AssocQueryStringByKeyW(ASSOCF,ASSOCSTR,HKEY,LPCWSTR,LPWSTR,DWORD*);
371 -HRESULT AssocQueryStringW(ASSOCF,ASSOCSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD*);
372 -HRESULT UrlApplySchemeA(LPCSTR,LPSTR,LPDWORD,DWORD);
373 -HRESULT UrlApplySchemeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
374 -HRESULT UrlCanonicalizeA(LPCSTR,LPSTR,LPDWORD,DWORD);
375 -HRESULT UrlCanonicalizeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
376 -HRESULT UrlCombineA(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD);
377 -HRESULT UrlCombineW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD);
378 -int UrlCompareA(LPCSTR,LPCSTR,BOOL);
379 -int UrlCompareW(LPCWSTR,LPCWSTR,BOOL);
380 -HRESULT UrlCreateFromPathA(LPCSTR,LPSTR,LPDWORD,DWORD);
381 -HRESULT UrlCreateFromPathW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
382 -HRESULT UrlEscapeA(LPCSTR,LPSTR,LPDWORD,DWORD);
383 -HRESULT UrlEscapeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
340 +HRESULT SHAutoComplete(HWND, DWORD);
341 +BOOL SHCreateThread(LPTHREAD_START_ROUTINE, void*, DWORD, LPTHREAD_START_ROUTINE);
342 +DWORD SHCopyKeyA(HKEY, LPCSTR, HKEY, DWORD);
343 +DWORD SHCopyKeyW(HKEY, LPCWSTR, HKEY, DWORD);
344 +DWORD SHDeleteEmptyKeyA(HKEY, LPCSTR);
345 +DWORD SHDeleteEmptyKeyW(HKEY, LPCWSTR);
346 +DWORD SHDeleteKeyA(HKEY, LPCSTR);
347 +DWORD SHDeleteKeyW(HKEY, LPCWSTR);
348 +DWORD SHEnumKeyExA(HKEY, DWORD, LPSTR, LPDWORD);
349 +DWORD SHEnumKeyExW(HKEY, DWORD, LPWSTR, LPDWORD);
350 +DWORD SHQueryInfoKeyA(HKEY, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
351 +DWORD SHQueryInfoKeyW(HKEY, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
352 +DWORD SHQueryValueExA(HKEY, LPCSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD);
353 +DWORD SHQueryValueExW(HKEY, LPCWSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD);
354 +HRESULT SHGetThreadRef(IUnknown*);
355 +HRESULT SHSetThreadRef(IUnknown);
356 +BOOL SHSkipJunction(IBindCtx, const(CLSID)*);
357 +DWORD SHEnumValueA(HKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD);
358 +DWORD SHEnumValueW(HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD);
359 +DWORD SHGetValueA(HKEY, LPCSTR, LPCSTR, LPDWORD, LPVOID, LPDWORD);
360 +DWORD SHGetValueW(HKEY, LPCWSTR, LPCWSTR, LPDWORD, LPVOID, LPDWORD);
361 +DWORD SHSetValueA(HKEY, LPCSTR, LPCSTR, DWORD, LPCVOID, DWORD);
362 +DWORD SHSetValueW(HKEY, LPCWSTR, LPCWSTR, DWORD, LPCVOID, DWORD);
363 +DWORD SHDeleteValueA(HKEY, LPCSTR, LPCSTR);
364 +DWORD SHDeleteValueW(HKEY, LPCWSTR, LPCWSTR);
365 +HRESULT AssocCreate(CLSID, const(IID)* , const(LPVOID)*);
366 +HRESULT AssocQueryKeyA(ASSOCF, ASSOCKEY, LPCSTR, LPCSTR, HKEY*);
367 +HRESULT AssocQueryKeyW(ASSOCF, ASSOCKEY, LPCWSTR, LPCWSTR, HKEY*);
368 +HRESULT AssocQueryStringA(ASSOCF, ASSOCSTR, LPCSTR, LPCSTR, LPSTR, DWORD*);
369 +HRESULT AssocQueryStringByKeyA(ASSOCF, ASSOCSTR, HKEY, LPCSTR, LPSTR, DWORD*);
370 +HRESULT AssocQueryStringByKeyW(ASSOCF, ASSOCSTR, HKEY, LPCWSTR, LPWSTR, DWORD*);
371 +HRESULT AssocQueryStringW(ASSOCF, ASSOCSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD*);
372 +HRESULT UrlApplySchemeA(LPCSTR, LPSTR, LPDWORD, DWORD);
373 +HRESULT UrlApplySchemeW(LPCWSTR, LPWSTR, LPDWORD, DWORD);
374 +HRESULT UrlCanonicalizeA(LPCSTR, LPSTR, LPDWORD, DWORD);
375 +HRESULT UrlCanonicalizeW(LPCWSTR, LPWSTR, LPDWORD, DWORD);
376 +HRESULT UrlCombineA(LPCSTR, LPCSTR, LPSTR, LPDWORD, DWORD);
377 +HRESULT UrlCombineW(LPCWSTR, LPCWSTR, LPWSTR, LPDWORD, DWORD);
378 +int UrlCompareA(LPCSTR, LPCSTR, BOOL);
379 +int UrlCompareW(LPCWSTR, LPCWSTR, BOOL);
380 +HRESULT UrlCreateFromPathA(LPCSTR, LPSTR, LPDWORD, DWORD);
381 +HRESULT UrlCreateFromPathW(LPCWSTR, LPWSTR, LPDWORD, DWORD);
382 +HRESULT UrlEscapeA(LPCSTR, LPSTR, LPDWORD, DWORD);
383 +HRESULT UrlEscapeW(LPCWSTR, LPWSTR, LPDWORD, DWORD);
384 384 LPCSTR UrlGetLocationA(LPCSTR);
385 385 LPCWSTR UrlGetLocationW(LPCWSTR);
386 -HRESULT UrlGetPartA(LPCSTR,LPSTR,LPDWORD,DWORD,DWORD);
387 -HRESULT UrlGetPartW(LPCWSTR,LPWSTR,LPDWORD,DWORD,DWORD);
388 -HRESULT UrlHashA(LPCSTR,LPBYTE,DWORD);
389 -HRESULT UrlHashW(LPCWSTR,LPBYTE,DWORD);
390 -BOOL UrlIsA(LPCSTR,URLIS);
391 -BOOL UrlIsW(LPCWSTR,URLIS);
386 +HRESULT UrlGetPartA(LPCSTR, LPSTR, LPDWORD, DWORD, DWORD);
387 +HRESULT UrlGetPartW(LPCWSTR, LPWSTR, LPDWORD, DWORD, DWORD);
388 +HRESULT UrlHashA(LPCSTR, LPBYTE, DWORD);
389 +HRESULT UrlHashW(LPCWSTR, LPBYTE, DWORD);
390 +BOOL UrlIsA(LPCSTR, URLIS);
391 +BOOL UrlIsW(LPCWSTR, URLIS);
392 392 BOOL UrlIsNoHistoryA(LPCSTR);
393 393 BOOL UrlIsNoHistoryW(LPCWSTR);
394 394 BOOL UrlIsOpaqueA(LPCSTR);
395 395 BOOL UrlIsOpaqueW(LPCWSTR);
396 -HRESULT UrlUnescapeA(LPSTR,LPSTR,LPDWORD,DWORD);
397 -HRESULT UrlUnescapeW(LPWSTR,LPWSTR,LPDWORD,DWORD);
396 +HRESULT UrlUnescapeA(LPSTR, LPSTR, LPDWORD, DWORD);
397 +HRESULT UrlUnescapeW(LPWSTR, LPWSTR, LPDWORD, DWORD);
398 398 DWORD SHRegCloseUSKey(HUSKEY);
399 -LONG SHRegCreateUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
400 -LONG SHRegCreateUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
401 -LONG SHRegDeleteEmptyUSKeyA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
402 -LONG SHRegDeleteEmptyUSKeyW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
403 -LONG SHRegDeleteUSValueA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
404 -LONG SHRegDeleteUSValueW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
399 +LONG SHRegCreateUSKeyA(LPCSTR, REGSAM, HUSKEY, PHUSKEY, DWORD);
400 +LONG SHRegCreateUSKeyW(LPCWSTR, REGSAM, HUSKEY, PHUSKEY, DWORD);
401 +LONG SHRegDeleteEmptyUSKeyA(HUSKEY, LPCSTR, SHREGDEL_FLAGS);
402 +LONG SHRegDeleteEmptyUSKeyW(HUSKEY, LPCWSTR, SHREGDEL_FLAGS);
403 +LONG SHRegDeleteUSValueA(HUSKEY, LPCSTR, SHREGDEL_FLAGS);
404 +LONG SHRegDeleteUSValueW(HUSKEY, LPCWSTR, SHREGDEL_FLAGS);
405 405 HKEY SHRegDuplicateHKey(HKEY);
406 -DWORD SHRegEnumUSKeyA(HUSKEY,DWORD,LPSTR,LPDWORD,SHREGENUM_FLAGS);
407 -DWORD SHRegEnumUSKeyW(HUSKEY,DWORD,LPWSTR,LPDWORD,SHREGENUM_FLAGS);
408 -DWORD SHRegEnumUSValueA(HUSKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS);
409 -DWORD SHRegEnumUSValueW(HUSKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS);
410 -BOOL SHRegGetBoolUSValueA(LPCSTR,LPCSTR,BOOL,BOOL);
411 -BOOL SHRegGetBoolUSValueW(LPCWSTR,LPCWSTR,BOOL,BOOL);
412 -DWORD SHRegGetPathA(HKEY,LPCSTR,LPCSTR,LPSTR,DWORD);
413 -DWORD SHRegGetPathW(HKEY,LPCWSTR,LPCWSTR,LPWSTR,DWORD);
414 -LONG SHRegGetUSValueA(LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
415 -LONG SHRegGetUSValueW(LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
416 -LONG SHRegOpenUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
417 -LONG SHRegOpenUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
418 -DWORD SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS);
419 -DWORD SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS);
420 -LONG SHRegQueryUSValueA(HUSKEY,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
421 -LONG SHRegQueryUSValueW(HUSKEY,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
422 -DWORD SHRegSetPathA(HKEY,LPCSTR,LPCSTR,LPCSTR,DWORD);
423 -DWORD SHRegSetPathW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
424 -LONG SHRegSetUSValueA(LPCSTR,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
425 -LONG SHRegSetUSValueW(LPCWSTR,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
426 -LONG SHRegWriteUSValueA(HUSKEY,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
427 -LONG SHRegWriteUSValueW(HUSKEY,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
428 -HRESULT HashData(LPBYTE,DWORD,LPBYTE,DWORD);
406 +DWORD SHRegEnumUSKeyA(HUSKEY, DWORD, LPSTR, LPDWORD, SHREGENUM_FLAGS);
407 +DWORD SHRegEnumUSKeyW(HUSKEY, DWORD, LPWSTR, LPDWORD, SHREGENUM_FLAGS);
408 +DWORD SHRegEnumUSValueA(HUSKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD, SHREGENUM_FLAGS);
409 +DWORD SHRegEnumUSValueW(HUSKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPVOID, LPDWORD, SHREGENUM_FLAGS);
410 +BOOL SHRegGetBoolUSValueA(LPCSTR, LPCSTR, BOOL, BOOL);
411 +BOOL SHRegGetBoolUSValueW(LPCWSTR, LPCWSTR, BOOL, BOOL);
412 +DWORD SHRegGetPathA(HKEY, LPCSTR, LPCSTR, LPSTR, DWORD);
413 +DWORD SHRegGetPathW(HKEY, LPCWSTR, LPCWSTR, LPWSTR, DWORD);
414 +LONG SHRegGetUSValueA(LPCSTR, LPCSTR, LPDWORD, LPVOID, LPDWORD, BOOL, LPVOID, DWORD);
415 +LONG SHRegGetUSValueW(LPCWSTR, LPCWSTR, LPDWORD, LPVOID, LPDWORD, BOOL, LPVOID, DWORD);
416 +LONG SHRegOpenUSKeyA(LPCSTR, REGSAM, HUSKEY, PHUSKEY, BOOL);
417 +LONG SHRegOpenUSKeyW(LPCWSTR, REGSAM, HUSKEY, PHUSKEY, BOOL);
418 +DWORD SHRegQueryInfoUSKeyA(HUSKEY, LPDWORD, LPDWORD, LPDWORD, LPDWORD, SHREGENUM_FLAGS);
419 +DWORD SHRegQueryInfoUSKeyW(HUSKEY, LPDWORD, LPDWORD, LPDWORD, LPDWORD, SHREGENUM_FLAGS);
420 +LONG SHRegQueryUSValueA(HUSKEY, LPCSTR, LPDWORD, LPVOID, LPDWORD, BOOL, LPVOID, DWORD);
421 +LONG SHRegQueryUSValueW(HUSKEY, LPCWSTR, LPDWORD, LPVOID, LPDWORD, BOOL, LPVOID, DWORD);
422 +DWORD SHRegSetPathA(HKEY, LPCSTR, LPCSTR, LPCSTR, DWORD);
423 +DWORD SHRegSetPathW(HKEY, LPCWSTR, LPCWSTR, LPCWSTR, DWORD);
424 +LONG SHRegSetUSValueA(LPCSTR, LPCSTR, DWORD, LPVOID, DWORD, DWORD);
425 +LONG SHRegSetUSValueW(LPCWSTR, LPCWSTR, DWORD, LPVOID, DWORD, DWORD);
426 +LONG SHRegWriteUSValueA(HUSKEY, LPCSTR, DWORD, LPVOID, DWORD, DWORD);
427 +LONG SHRegWriteUSValueW(HUSKEY, LPCWSTR, DWORD, LPVOID, DWORD, DWORD);
428 +HRESULT HashData(LPBYTE, DWORD, LPBYTE, DWORD);
429 429 HPALETTE SHCreateShellPalette(HDC);
430 -COLORREF ColorHLSToRGB(WORD,WORD,WORD);
431 -COLORREF ColorAdjustLuma(COLORREF,int,BOOL);
432 -void ColorRGBToHLS(COLORREF,WORD*,WORD*,WORD*);
430 +COLORREF ColorHLSToRGB(WORD, WORD, WORD);
431 +COLORREF ColorAdjustLuma(COLORREF, int, BOOL);
432 +void ColorRGBToHLS(COLORREF, WORD*, WORD*, WORD*);
433 433 /** Should not be necessary for D?
434 434 extern (C):
435 -int wnsprintfA(LPSTR,int,LPCSTR,...);
436 -int wnsprintfW(LPWSTR,int,LPCWSTR,...);
435 +int wnsprintfA(LPSTR, int, LPCSTR, ...);
436 +int wnsprintfW(LPWSTR, int, LPCWSTR, ...);
437 437 extern (Windows):
438 -int wvnsprintfA(LPSTR,int,LPCSTR,va_list);
439 -int wvnsprintfW(LPWSTR,int,LPCWSTR,va_list);
438 +int wvnsprintfA(LPSTR, int, LPCSTR, va_list);
439 +int wvnsprintfW(LPWSTR, int, LPCWSTR, va_list);
440 440 */
441 441
442 -HINSTANCE MLLoadLibraryA(LPCSTR,HANDLE,DWORD,LPCSTR,BOOL);
443 -HINSTANCE MLLoadLibraryW(LPCWSTR,HANDLE,DWORD,LPCWSTR,BOOL);
442 +HINSTANCE MLLoadLibraryA(LPCSTR, HANDLE, DWORD, LPCSTR, BOOL);
443 +HINSTANCE MLLoadLibraryW(LPCWSTR, HANDLE, DWORD, LPCWSTR, BOOL);
444 444
445 -HRESULT DllInstall(BOOL,LPCWSTR);
445 +HRESULT DllInstall(BOOL, LPCWSTR);
446 446
447 -HRESULT StrRetToBufA(LPSTRRET,LPCITEMIDLIST,LPSTR,UINT);
448 -HRESULT StrRetToBufW(LPSTRRET,LPCITEMIDLIST,LPWSTR,UINT);
449 -HRESULT StrRetToStrA(LPSTRRET,LPCITEMIDLIST,LPSTR*);
450 -HRESULT StrRetToStrW(LPSTRRET,LPCITEMIDLIST,LPWSTR*);
451 -HRESULT SHCreateStreamOnFileA(LPCSTR,DWORD,IStream**);
452 -HRESULT SHCreateStreamOnFileW(LPCWSTR,DWORD,IStream**);
453 -IStream* SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD);
454 -IStream* SHOpenRegStream2W(HKEY,LPCWSTR,LPCWSTR,DWORD);
455 -IStream* SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
456 -IStream* SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);
447 +HRESULT StrRetToBufA(LPSTRRET, LPCITEMIDLIST, LPSTR, UINT);
448 +HRESULT StrRetToBufW(LPSTRRET, LPCITEMIDLIST, LPWSTR, UINT);
449 +HRESULT StrRetToStrA(LPSTRRET, LPCITEMIDLIST, LPSTR*);
450 +HRESULT StrRetToStrW(LPSTRRET, LPCITEMIDLIST, LPWSTR*);
451 +HRESULT SHCreateStreamOnFileA(LPCSTR, DWORD, IStream*);
452 +HRESULT SHCreateStreamOnFileW(LPCWSTR, DWORD, IStream*);
453 +IStream SHOpenRegStream2A(HKEY, LPCSTR, LPCSTR, DWORD);
454 +IStream SHOpenRegStream2W(HKEY, LPCWSTR, LPCWSTR, DWORD);
455 +IStream SHOpenRegStreamA(HKEY, LPCSTR, LPCSTR, DWORD);
456 +IStream SHOpenRegStreamW(HKEY, LPCWSTR, LPCWSTR, DWORD);
457 457
458 458 version(Unicode) {
459 459 alias ChrCmpIW ChrCmpI;
460 460 alias IntlStrEqNW IntlStrEqN;
461 461 alias IntlStrEqNIW IntlStrEqNI;
462 462 alias IntlStrEqWorkerW IntlStrEqWorker;
463 463 alias SHStrDupW SHStrDup;