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