evento DBT_DEVICEREMOVECOMPLETE
O sistema transmite o evento do dispositivo DBT_DEVICEREMOVECOMPLETE quando um dispositivo ou parte da mídia foi fisicamente removido.
Para transmitir esse evento de dispositivo, o sistema usa a mensagem WM_DEVICECHANGE com wParam definido como DBT_DEVICEREMOVECOMPLETE e lParam definidos conforme descrito a seguir.
LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // WM_DEVICECHANGE
WPARAM wParam, // device-change event
LPARAM lParam // event-specific data
);
Parâmetros
-
hwnd
-
Um identificador para uma janela.
-
uMsg
-
wParam
-
Definir como DBT_DEVICEREMOVECOMPLETE
-
lParam
-
Um ponteiro para uma estrutura que identifica o dispositivo removido. A estrutura consiste em um cabeçalho independente de evento, seguido por membros dependentes de eventos que descrevem o dispositivo. Para usar essa estrutura, trate a estrutura como uma estrutura DEV_BROADCAST_HDR e, em seguida, marcar seu membro dbch_devicetype para determinar o tipo de dispositivo.
Valor retornado
Retornar TRUE.
Comentários
O sistema pode transmitir uma mensagem DBT_DEVICEREMOVECOMPLETE sem enviar mensagens de DBT_DEVICEQUERYREMOVE e DBT_DEVICEREMOVEPENDING correspondentes. Nesses casos, os aplicativos e drivers devem se recuperar da perda do dispositivo da melhor maneira possível.
Se a mídia estiver sendo removida, o tipo de dispositivo que chega é um volume (o membro dbch_devicetype é DBT_DEVTYP_VOLUME) e a alteração afeta a mídia (o membro dbcv_flags é DBTF_MEDIA).
Exemplos
Para obter um exemplo, consulte Detectando inserção ou remoção de mídia ou processando uma solicitação para remover um dispositivo.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows XP |
Servidor mínimo com suporte |
Windows Server 2003 |
Cabeçalho |
|