Reactos
at master 143 lines 4.2 kB view raw
1#ifndef _DBT_H 2#define _DBT_H 3 4#include "winuser.h" 5 6#ifdef __cplusplus 7extern "C" { 8#endif 9#define DBT_NO_DISK_SPACE 0x47 10#define DBT_LOW_DISK_SPACE 0x0048 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_CUSTOMEVENT 0x8006 19#define DBT_DEVTYP_OEM 0 20#define DBT_DEVTYP_DEVNODE 1 21#define DBT_DEVTYP_VOLUME 2 22#define DBT_DEVTYP_PORT 3 23#define DBT_DEVTYP_NET 4 24#define DBT_DEVTYP_DEVICEINTERFACE 5 25#define DBT_DEVTYP_HANDLE 6 26#define DBT_APPYBEGIN 0 27#define DBT_APPYEND 1 28#define DBT_DEVNODES_CHANGED 7 29#define DBT_QUERYCHANGECONFIG 0x17 30#define DBT_CONFIGCHANGED 0x18 31#define DBT_CONFIGCHANGECANCELED 0x19 32#define DBT_MONITORCHANGE 0x1B 33#define DBT_SHELLLOGGEDON 32 34#define DBT_CONFIGMGAPI32 34 35#define DBT_VXDINITCOMPLETE 35 36#define DBT_VOLLOCKQUERYLOCK 0x8041 37#define DBT_VOLLOCKLOCKTAKEN 0x8042 38#define DBT_VOLLOCKLOCKFAILED 0x8043 39#define DBT_VOLLOCKQUERYUNLOCK 0x8044 40#define DBT_VOLLOCKLOCKRELEASED 0x8045 41#define DBT_VOLLOCKUNLOCKFAILED 0x8046 42#define DBT_USERDEFINED 0xFFFF 43#define DBTF_MEDIA 1 44#define DBTF_NET 2 45 46/* Also defined in winuser.h */ 47#define BSM_ALLCOMPONENTS 0 48#define BSM_APPLICATIONS 8 49#define BSM_ALLDESKTOPS 16 50#define BSM_INSTALLABLEDRIVERS 4 51#define BSM_NETDRIVER 2 52#define BSM_VXDS 1 53#define BSF_FLUSHDISK 0x00000004 54#define BSF_FORCEIFHUNG 0x00000020 55#define BSF_IGNORECURRENTTASK 0x00000002 56#define BSF_NOHANG 0x00000008 57#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040 58#define BSF_POSTMESSAGE 0x00000010 59#define BSF_QUERY 0x00000001 60#if (_WIN32_WINNT >= 0x0500) 61#define BSF_ALLOWSFW 0x00000080 62#define BSF_SENDNOTIFYMESSAGE 0x00000100 63#endif /* (_WIN32_WINNT >= 0x0500) */ 64#if (_WIN32_WINNT >= 0x0501) 65#define BSF_LUID 0x00000400 66#define BSF_RETURNHDESK 0x00000200 67#endif /* (_WIN32_WINNT >= 0x0501) */ 68 69#define BSF_MSGSRV32ISOK_BIT 31 70#define BSF_MSGSRV32ISOK 0x80000000 71 72typedef struct _DEV_BROADCAST_HDR { 73 DWORD dbch_size; 74 DWORD dbch_devicetype; 75 DWORD dbch_reserved; 76} DEV_BROADCAST_HDR,*PDEV_BROADCAST_HDR; 77typedef struct _DEV_BROADCAST_OEM { 78 DWORD dbco_size; 79 DWORD dbco_devicetype; 80 DWORD dbco_reserved; 81 DWORD dbco_identifier; 82 DWORD dbco_suppfunc; 83} DEV_BROADCAST_OEM,*PDEV_BROADCAST_OEM; 84typedef struct _DEV_BROADCAST_PORT_A { 85 DWORD dbcp_size; 86 DWORD dbcp_devicetype; 87 DWORD dbcp_reserved; 88 char dbcp_name[1]; 89} DEV_BROADCAST_PORT_A, *PDEV_BROADCAST_PORT_A; 90typedef struct _DEV_BROADCAST_PORT_W { 91 DWORD dbcp_size; 92 DWORD dbcp_devicetype; 93 DWORD dbcp_reserved; 94 wchar_t dbcp_name[1]; 95} DEV_BROADCAST_PORT_W, *PDEV_BROADCAST_PORT_W; 96typedef struct _DEV_BROADCAST_USERDEFINED { 97 struct _DEV_BROADCAST_HDR dbud_dbh; 98 char dbud_szName[1]; 99} DEV_BROADCAST_USERDEFINED; 100typedef struct _DEV_BROADCAST_VOLUME { 101 DWORD dbcv_size; 102 DWORD dbcv_devicetype; 103 DWORD dbcv_reserved; 104 DWORD dbcv_unitmask; 105 WORD dbcv_flags; 106} DEV_BROADCAST_VOLUME,*PDEV_BROADCAST_VOLUME; 107typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A { 108 DWORD dbcc_size; 109 DWORD dbcc_devicetype; 110 DWORD dbcc_reserved; 111 GUID dbcc_classguid; 112 CHAR dbcc_name[1]; 113} DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A; 114typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W { 115 DWORD dbcc_size; 116 DWORD dbcc_devicetype; 117 DWORD dbcc_reserved; 118 GUID dbcc_classguid; 119 WCHAR dbcc_name[1]; 120} DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W; 121typedef struct _DEV_BROADCAST_HANDLE { 122 DWORD dbch_size; 123 DWORD dbch_devicetype; 124 DWORD dbch_reserved; 125 HANDLE dbch_handle; 126 HDEVNOTIFY dbch_hdevnotify; 127 GUID dbch_eventguid; 128 LONG dbch_nameoffset; 129 BYTE dbch_data[1]; 130} DEV_BROADCAST_HANDLE, *PDEV_BROADCAST_HANDLE; 131 132#ifdef UNICODE 133typedef DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT; 134typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE, *PDEV_BROADCAST_DEVICEINTERFACE; 135#else 136typedef DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT; 137typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE, *PDEV_BROADCAST_DEVICEINTERFACE; 138#endif 139 140#ifdef __cplusplus 141} 142#endif 143#endif