Differences From Artifact [aebc33dc791d8664]:
- File
src/win32/dbt.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 [b2df05f31e090a3d]:
- File
src/win32/dbt.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.
21 DBT_DEVICEARRIVAL = 0x8000, 21 DBT_DEVICEARRIVAL = 0x8000,
22 DBT_DEVICEQUERYREMOVE = 0x8001, 22 DBT_DEVICEQUERYREMOVE = 0x8001,
23 DBT_DEVICEQUERYREMOVEFAILED = 0x8002, 23 DBT_DEVICEQUERYREMOVEFAILED = 0x8002,
24 DBT_DEVICEREMOVEPENDING = 0x8003, 24 DBT_DEVICEREMOVEPENDING = 0x8003,
25 DBT_DEVICEREMOVECOMPLETE = 0x8004, 25 DBT_DEVICEREMOVECOMPLETE = 0x8004,
26 DBT_DEVICETYPESPECIFIC = 0x8005, 26 DBT_DEVICETYPESPECIFIC = 0x8005,
27 DBT_DEVTYP_OEM = 0, 27 DBT_DEVTYP_OEM = 0,
28 DBT_DEVTYP_DEVNODE = 1, | 28 DBT_DEVTYP_DEVNODE,
29 DBT_DEVTYP_VOLUME = 2, | 29 DBT_DEVTYP_VOLUME,
30 DBT_DEVTYP_PORT = 3, | 30 DBT_DEVTYP_PORT,
31 DBT_DEVTYP_NET = 4 | 31 DBT_DEVTYP_NET,
32 } <
33 <
34 static if (_WIN32_WINDOWS >= 0x040A) { <
35 enum : DWORD { <
36 DBT_DEVTYP_DEVICEINTERFACE = 5, | 32 DBT_DEVTYP_DEVICEINTERFACE,
37 DBT_DEVTYP_HANDLE = 6 | 33 DBT_DEVTYP_HANDLE // = 6
38 } <
39 } 34 }
40 35
41 enum : DWORD { 36 enum : DWORD {
42 DBT_APPYBEGIN, 37 DBT_APPYBEGIN,
43 DBT_APPYEND, 38 DBT_APPYEND,
44 DBT_DEVNODES_CHANGED = 7, 39 DBT_DEVNODES_CHANGED = 7,
45 DBT_QUERYCHANGECONFIG = 0x17, 40 DBT_QUERYCHANGECONFIG = 0x17,
................................................................................................................................................................................
77 BSF_NOTIMEOUTIFNOTHUNG = 0x00000040, 72 BSF_NOTIMEOUTIFNOTHUNG = 0x00000040,
78 BSF_POSTMESSAGE = 0x00000010, 73 BSF_POSTMESSAGE = 0x00000010,
79 BSF_QUERY = 0x00000001, 74 BSF_QUERY = 0x00000001,
80 BSF_MSGSRV32ISOK_BIT = 31, 75 BSF_MSGSRV32ISOK_BIT = 31,
81 BSF_MSGSRV32ISOK = 0x80000000 76 BSF_MSGSRV32ISOK = 0x80000000
82 } 77 }
83 78
84 static if (_WIN32_WINNT >= 0x0500) { | 79 static if (_WIN32_WINNT >= 0x500) {
85 enum : DWORD { 80 enum : DWORD {
86 BSF_ALLOWSFW = 0x00000080, 81 BSF_ALLOWSFW = 0x00000080,
87 BSF_SENDNOTIFYMESSAGE = 0x00000100 82 BSF_SENDNOTIFYMESSAGE = 0x00000100
88 } 83 }
89 } 84 }
90 85
91 static if (_WIN32_WINNT >= 0x0501) { | 86 static if (_WIN32_WINNT >= 0x501) {
92 enum : DWORD { 87 enum : DWORD {
93 BSF_LUID = 0x00000400, 88 BSF_LUID = 0x00000400,
94 BSF_RETURNHDESK = 0x00000200 89 BSF_RETURNHDESK = 0x00000200
95 } 90 }
96 } 91 }
97 92
98 struct DEV_BROADCAST_HDR { 93 struct DEV_BROADCAST_HDR {
................................................................................................................................................................................
147 version (Unicode) { 142 version (Unicode) {
148 alias DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT; 143 alias DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT;
149 } else { 144 } else {
150 alias DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT; 145 alias DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT;
151 } 146 }
152 alias DEV_BROADCAST_PORT* PDEV_BROADCAST_PORT; 147 alias DEV_BROADCAST_PORT* PDEV_BROADCAST_PORT;
153 148
154 static if ((_WIN32_WINDOWS >= 0x0410) || (_WIN32_WINNT >= 0x0500)) { | 149 static if (_WIN32_WINNT >= 0x500) {
155 struct DEV_BROADCAST_DEVICEINTERFACE_A { 150 struct DEV_BROADCAST_DEVICEINTERFACE_A {
156 DWORD dbcc_size = DEV_BROADCAST_DEVICEINTERFACE_A.sizeof; 151 DWORD dbcc_size = DEV_BROADCAST_DEVICEINTERFACE_A.sizeof;
157 DWORD dbcc_devicetype; 152 DWORD dbcc_devicetype;
158 DWORD dbcc_reserved; 153 DWORD dbcc_reserved;
159 GUID dbcc_classguid; 154 GUID dbcc_classguid;
160 char _dbcc_name; 155 char _dbcc_name;
161 char* dbcc_name() { return &_dbcc_name; } 156 char* dbcc_name() { return &_dbcc_name; }