Differences From Artifact [886c2dae4f8ee53d]:
- File
src/win32/windows.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 [17920ef67c1aa508]:
- File
src/win32/windows.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.
1 /***********************************************************************\ 1 /***********************************************************************\
2 * windows.d * 2 * windows.d *
3 * * 3 * *
4 * Windows API header module * 4 * Windows API header module *
5 * * 5 * *
6 * Translated from MinGW API for MS-Windows 3.10 * | 6 * Translated from MinGW API for MS-Windows 4.0 *
7 * * 7 * *
8 * Placed into public domain * 8 * Placed into public domain *
9 \***********************************************************************/ 9 \***********************************************************************/
10 module win32.windows; 10 module win32.windows;
11 11
12 /* 12 /*
13 windows.h - main header file for the Win32 API 13 windows.h - main header file for the Win32 API
................................................................................................................................................................................
21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
22 22
23 */ 23 */
24 24
25 public import win32.w32api; 25 public import win32.w32api;
26 public import win32.core; 26 public import win32.core;
27 27
28 // We can't use static if for imports, build gets confused. <
29 version (WindowsVista) { <
30 public import win32.winsvc; <
31 } else version (Windows2003) { <
32 public import win32.winsvc; <
33 } else version (WindowsXP) { <
34 public import win32.winsvc; <
35 } else version (WindowsNTonly) { <
36 public import win32.winsvc; <
37 } <
38 <
39 public import win32.cderr; 28 public import win32.cderr;
40 public import win32.dde; 29 public import win32.dde;
41 public import win32.ddeml; 30 public import win32.ddeml;
42 public import win32.dlgs; 31 public import win32.dlgs;
43 public import win32.imm; 32 public import win32.imm;
44 public import win32.lzexpand; 33 public import win32.lzexpand;
45 public import win32.mmsystem; 34 public import win32.mmsystem;
46 public import win32.nb30; 35 public import win32.nb30;
47 <
48 <
> 36 public import win32.winsvc;
49 37
50 public import win32.rpc; 38 public import win32.rpc;
51 public import win32.shellapi; 39 public import win32.shellapi;
52 public import win32.winperf; 40 public import win32.winperf;
53 public import win32.commdlg; 41 public import win32.commdlg;
54 public import win32.winspool; 42 public import win32.winspool;
55 public import win32.ole2; 43 public import win32.ole2;
................................................................................................................................................................................
60 public import win32.winsock; 48 public import win32.winsock;
61 } else { 49 } else {
62 public import win32.winsock2; 50 public import win32.winsock2;
63 public import win32.ws2tcpip; 51 public import win32.ws2tcpip;
64 } 52 }
65 53
66 /+ 54 /+
67 #if (_WIN32_WINNT >= 0x0400) | 55 #if (_WIN32_WINNT >= 0x400)
68 #include <winsock2.h> 56 #include <winsock2.h>
69 /* 57 /*
70 * MS likes to include mswsock.h here as well, 58 * MS likes to include mswsock.h here as well,
71 * but that can cause undefined symbols if 59 * but that can cause undefined symbols if
72 * winsock2.h is included before windows.h 60 * winsock2.h is included before windows.h
73 */ 61 */
74 #else 62 #else
75 #include <winsock.h> 63 #include <winsock.h>
76 #endif /* (_WIN32_WINNT >= 0x0400) */ | 64 #endif /* (_WIN32_WINNT >= 0x400) */
77 +/ 65 +/