| [7259] | 1 | #ifndef _DBT_H
 | 
|---|
 | 2 | #define _DBT_H
 | 
|---|
 | 3 | 
 | 
|---|
 | 4 | #define WM_DEVICECHANGE         0x0219
 | 
|---|
 | 5 | 
 | 
|---|
 | 6 | #define BSF_QUERY               0x00000001
 | 
|---|
 | 7 | #define BSF_IGNORECURRENTTASK   0x00000002
 | 
|---|
 | 8 | #define BSF_FLUSHDISK           0x00000004
 | 
|---|
 | 9 | #define BSF_NOHANG              0x00000008
 | 
|---|
 | 10 | #define BSF_POSTMESSAGE         0x00000010
 | 
|---|
 | 11 | #define BSF_FORCEIFHUNG         0x00000020
 | 
|---|
 | 12 | #define BSF_NOTIMEOUTIFNOTHUNG  0x00000040
 | 
|---|
 | 13 | #define BSF_MSGSRV32ISOK        0x80000000
 | 
|---|
 | 14 | #define BSF_MSGSRV32ISOK_BIT    31
 | 
|---|
 | 15 | 
 | 
|---|
 | 16 | #define BSM_ALLCOMPONENTS       0x00000000
 | 
|---|
 | 17 | #define BSM_VXDS                0x00000001
 | 
|---|
 | 18 | #define BSM_NETDRIVER           0x00000002
 | 
|---|
 | 19 | #define BSM_INSTALLABLEDRIVERS  0x00000004
 | 
|---|
 | 20 | #define BSM_APPLICATIONS        0x00000008
 | 
|---|
 | 21 | 
 | 
|---|
 | 22 | #define DBT_APPYBEGIN                   0x0000
 | 
|---|
 | 23 | #define DBT_APPYEND                     0x0001
 | 
|---|
 | 24 | #define DBT_DEVNODES_CHANGED            0x0007
 | 
|---|
 | 25 | #define DBT_QUERYCHANGECONFIG           0x0017
 | 
|---|
 | 26 | #define DBT_CONFIGCHANGED               0x0018
 | 
|---|
 | 27 | #define DBT_CONFIGCHANGECANCELED        0x0019
 | 
|---|
 | 28 | #define DBT_MONITORCHANGE               0x001B
 | 
|---|
 | 29 | #define DBT_SHELLLOGGEDON               0x0020
 | 
|---|
 | 30 | #define DBT_CONFIGMGAPI32               0x0022
 | 
|---|
 | 31 | #define DBT_VXDINITCOMPLETE             0x0023
 | 
|---|
 | 32 | #define DBT_VOLLOCKQUERYLOCK            0x8041
 | 
|---|
 | 33 | #define DBT_VOLLOCKLOCKTAKEN            0x8042
 | 
|---|
 | 34 | #define DBT_VOLLOCKLOCKFAILED           0x8043
 | 
|---|
 | 35 | #define DBT_VOLLOCKQUERYUNLOCK          0x8044
 | 
|---|
 | 36 | #define DBT_VOLLOCKLOCKRELEASED         0x8045
 | 
|---|
 | 37 | #define DBT_VOLLOCKUNLOCKFAILED         0x8046
 | 
|---|
 | 38 | 
 | 
|---|
 | 39 | typedef struct _DEV_BROADCAST_HDR {
 | 
|---|
 | 40 |     DWORD       dbch_size;
 | 
|---|
 | 41 |     DWORD       dbch_devicetype;
 | 
|---|
 | 42 |     DWORD       dbch_reserved;
 | 
|---|
 | 43 | } DEV_BROADCAST_HDR, *PDEV_BROADCAST_HDR;
 | 
|---|
 | 44 | 
 | 
|---|
 | 45 | 
 | 
|---|
 | 46 | typedef struct VolLockBroadcast VolLockBroadcast;
 | 
|---|
 | 47 | typedef VolLockBroadcast *pVolLockBroadcast;
 | 
