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 |