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