Option Explicit
'
' Tipo de notificaciones.
'
Public Const DEVICE_NOTIFY_WINDOW_HANDLE = &H0&
Public Const DEVICE_NOTIFY_SERVICE_HANDLE = &H1&
Public Const DEVICE_NOTIFY_ALL_INTERFACE_CLASSES = &H4&
'
' Tipo de dispositivos para notificaciones.
'
Public Const DBT_DEVTYP_DEVICEINTERFACE = &H5&
Public Const DBT_DEVTYP_HANDLE = &H6&
Public Const DBT_DEVTYP_OEM = &H0&
Public Const DBT_DEVTYP_PORT = &H3&
Public Const DBT_DEVTYP_VOLUME = &H2&
Public Const WM_DEVICECHANGE = &H219 ' Mensaje que recibe la ventana.
'
' Eventos que pueden ocurrir (se pasan en wParam).
'
Public Const DBT_CONFIGCHANGECANCELED = &H18&
Public Const DBT_CONFIGCHANGED = &H19&
Public Const DBT_CUSTOMEVENT = &H8006&
Public Const DBT_DEVICEARRIVAL = &H8000&
Public Const DBT_DEVICEQUERYREMOVE = &H8001&
Public Const DBT_DEVICEQUERYREMOVEFAILED = &H8002&
Public Const DBT_DEVICEREMOVECOMPLETE = &H8004&
Public Const DBT_DEVICEREMOVEPENDING = &H8003&
Public Const DBT_DEVICETYPESPECIFIC = &H8005&
Public Const DBT_DEVNODES_CHANGED = &H7&
Public Const DBT_QUERYCHANGECONFIG = &H17&
Public Const DBT_USERDEFINED = &HFFFF&
Public Const DBTF_MEDIA = &H1
Public Const DBTF_NET = &H2 ' Es un volumen de red.
Type DEV_BROADCAST_HDR
dbch_size As Long
dbch_devicetype As Long
dbch_reserved As Long
End Type
Type DEV_BROADCAST_VOLUME
dbcv_size As Long
dbcv_devicetype As Long
dbcv_reserved As Long
dbcv_unitmask As Long
dbcv_flags As Integer
End Type
Declare Function RegisterDeviceNotification Lib "user32" Alias "RegisterDeviceNotificationA" (ByVal hRecipient As Long, ByVal NotificationFilter As Long, ByVal Flags As Long) As Long
Declare Function UnregisterDeviceNotification Lib "user32" (ByVal hDevNotify As Long) As Long