Differences From Artifact [dbc32f4888561832]:
- File
src/win32/shellapi.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 [abc9e5a67da8d339]:
- File
src/win32/shellapi.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.
5 5 * *
6 6 * Translated from MinGW Windows headers *
7 7 * by Stewart Gordon *
8 8 * *
9 9 * Placed into public domain *
10 10 \***********************************************************************/
11 11 module win32.shellapi;
12 -pragma(lib, "shell32.lib");
12 +pragma(lib, "shell32");
13 13
14 14 private import win32.w32api, win32.windef, win32.basetyps;
15 15
16 16 enum : UINT {
17 17 ABE_LEFT,
18 18 ABE_TOP,
19 19 ABE_RIGHT,
................................................................................
51 51 ABM_GETTASKBARPOS,
52 52 ABM_ACTIVATE,
53 53 ABM_GETAUTOHIDEBAR,
54 54 ABM_SETAUTOHIDEBAR,
55 55 ABM_WINDOWPOSCHANGED // = 9
56 56 }
57 57
58 -static if (WINVER >= 0x501) {
58 +static if (_WIN32_WINNT >= 0x501) {
59 59 const DWORD ABM_SETSTATE = 10;
60 60 }
61 61
62 62 enum : UINT {
63 63 ABN_STATECHANGE,
64 64 ABN_POSCHANGED,
65 65 ABN_FULLSCREENAPP,
................................................................................
112 112 }
113 113
114 114 const DWORD
115 115 NIS_HIDDEN = 1,
116 116 NIS_SHAREDICON = 2;
117 117
118 118 const HINSTANCE
119 - SE_ERR_FNF = cast(HANDLE) 2,
120 - SE_ERR_PNF = cast(HANDLE) 3,
121 - SE_ERR_ACCESSDENIED = cast(HANDLE) 5,
122 - SE_ERR_OOM = cast(HANDLE) 8,
123 - SE_ERR_DLLNOTFOUND = cast(HANDLE) 32,
124 - SE_ERR_SHARE = cast(HANDLE) 26,
125 - SE_ERR_ASSOCINCOMPLETE = cast(HANDLE) 27,
126 - SE_ERR_DDETIMEOUT = cast(HANDLE) 28,
127 - SE_ERR_DDEFAIL = cast(HANDLE) 29,
128 - SE_ERR_DDEBUSY = cast(HANDLE) 30,
129 - SE_ERR_NOASSOC = cast(HANDLE) 31;
119 + SE_ERR_FNF = cast(HINSTANCE) 2,
120 + SE_ERR_PNF = cast(HINSTANCE) 3,
121 + SE_ERR_ACCESSDENIED = cast(HINSTANCE) 5,
122 + SE_ERR_OOM = cast(HINSTANCE) 8,
123 + SE_ERR_DLLNOTFOUND = cast(HINSTANCE) 32,
124 + SE_ERR_SHARE = cast(HINSTANCE) 26,
125 + SE_ERR_ASSOCINCOMPLETE = cast(HINSTANCE) 27,
126 + SE_ERR_DDETIMEOUT = cast(HINSTANCE) 28,
127 + SE_ERR_DDEFAIL = cast(HINSTANCE) 29,
128 + SE_ERR_DDEBUSY = cast(HINSTANCE) 30,
129 + SE_ERR_NOASSOC = cast(HINSTANCE) 31;
130 130
131 131 enum : UINT {
132 132 FO_MOVE = 1,
133 133 FO_COPY,
134 134 FO_DELETE,
135 135 FO_RENAME
136 136 }
................................................................................
170 170 SHGFI_ATTRIBUTES = 0x000800,
171 171 SHGFI_ICONLOCATION = 0x001000,
172 172 SHGFI_EXETYPE = 0x002000,
173 173 SHGFI_SYSICONINDEX = 0x004000,
174 174 SHGFI_LINKOVERLAY = 0x008000,
175 175 SHGFI_SELECTED = 0x010000,
176 176 SHGFI_ATTR_SPECIFIED = 0x020000;
177 +
178 +static if (_WIN32_IE >= 0x500) {
179 + const uint
180 + SHGFI_ADDOVERLAYS = 0x000020,
181 + SHGFI_OVERLAYINDEX = 0x000040;
182 +}
177 183
178 184 const SHERB_NOCONFIRMATION = 1;
179 185 const SHERB_NOPROGRESSUI = 2;
180 186 const SHERB_NOSOUND = 4;
181 187
182 188 alias WORD FILEOP_FLAGS, PRINTEROP_FLAGS;
183 -alias HANDLE HDROP;
189 +mixin DECLARE_HANDLE!("HDROP");
184 190
185 191 align(2):
186 192
187 193 struct APPBARDATA {
188 194 DWORD cbSize = APPBARDATA.sizeof;
189 195 HWND hWnd;
190 196 UINT uCallbackMessage;
................................................................................
322 328 HICON hIcon;
323 329 int iIcon;
324 330 DWORD dwAttributes;
325 331 WCHAR[MAX_PATH] szDisplayName;
326 332 WCHAR[80] szTypeName;
327 333 }
328 334
329 -struct SHQUERYRBINFO {
335 +align(1) struct SHQUERYRBINFO {
330 336 DWORD cbSize = SHQUERYRBINFO.sizeof;
331 337 long i64Size;
332 338 long i64NumItems;
333 339 }
334 340 alias SHQUERYRBINFO* LPSHQUERYRBINFO;
335 341
336 342 extern (Windows) {