|---|
 | 48 | struct VolLockBroadcast {
 | 
|---|
 | 49 |         struct  _DEV_BROADCAST_HDR vlb_dbh;
 | 
|---|
 | 50 |         DWORD   vlb_owner;
 | 
|---|
 | 51 |         BYTE    vlb_perms;
 | 
|---|
 | 52 |         BYTE    vlb_lockType;
 | 
|---|
 | 53 |         BYTE    vlb_drive;
 | 
|---|
 | 54 |         BYTE    vlb_flags;
 | 
|---|
 | 55 | };
 | 
|---|
 | 56 | 
 | 
|---|
 | 57 | //vlb_lockType
 | 
|---|
 | 58 | #define LOCKP_ALLOW_WRITES              0x01
 | 
|---|
 | 59 | #define LOCKP_FAIL_WRITES               0x00
 | 
|---|
 | 60 | #define LOCKP_FAIL_MEM_MAPPING          0x02
 | 
|---|
 | 61 | #define LOCKP_ALLOW_MEM_MAPPING         0x00
 | 
|---|
 | 62 | #define LOCKP_USER_MASK                 0x03
 | 
|---|
 | 63 | #define LOCKP_LOCK_FOR_FORMAT           0x04
 | 
|---|
 | 64 | 
 | 
|---|
 | 65 | //vlb_flags
 | 
|---|
 | 66 | #define LOCKF_LOGICAL_LOCK              0x00
 | 
|---|
 | 67 | #define LOCKF_PHYSICAL_LOCK             0x01
 | 
|---|
 | 68 | 
 | 
|---|
 | 69 | #define DBT_NO_DISK_SPACE               0x0047
 | 
|---|
 | 70 | #define DBT_LOW_DISK_SPACE              0x0048
 | 
|---|
 | 71 | #define DBT_CONFIGMGPRIVATE             0x7FFF
 | 
|---|
 | 72 | 
 | 
|---|
 | 73 | #define DBT_DEVICEARRIVAL               0x8000
 | 
|---|
 | 74 | #define DBT_DEVICEQUERYREMOVE           0x8001
 | 
|---|
 | 75 | #define DBT_DEVICEQUERYREMOVEFAILED     0x8002
 | 
|---|
 | 76 | #define DBT_DEVICEREMOVEPENDING         0x8003
 | 
|---|
 | 77 | #define DBT_DEVICEREMOVECOMPLETE        0x8004
 | 
|---|
 | 78 | #define DBT_DEVICETYPESPECIFIC          0x8005
 | 
|---|
 | 79 | #if(WINVER >= 0x040A)
 | 
|---|
 | 80 | #define DBT_CUSTOMEVENT                 0x8006
 | 
|---|
 | 81 | #endif
 | 
|---|
 | 82 | 
 | 
|---|
 | 83 | #define DBT_DEVTYP_OEM                  0x00000000
 | 
|---|
 | 84 | #define DBT_DEVTYP_DEVNODE              0x00000001
 | 
|---|
 | 85 | #define DBT_DEVTYP_VOLUME               0x00000002
 | 
|---|
 | 86 | #define DBT_DEVTYP_PORT                 0x00000003
 | 
|---|
 | 87 | #define DBT_DEVTYP_NET                  0x00000004
 | 
|---|
 | 88 | 
 | 
|---|
 | 89 | #if(WINVER >= 0x040A)
 | 
|---|
 | 90 | #define DBT_DEVTYP_DEVICEINTERFACE      0x00000005
 | 
|---|
 | 91 | #define DBT_DEVTYP_HANDLE               0x00000006
 | 
|---|
 | 92 | #endif
 | 
|---|
 | 93 | 
 | 
|---|
 | 94 | typedef struct _DEV_BROADCAST_HEADER {
 | 
|---|
 | 95 |     DWORD       dbcd_size;
 | 
|---|
 | 96 |     DWORD       dbcd_devicetype;
 | 
|---|
 | 97 |     DWORD       dbcd_reserved;
 | 
|---|
 | 98 | } DEV_BROADCAST_HEADER, *PDEV_BROADCAST_HEADER;
 | 
