source: Daodan/MinGW/include/dbt.h@ 1051

Last change on this file since 1051 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

File size: 4.4 KB
Line 
1#ifndef _DBT_H
2#define _DBT_H
3#if __GNUC__ >=3
4#pragma GCC system_header
5#endif
6
7#ifdef __cplusplus
8extern "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
73typedef struct _DEV_BROADCAST_HDR {
74 DWORD dbch_size;
75 DWORD dbch_devicetype;
76 DWORD dbch_reserved;
77} DEV_BROADCAST_HDR,*PDEV_BROADCAST_HDR;
78typedef 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;
85typedef 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;
91typedef 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;
97typedef struct _DEV_BROADCAST_USERDEFINED {
98 struct _DEV_BROADCAST_HDR dbud_dbh;
99 char dbud_szName[1];
100} DEV_BROADCAST_USERDEFINED;
101typedef 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
110typedef DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
111#else
112typedef DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
113#endif
114
115#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
116typedef 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;
123typedef 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
132typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE;
133typedef PDEV_BROADCAST_DEVICEINTERFACE_W PDEV_BROADCAST_DEVICEINTERFACE;
134#else
135typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE;
136typedef PDEV_BROADCAST_DEVICEINTERFACE_A PDEV_BROADCAST_DEVICEINTERFACE;
137#endif
138
139typedef 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
Note: See TracBrowser for help on using the repository browser.