home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / dbt.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  4KB  |  155 lines

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