source: trunk/include/win/dbt.h@ 10367

Last change on this file since 10367 was 7259, checked in by sandervl, 24 years ago

header updates

File size: 6.2 KB
Line 
1#ifndef _DBT_H
2#define _DBT_H
3
4#define WM_DEVICECHANGE 0x0219
5
6#define BSF_QUERY 0x00000001
7#define BSF_IGNORECURRENTTASK 0x00000002
8#define BSF_FLUSHDISK 0x00000004
9#define BSF_NOHANG 0x00000008
10#define BSF_POSTMESSAGE 0x00000010
11#define BSF_FORCEIFHUNG 0x00000020
12#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
13#define BSF_MSGSRV32ISOK 0x80000000
14#define BSF_MSGSRV32ISOK_BIT 31
15
16#define BSM_ALLCOMPONENTS 0x00000000
17#define BSM_VXDS 0x00000001
18#define BSM_NETDRIVER 0x00000002
19#define BSM_INSTALLABLEDRIVERS 0x00000004
20#define BSM_APPLICATIONS 0x00000008
21
22#define DBT_APPYBEGIN 0x0000
23#define DBT_APPYEND 0x0001
24#define DBT_DEVNODES_CHANGED 0x0007
25#define DBT_QUERYCHANGECONFIG 0x0017
26#define DBT_CONFIGCHANGED 0x0018
27#define DBT_CONFIGCHANGECANCELED 0x0019
28#define DBT_MONITORCHANGE 0x001B
29#define DBT_SHELLLOGGEDON 0x0020
30#define DBT_CONFIGMGAPI32 0x0022
31#define DBT_VXDINITCOMPLETE 0x0023
32#define DBT_VOLLOCKQUERYLOCK 0x8041
33#define DBT_VOLLOCKLOCKTAKEN 0x8042
34#define DBT_VOLLOCKLOCKFAILED 0x8043
35#define DBT_VOLLOCKQUERYUNLOCK 0x8044
36#define DBT_VOLLOCKLOCKRELEASED 0x8045
37#define DBT_VOLLOCKUNLOCKFAILED 0x8046
38
39typedef struct _DEV_BROADCAST_HDR {
40 DWORD dbch_size;
41 DWORD dbch_devicetype;
42 DWORD dbch_reserved;
43} DEV_BROADCAST_HDR, *PDEV_BROADCAST_HDR;
44
45
46typedef struct VolLockBroadcast VolLockBroadcast;
47typedef VolLockBroadcast *pVolLockBroadcast;
48struct VolLockBroadcast {
49 struct _DEV_BROADCAST_HDR vlb_dbh;
50 DWORD vlb_owner;
51 BYTE vlb_perms;
52 BYTE vlb_lockType;
53 BYTE vlb_drive;
54 BYTE vlb_flags;
55};
56
57//vlb_lockType
58#define LOCKP_ALLOW_WRITES 0x01
59#define LOCKP_FAIL_WRITES 0x00
60#define LOCKP_FAIL_MEM_MAPPING 0x02
61#define LOCKP_ALLOW_MEM_MAPPING 0x00
62#define LOCKP_USER_MASK 0x03
63#define LOCKP_LOCK_FOR_FORMAT 0x04
64
65//vlb_flags
66#define LOCKF_LOGICAL_LOCK 0x00
67#define LOCKF_PHYSICAL_LOCK 0x01
68
69#define DBT_NO_DISK_SPACE 0x0047
70#define DBT_LOW_DISK_SPACE 0x0048
71#define DBT_CONFIGMGPRIVATE 0x7FFF
72
73#define DBT_DEVICEARRIVAL 0x8000
74#define DBT_DEVICEQUERYREMOVE 0x8001
75#define DBT_DEVICEQUERYREMOVEFAILED 0x8002
76#define DBT_DEVICEREMOVEPENDING 0x8003
77#define DBT_DEVICEREMOVECOMPLETE 0x8004
78#define DBT_DEVICETYPESPECIFIC 0x8005
79#if(WINVER >= 0x040A)
80#define DBT_CUSTOMEVENT 0x8006
81#endif
82
83#define DBT_DEVTYP_OEM 0x00000000
84#define DBT_DEVTYP_DEVNODE 0x00000001
85#define DBT_DEVTYP_VOLUME 0x00000002
86#define DBT_DEVTYP_PORT 0x00000003
87#define DBT_DEVTYP_NET 0x00000004
88
89#if(WINVER >= 0x040A)
90#define DBT_DEVTYP_DEVICEINTERFACE 0x00000005
91#define DBT_DEVTYP_HANDLE 0x00000006
92#endif
93
94typedef struct _DEV_BROADCAST_HEADER {
95 DWORD dbcd_size;
96 DWORD dbcd_devicetype;
97 DWORD dbcd_reserved;
98} DEV_BROADCAST_HEADER, *PDEV_BROADCAST_HEADER;
99
100typedef struct _DEV_BROADCAST_OEM {
101 DWORD dbco_size;
102 DWORD dbco_devicetype;
103 DWORD dbco_reserved;
104 DWORD dbco_identifier;
105 DWORD dbco_suppfunc;
106} DEV_BROADCAST_OEM, *PDEV_BROADCAST_OEM;
107
108
109typedef struct _DEV_BROADCAST_DEVNODE {
110 DWORD dbcd_size;
111 DWORD dbcd_devicetype;
112 DWORD dbcd_reserved;
113 DWORD dbcd_devnode;
114} DEV_BROADCAST_DEVNODE, *PDEV_BROADCAST_DEVNODE;
115
116typedef struct _DEV_BROADCAST_VOLUME {
117 DWORD dbcv_size;
118 DWORD dbcv_devicetype;
119 DWORD dbcv_reserved;
120 DWORD dbcv_unitmask;
121 WORD dbcv_flags;
122} DEV_BROADCAST_VOLUME, *PDEV_BROADCAST_VOLUME;;
123
124#define DBTF_MEDIA 0x0001
125#define DBTF_NET 0x0002
126
127typedef struct _DEV_BROADCAST_PORT_A {
128 DWORD dbcp_size;
129 DWORD dbcp_devicetype;
130 DWORD dbcp_reserved;
131 char dbcp_name[1];
132} DEV_BROADCAST_PORT_A, *PDEV_BROADCAST_PORT_A;
133
134typedef struct _DEV_BROADCAST_PORT_W {
135 DWORD dbcp_size;
136 DWORD dbcp_devicetype;
137 DWORD dbcp_reserved;
138 wchar_t dbcp_name[1];
139} DEV_BROADCAST_PORT_W, *PDEV_BROADCAST_PORT_W;
140
141#define DEV_BROADCAST_PORT WINELIB_NAME_AW(DEV_BROADCAST_PORT)
142#define PDEV_BROADCAST_PORT WINELIB_NAME_AW(PDEV_BROADCAST_PORT)
143
144typedef struct _DEV_BROADCAST_NET {
145 DWORD dbcn_size;
146 DWORD dbcn_devicetype;
147 DWORD dbcn_reserved;
148 DWORD dbcn_resource;
149 DWORD dbcn_flags;
150} DEV_BROADCAST_NET, *PDEV_BROADCAST_NET;
151
152#if(WINVER >= 0x040A)
153
154typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A {
155 DWORD dbcc_size;
156 DWORD dbcc_devicetype;
157 DWORD dbcc_reserved;
158 GUID dbcc_classguid;
159 char dbcc_name[1];
160} DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A;
161
162typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W {
163 DWORD dbcc_size;
164 DWORD dbcc_devicetype;
165 DWORD dbcc_reserved;
166 GUID dbcc_classguid;
167 wchar_t dbcc_name[1];
168} DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W;
169
170#define DEV_BROADCAST_DEVICEINTERFACE WINELIB_NAME_AW(DEV_BROADCAST_DEVICEINTERFACE)
171#define PDEV_BROADCAST_DEVICEINTERFACE WINELIB_NAME_AW(PDEV_BROADCAST_DEVICEINTERFACE)
172
173typedef struct _DEV_BROADCAST_HANDLE {
174 DWORD dbch_size;
175 DWORD dbch_devicetype;
176 DWORD dbch_reserved;
177 HANDLE dbch_handle;
178 DWORD dbch_hdevnotify;
179 GUID dbch_eventguid;
180 LONG dbch_nameoffset;
181 BYTE dbch_data[1];
182} DEV_BROADCAST_HANDLE, *PDEV_BROADCAST_HANDLE;
183
184#endif /* WINVER >= 0x040A */
185
186#define DBTF_RESOURCE 0x00000001
187#define DBTF_XPORT 0x00000002
188#define DBTF_SLOWNET 0x00000004
189
190#define DBT_VPOWERDAPI 0x8100
191
192#define DBT_USERDEFINED 0xFFFF
193
194typedef struct _DEV_BROADCAST_USERDEFINED {
195 struct _DEV_BROADCAST_HDR dbud_dbh;
196 char dbud_szName[1];
197} DEV_BROADCAST_USERDEFINED, *PDEV_BROADCAST_USERDEFINED;
198
199#endif // _DBT_H
200
Note: See TracBrowser for help on using the repository browser.