6 #define DBT_NO_DISK_SPACE 0x47
7 #define DBT_CONFIGMGPRIVATE 0x7FFF
8 #define DBT_DEVICEARRIVAL 0x8000
9 #define DBT_DEVICEQUERYREMOVE 0x8001
10 #define DBT_DEVICEQUERYREMOVEFAILED 0x8002
11 #define DBT_DEVICEREMOVEPENDING 0x8003
12 #define DBT_DEVICEREMOVECOMPLETE 0x8004
13 #define DBT_DEVICETYPESPECIFIC 0x8005
14 #define DBT_DEVTYP_OEM 0
15 #define DBT_DEVTYP_DEVNODE 1
16 #define DBT_DEVTYP_VOLUME 2
17 #define DBT_DEVTYP_PORT 3
18 #define DBT_DEVTYP_NET 4
19 #define DBT_APPYBEGIN 0
21 #define DBT_DEVNODES_CHANGED 7
22 #define DBT_QUERYCHANGECONFIG 0x17
23 #define DBT_CONFIGCHANGED 0x18
24 #define DBT_CONFIGCHANGECANCELED 0x19
25 #define DBT_MONITORCHANGE 0x1B
26 #define DBT_SHELLLOGGEDON 32
27 #define DBT_CONFIGMGAPI32 34
28 #define DBT_VXDINITCOMPLETE 35
29 #define DBT_VOLLOCKQUERYLOCK 0x8041
30 #define DBT_VOLLOCKLOCKTAKEN 0x8042
31 #define DBT_VOLLOCKLOCKFAILED 0x8043
32 #define DBT_VOLLOCKQUERYUNLOCK 0x8044
33 #define DBT_VOLLOCKLOCKRELEASED 0x8045
34 #define DBT_VOLLOCKUNLOCKFAILED 0x8046
35 #define DBT_USERDEFINED 0xFFFF
38 #define BSM_ALLCOMPONENTS 0
40 #define BSM_NETDRIVER 2
41 #define BSM_INSTALLABLEDRIVERS 4
42 #define BSM_APPLICATIONS 8
44 #define BSF_IGNORECURRENTTASK 2
45 #define BSF_FLUSHDISK 4
47 #define BSF_POSTMESSAGE 16
48 #define BSF_FORCEIFHUNG 32
49 #define BSF_NOTIMEOUTIFNOTHUNG 64
50 #define BSF_MSGSRV32ISOK_BIT 31
51 #define BSF_MSGSRV32ISOK 0x80000000
53 typedef struct _DEV_BROADCAST_HDR
{
55 DWORD dbch_devicetype
;
57 } DEV_BROADCAST_HDR
,*PDEV_BROADCAST_HDR
;
58 typedef struct _DEV_BROADCAST_OEM
{
60 DWORD dbco_devicetype
;
62 DWORD dbco_identifier
;
64 } DEV_BROADCAST_OEM
,*PDEV_BROADCAST_OEM
;
65 typedef struct _DEV_BROADCAST_PORT
{
67 DWORD dbcp_devicetype
;
70 } DEV_BROADCAST_PORT
,*PDEV_BROADCAST_PORT
;
71 typedef struct _DEV_BROADCAST_USERDEFINED
{
72 struct _DEV_BROADCAST_HDR dbud_dbh
;
74 } DEV_BROADCAST_USERDEFINED
;
75 typedef struct _DEV_BROADCAST_VOLUME
{
77 DWORD dbcv_devicetype
;
81 } DEV_BROADCAST_VOLUME
,*PDEV_BROADCAST_VOLUME
;