|
1 #ifndef _DBT_H |
|
2 #define _DBT_H |
|
3 #if __GNUC__ >=3 |
|
4 #pragma GCC system_header |
|
5 #endif |
|
6 |
|
7 #ifdef __cplusplus |
|
8 extern "C" { |
|
9 #endif |
|
10 #define DBT_NO_DISK_SPACE 0x47 |
|
11 #define DBT_CONFIGMGPRIVATE 0x7FFF |
|
12 #define DBT_DEVICEARRIVAL 0x8000 |
|
13 #define DBT_DEVICEQUERYREMOVE 0x8001 |
|
14 #define DBT_DEVICEQUERYREMOVEFAILED 0x8002 |
|
15 #define DBT_DEVICEREMOVEPENDING 0x8003 |
|
16 #define DBT_DEVICEREMOVECOMPLETE 0x8004 |
|
17 #define DBT_DEVICETYPESPECIFIC 0x8005 |
|
18 #define DBT_DEVTYP_OEM 0 |
|
19 #define DBT_DEVTYP_DEVNODE 1 |
|
20 #define DBT_DEVTYP_VOLUME 2 |
|
21 #define DBT_DEVTYP_PORT 3 |
|
22 #define DBT_DEVTYP_NET 4 |
|
23 #if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) |
|
24 #define DBT_DEVTYP_DEVICEINTERFACE 5 |
|
25 #define DBT_DEVTYP_HANDLE 6 |
|
26 #endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */ |
|
27 #define DBT_APPYBEGIN 0 |
|
28 #define DBT_APPYEND 1 |
|
29 #define DBT_DEVNODES_CHANGED 7 |
|
30 #define DBT_QUERYCHANGECONFIG 0x17 |
|
31 #define DBT_CONFIGCHANGED 0x18 |
|
32 #define DBT_CONFIGCHANGECANCELED 0x19 |
|
33 #define DBT_MONITORCHANGE 0x1B |
|
34 #define DBT_SHELLLOGGEDON 32 |
|
35 #define DBT_CONFIGMGAPI32 34 |
|
36 #define DBT_VXDINITCOMPLETE 35 |
|
37 #define DBT_VOLLOCKQUERYLOCK 0x8041 |
|
38 #define DBT_VOLLOCKLOCKTAKEN 0x8042 |
|
39 #define DBT_VOLLOCKLOCKFAILED 0x8043 |
|
40 #define DBT_VOLLOCKQUERYUNLOCK 0x8044 |
|
41 #define DBT_VOLLOCKLOCKRELEASED 0x8045 |
|
42 #define DBT_VOLLOCKUNLOCKFAILED 0x8046 |
|
43 #define DBT_USERDEFINED 0xFFFF |
|
44 #define DBTF_MEDIA 1 |
|
45 #define DBTF_NET 2 |
|
46 |
|
47 /* Also defined in winuser.h */ |
|
48 #define BSM_ALLCOMPONENTS 0 |
|
49 #define BSM_APPLICATIONS 8 |
|
50 #define BSM_ALLDESKTOPS 16 |
|
51 #define BSM_INSTALLABLEDRIVERS 4 |
|
52 #define BSM_NETDRIVER 2 |
|
53 #define BSM_VXDS 1 |
|
54 #define BSF_FLUSHDISK 0x00000004 |
|
55 #define BSF_FORCEIFHUNG 0x00000020 |
|
56 #define BSF_IGNORECURRENTTASK 0x00000002 |
|
57 #define BSF_NOHANG 0x00000008 |
|
58 #define BSF_NOTIMEOUTIFNOTHUNG 0x00000040 |
|
59 #define BSF_POSTMESSAGE 0x00000010 |
|
60 #define BSF_QUERY 0x00000001 |
|
61 #if (_WIN32_WINNT >= 0x0500) |
|
62 #define BSF_ALLOWSFW 0x00000080 |
|
63 #define BSF_SENDNOTIFYMESSAGE 0x00000100 |
|
64 #endif /* (_WIN32_WINNT >= 0x0500) */ |
|
65 #if (_WIN32_WINNT >= 0x0501) |
|
66 #define BSF_LUID 0x00000400 |
|
67 #define BSF_RETURNHDESK 0x00000200 |
|
68 #endif /* (_WIN32_WINNT >= 0x0501) */ |
|
69 |
|
70 #define BSF_MSGSRV32ISOK_BIT 31 |
|
71 #define BSF_MSGSRV32ISOK 0x80000000 |
|
72 |
|
73 typedef struct _DEV_BROADCAST_HDR { |
|
74 DWORD dbch_size; |
|
75 DWORD dbch_devicetype; |
|
76 DWORD dbch_reserved; |
|
77 } DEV_BROADCAST_HDR,*PDEV_BROADCAST_HDR; |
|
78 typedef struct _DEV_BROADCAST_OEM { |
|
79 DWORD dbco_size; |
|
80 DWORD dbco_devicetype; |
|
81 DWORD dbco_reserved; |
|
82 DWORD dbco_identifier; |
|
83 DWORD dbco_suppfunc; |
|
84 } DEV_BROADCAST_OEM,*PDEV_BROADCAST_OEM; |
|
85 typedef struct _DEV_BROADCAST_PORT_A { |
|
86 DWORD dbcp_size; |
|
87 DWORD dbcp_devicetype; |
|
88 DWORD dbcp_reserved; |
|
89 char dbcp_name[1]; |
|
90 } DEV_BROADCAST_PORT_A, *PDEV_BROADCAST_PORT_A; |
|
91 typedef struct _DEV_BROADCAST_PORT_W { |
|
92 DWORD dbcp_size; |
|
93 DWORD dbcp_devicetype; |
|
94 DWORD dbcp_reserved; |
|
95 wchar_t dbcp_name[1]; |
|
96 } DEV_BROADCAST_PORT_W, *PDEV_BROADCAST_PORT_W; |
|
97 typedef struct _DEV_BROADCAST_USERDEFINED { |
|
98 struct _DEV_BROADCAST_HDR dbud_dbh; |
|
99 char dbud_szName[1]; |
|
100 } DEV_BROADCAST_USERDEFINED; |
|
101 typedef struct _DEV_BROADCAST_VOLUME { |
|
102 DWORD dbcv_size; |
|
103 DWORD dbcv_devicetype; |
|
104 DWORD dbcv_reserved; |
|
105 DWORD dbcv_unitmask; |
|
106 WORD dbcv_flags; |
|
107 } DEV_BROADCAST_VOLUME,*PDEV_BROADCAST_VOLUME; |
|
108 |
|
109 #ifdef UNICODE |
|
110 typedef DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT; |
|
111 #else |
|
112 typedef DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT; |
|
113 #endif |
|
114 |
|
115 #if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) |
|
116 typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A { |
|
117 DWORD dbcc_size; |
|
118 DWORD dbcc_devicetype; |
|
119 DWORD dbcc_reserved; |
|
120 GUID dbcc_classguid; |
|
121 char dbcc_name[1]; |
|
122 } DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A; |
|
123 typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W { |
|
124 DWORD dbcc_size; |
|
125 DWORD dbcc_devicetype; |
|
126 DWORD dbcc_reserved; |
|
127 GUID dbcc_classguid; |
|
128 wchar_t dbcc_name[1]; |
|
129 } DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W; |
|
130 |
|
131 #ifdef UNICODE |
|
132 typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE; |
|
133 typedef PDEV_BROADCAST_DEVICEINTERFACE_W PDEV_BROADCAST_DEVICEINTERFACE; |
|
134 #else |
|
135 typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE; |
|
136 typedef PDEV_BROADCAST_DEVICEINTERFACE_A PDEV_BROADCAST_DEVICEINTERFACE; |
|
137 #endif |
|
138 |
|
139 typedef struct _DEV_BROADCAST_HANDLE { |
|
140 DWORD dbch_size; |
|
141 DWORD dbch_devicetype; |
|
142 DWORD dbch_reserved; |
|
143 HANDLE dbch_handle; |
|
144 DWORD dbch_hdevnotify; |
|
145 GUID dbch_eventguid; |
|
146 LONG dbch_nameoffset; |
|
147 BYTE dbch_data[1]; |
|
148 } DEV_BROADCAST_HANDLE, *PDEV_BROADCAST_HANDLE; |
|
149 #endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */ |
|
150 |
|
151 #ifdef __cplusplus |
|
152 } |
|
153 #endif |
|
154 #endif |