|---|
 | 99 | 
 | 
|---|
 | 100 | typedef struct _DEV_BROADCAST_OEM {
 | 
|---|
 | 101 |     DWORD       dbco_size;
 | 
|---|
 | 102 |     DWORD       dbco_devicetype;
 | 
|---|
 | 103 |     DWORD       dbco_reserved;
 | 
|---|
 | 104 |     DWORD       dbco_identifier;
 | 
|---|
 | 105 |     DWORD       dbco_suppfunc;
 | 
|---|
 | 106 | } DEV_BROADCAST_OEM, *PDEV_BROADCAST_OEM;
 | 
|---|
 | 107 | 
 | 
|---|
 | 108 | 
 | 
|---|
 | 109 | typedef struct _DEV_BROADCAST_DEVNODE { 
 | 
|---|
 | 110 |     DWORD       dbcd_size;
 | 
|---|
 | 111 |     DWORD       dbcd_devicetype;
 | 
|---|
 | 112 |     DWORD       dbcd_reserved;
 | 
|---|
 | 113 |     DWORD       dbcd_devnode;
 | 
|---|
 | 114 | } DEV_BROADCAST_DEVNODE, *PDEV_BROADCAST_DEVNODE;
 | 
|---|
 | 115 | 
 | 
|---|
 | 116 | typedef struct _DEV_BROADCAST_VOLUME {
 | 
|---|
 | 117 |     DWORD       dbcv_size;
 | 
|---|
 | 118 |     DWORD       dbcv_devicetype;
 | 
|---|
 | 119 |     DWORD       dbcv_reserved;
 | 
|---|
 | 120 |     DWORD       dbcv_unitmask;
 | 
|---|
 | 121 |     WORD        dbcv_flags;
 | 
|---|
 | 122 | } DEV_BROADCAST_VOLUME, *PDEV_BROADCAST_VOLUME;;
 | 
|---|
 | 123 | 
 | 
|---|
 | 124 | #define DBTF_MEDIA      0x0001
 | 
|---|
 | 125 | #define DBTF_NET        0x0002
 | 
|---|
 | 126 | 
 | 
|---|
 | 127 | typedef struct _DEV_BROADCAST_PORT_A {
 | 
|---|
 | 128 |     DWORD       dbcp_size;
 | 
|---|
 | 129 |     DWORD       dbcp_devicetype;
 | 
|---|
 | 130 |     DWORD       dbcp_reserved;
 | 
|---|
 | 131 |     char        dbcp_name[1];
 | 
|---|
 | 132 | } DEV_BROADCAST_PORT_A, *PDEV_BROADCAST_PORT_A;
 | 
|---|
 | 133 | 
 | 
|---|
 | 134 | typedef struct _DEV_BROADCAST_PORT_W {
 | 
|---|
 | 135 |     DWORD       dbcp_size;
 | 
|---|
 | 136 |     DWORD       dbcp_devicetype;
 | 
|---|
 | 137 |     DWORD       dbcp_reserved;
 | 
|---|
 | 138 |     wchar_t     dbcp_name[1];
 | 
|---|
 | 139 | } DEV_BROADCAST_PORT_W, *PDEV_BROADCAST_PORT_W;
 | 
|---|
 | 140 | 
 | 
|---|
 | 141 | #define DEV_BROADCAST_PORT  WINELIB_NAME_AW(DEV_BROADCAST_PORT)
 | 
|---|
 | 142 | #define PDEV_BROADCAST_PORT WINELIB_NAME_AW(PDEV_BROADCAST_PORT)
 | 
|---|
 | 143 | 
 | 
|---|
 | 144 | typedef struct _DEV_BROADCAST_NET { 
 | 
|---|
 | 145 |     DWORD       dbcn_size;
 | 
|---|
 | 146 |     DWORD       dbcn_devicetype;
 | 
|---|
 | 147 |     DWORD       dbcn_reserved;
 | 
|---|
 | 148 |     DWORD       dbcn_resource;
 | 
|---|
 | 149 |     DWORD       dbcn_flags;
 | 
|---|
 | 150 | } DEV_BROADCAST_NET, *PDEV_BROADCAST_NET;
 | 
