| 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 |