comparison win32/dbt.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
comparison
equal deleted inserted replaced
0:586e4a649642 1:4a9dcbd9e54f
1 /***********************************************************************\
2 * dbt.d *
3 * *
4 * Windows API header module *
5 * *
6 * Translated from MinGW Windows headers *
7 * by Vladimir Vlasov *
8 * *
9 * Placed into public domain *
10 \***********************************************************************/
11 module win32.dbt;
12
13 import win32.w32api, win32.windef;
14 import win32.basetyps; // for GUID
15
16 // FIXME: clean up Windows version support
17
18 enum : DWORD {
19 DBT_NO_DISK_SPACE = 0x47,
20 DBT_CONFIGMGPRIVATE = 0x7FFF,
21 DBT_DEVICEARRIVAL = 0x8000,
22 DBT_DEVICEQUERYREMOVE = 0x8001,
23 DBT_DEVICEQUERYREMOVEFAILED = 0x8002,
24 DBT_DEVICEREMOVEPENDING = 0x8003,
25 DBT_DEVICEREMOVECOMPLETE = 0x8004,
26 DBT_DEVICETYPESPECIFIC = 0x8005,
27 DBT_DEVTYP_OEM = 0,
28 DBT_DEVTYP_DEVNODE = 1,
29 DBT_DEVTYP_VOLUME = 2,
30 DBT_DEVTYP_PORT = 3,
31 DBT_DEVTYP_NET = 4
32 }
33
34 static if (_WIN32_WINDOWS >= 0x040A) {
35 enum : DWORD {
36 DBT_DEVTYP_DEVICEINTERFACE = 5,
37 DBT_DEVTYP_HANDLE = 6
38 }
39 }
40
41 enum : DWORD {
42 DBT_APPYBEGIN,
43 DBT_APPYEND,
44 DBT_DEVNODES_CHANGED = 7,
45 DBT_QUERYCHANGECONFIG = 0x17,
46 DBT_CONFIGCHANGED = 0x18,
47 DBT_CONFIGCHANGECANCELED = 0x19,
48 DBT_MONITORCHANGE = 0x1B,
49 DBT_SHELLLOGGEDON = 32,
50 DBT_CONFIGMGAPI32 = 34,
51 DBT_VXDINITCOMPLETE = 35,
52 DBT_VOLLOCKQUERYLOCK = 0x8041,
53 DBT_VOLLOCKLOCKTAKEN = 0x8042,
54 DBT_VOLLOCKLOCKFAILED = 0x8043,
55 DBT_VOLLOCKQUERYUNLOCK = 0x8044,
56 DBT_VOLLOCKLOCKRELEASED = 0x8045,
57 DBT_VOLLOCKUNLOCKFAILED = 0x8046,
58 DBT_USERDEFINED = 0xFFFF
59 }
60
61 enum : WORD {
62 DBTF_MEDIA = 1,
63 DBTF_NET = 2
64 }
65
66 enum : DWORD {
67 BSM_ALLCOMPONENTS = 0,
68 BSM_APPLICATIONS = 8,
69 BSM_ALLDESKTOPS = 16,
70 BSM_INSTALLABLEDRIVERS = 4,
71 BSM_NETDRIVER = 2,
72 BSM_VXDS = 1,
73 BSF_FLUSHDISK = 0x00000004,
74 BSF_FORCEIFHUNG = 0x00000020,
75 BSF_IGNORECURRENTTASK = 0x00000002,
76 BSF_NOHANG = 0x00000008,
77 BSF_NOTIMEOUTIFNOTHUNG = 0x00000040,
78 BSF_POSTMESSAGE = 0x00000010,
79 BSF_QUERY = 0x00000001,
80 BSF_MSGSRV32ISOK_BIT = 31,
81 BSF_MSGSRV32ISOK = 0x80000000
82 }
83
84 static if (_WIN32_WINNT >= 0x0500) {
85 enum : DWORD {
86 BSF_ALLOWSFW = 0x00000080,
87 BSF_SENDNOTIFYMESSAGE = 0x00000100
88 }
89 }
90
91 static if (_WIN32_WINNT >= 0x0501) {
92 enum : DWORD {
93 BSF_LUID = 0x00000400,
94 BSF_RETURNHDESK = 0x00000200
95 }
96 }
97
98 struct DEV_BROADCAST_HDR {
99 DWORD dbch_size = DEV_BROADCAST_HDR.sizeof;
100 DWORD dbch_devicetype;
101 DWORD dbch_reserved;
102 }
103 alias DEV_BROADCAST_HDR* PDEV_BROADCAST_HDR;
104
105 struct DEV_BROADCAST_OEM {
106 DWORD dbco_size = DEV_BROADCAST_OEM.sizeof;
107 DWORD dbco_devicetype;
108 DWORD dbco_reserved;
109 DWORD dbco_identifier;
110 DWORD dbco_suppfunc;
111 }
112 alias DEV_BROADCAST_OEM* PDEV_BROADCAST_OEM;
113
114 struct DEV_BROADCAST_PORT_A {
115 DWORD dbcp_size = DEV_BROADCAST_PORT_A.sizeof;
116 DWORD dbcp_devicetype;
117 DWORD dbcp_reserved;
118 char _dbcp_name;
119 char* dbcp_name() { return &_dbcp_name; }
120 }
121 alias DEV_BROADCAST_PORT_A* PDEV_BROADCAST_PORT_A;
122
123 struct DEV_BROADCAST_PORT_W {
124 DWORD dbcp_size = DEV_BROADCAST_PORT_W.sizeof;
125 DWORD dbcp_devicetype;
126 DWORD dbcp_reserved;
127 WCHAR _dbcp_name;
128 WCHAR* dbcp_name() { return &_dbcp_name; }
129 }
130 alias DEV_BROADCAST_PORT_W* PDEV_BROADCAST_PORT_W;
131
132 struct DEV_BROADCAST_USERDEFINED {
133 DEV_BROADCAST_HDR dbud_dbh;
134 char _dbud_szName;
135 char* dbud_szName() { return &_dbud_szName; }
136 }
137
138 struct DEV_BROADCAST_VOLUME {
139 DWORD dbcv_size = DEV_BROADCAST_VOLUME.sizeof;
140 DWORD dbcv_devicetype;
141 DWORD dbcv_reserved;
142 DWORD dbcv_unitmask;
143 WORD dbcv_flags;
144 }
145 alias DEV_BROADCAST_VOLUME* PDEV_BROADCAST_VOLUME;
146
147 version (Unicode) {
148 alias DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT;
149 } else {
150 alias DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT;
151 }
152 alias DEV_BROADCAST_PORT* PDEV_BROADCAST_PORT;
153
154 static if ((_WIN32_WINDOWS >= 0x0410) || (_WIN32_WINNT >= 0x0500)) {
155 struct DEV_BROADCAST_DEVICEINTERFACE_A {
156 DWORD dbcc_size = DEV_BROADCAST_DEVICEINTERFACE_A.sizeof;
157 DWORD dbcc_devicetype;
158 DWORD dbcc_reserved;
159 GUID dbcc_classguid;
160 char _dbcc_name;
161 char* dbcc_name() { return &_dbcc_name; }
162 }
163 alias DEV_BROADCAST_DEVICEINTERFACE_A* PDEV_BROADCAST_DEVICEINTERFACE_A;
164
165 struct DEV_BROADCAST_DEVICEINTERFACE_W {
166 DWORD dbcc_size = DEV_BROADCAST_DEVICEINTERFACE_W.sizeof;
167 DWORD dbcc_devicetype;
168 DWORD dbcc_reserved;
169 GUID dbcc_classguid;
170 WCHAR _dbcc_name;
171 WCHAR* dbcc_name() { return &_dbcc_name; }
172 }
173 alias DEV_BROADCAST_DEVICEINTERFACE_W* PDEV_BROADCAST_DEVICEINTERFACE_W;
174
175 version (Unicode) {
176 alias DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE;
177 } else {
178 alias DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE;
179 }
180 alias DEV_BROADCAST_DEVICEINTERFACE* PDEV_BROADCAST_DEVICEINTERFACE;
181
182 struct DEV_BROADCAST_HANDLE {
183 DWORD dbch_size = DEV_BROADCAST_HANDLE.sizeof;
184 DWORD dbch_devicetype;
185 DWORD dbch_reserved;
186 HANDLE dbch_handle;
187 DWORD dbch_hdevnotify;
188 GUID dbch_eventguid;
189 LONG dbch_nameoffset;
190 BYTE _dbch_data;
191 BYTE* dbch_data() { return &_dbch_data; }
192 }
193 alias DEV_BROADCAST_HANDLE* PDEV_BROADCAST_HANDLE;
194 }