|---|
 | 151 | 
 | 
|---|
 | 152 | #if(WINVER >= 0x040A)
 | 
|---|
 | 153 | 
 | 
|---|
 | 154 | typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A {
 | 
|---|
 | 155 |     DWORD       dbcc_size;
 | 
|---|
 | 156 |     DWORD       dbcc_devicetype;
 | 
|---|
 | 157 |     DWORD       dbcc_reserved;
 | 
|---|
 | 158 |     GUID        dbcc_classguid;
 | 
|---|
 | 159 |     char        dbcc_name[1];
 | 
|---|
 | 160 | } DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A;
 | 
|---|
 | 161 | 
 | 
|---|
 | 162 | typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W {
 | 
|---|
 | 163 |     DWORD       dbcc_size;
 | 
|---|
 | 164 |     DWORD       dbcc_devicetype;
 | 
|---|
 | 165 |     DWORD       dbcc_reserved;
 | 
|---|
 | 166 |     GUID        dbcc_classguid;
 | 
|---|
 | 167 |     wchar_t     dbcc_name[1];
 | 
|---|
 | 168 | } DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W;
 | 
|---|
 | 169 | 
 | 
|---|
 | 170 | #define DEV_BROADCAST_DEVICEINTERFACE  WINELIB_NAME_AW(DEV_BROADCAST_DEVICEINTERFACE)
 | 
|---|
 | 171 | #define PDEV_BROADCAST_DEVICEINTERFACE WINELIB_NAME_AW(PDEV_BROADCAST_DEVICEINTERFACE)
 | 
|---|
 | 172 | 
 | 
|---|
 | 173 | typedef struct _DEV_BROADCAST_HANDLE {
 | 
|---|
 | 174 |     DWORD       dbch_size;
 | 
|---|
 | 175 |     DWORD       dbch_devicetype;
 | 
|---|
 | 176 |     DWORD       dbch_reserved;
 | 
|---|
 | 177 |     HANDLE      dbch_handle;
 | 
|---|
 | 178 |     DWORD       dbch_hdevnotify;
 | 
|---|
 | 179 |     GUID        dbch_eventguid;
 | 
|---|
 | 180 |     LONG        dbch_nameoffset;
 | 
|---|
 | 181 |     BYTE        dbch_data[1];
 | 
|---|
 | 182 | } DEV_BROADCAST_HANDLE, *PDEV_BROADCAST_HANDLE;
 | 
|---|
 | 183 | 
 | 
|---|
 | 184 | #endif /* WINVER >= 0x040A */
 | 
|---|
 | 185 | 
 | 
|---|
 | 186 | #define DBTF_RESOURCE   0x00000001
 | 
|---|
 | 187 | #define DBTF_XPORT      0x00000002
 | 
|---|
 | 188 | #define DBTF_SLOWNET    0x00000004
 | 
|---|
 | 189 | 
 | 
|---|
 | 190 | #define DBT_VPOWERDAPI  0x8100
 | 
|---|
 | 191 | 
 | 
|---|
 | 192 | #define DBT_USERDEFINED 0xFFFF
 | 
|---|
 | 193 | 
 | 
|---|
 | 194 | typedef struct _DEV_BROADCAST_USERDEFINED {
 | 
|---|
 | 195 |     struct _DEV_BROADCAST_HDR dbud_dbh;
 | 
|---|
 | 196 |     char        dbud_szName[1];
 | 
|---|
 | 197 | } DEV_BROADCAST_USERDEFINED, *PDEV_BROADCAST_USERDEFINED;
 | 
|---|
 | 198 | 
 | 
|---|
 | 199 | #endif  // _DBT_H
 | 
|---|
 | 200 | 
 | 
|---|