WM_DEVICECHANGE mensagem

Notifica um aplicativo de uma alteração na configuração de hardware de um dispositivo ou do computador.

Uma janela recebe essa mensagem por meio da função WindowProc.

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 a janela.

uMsg

O identificador WM_DEVICECHANGE .

wParam

O evento que ocorreu. Esse parâmetro pode ser um dos seguintes valores do arquivo de cabeçalho Dbt.h.

Valor Significado

DBT_DEVNODES_CHANGED0x0007
Um dispositivo foi adicionado ou removido do sistema.

DBT_QUERYCHANGECONFIG0x0017
A permissão é solicitada para alterar a configuração atual (encaixar ou desencaixar).

DBT_CONFIGCHANGED0x0018
A configuração atual foi alterada devido a um encaixe ou desencaixe.

DBT_CONFIGCHANGECANCELED0x0019
Uma solicitação para alterar a configuração atual (encaixar ou desencaixar) foi cancelada.

DBT_DEVICEARRIVAL0x8000
Um dispositivo ou parte da mídia foi inserido e agora está disponível.

DBT_DEVICEQUERYREMOVE0x8001
A permissão é solicitada para remover um dispositivo ou uma parte da mídia. Qualquer aplicativo pode negar essa solicitação e cancelar a remoção.

DBT_DEVICEQUERYREMOVEFAILED0x8002
Uma solicitação para remover um dispositivo ou parte da mídia foi cancelada.

DBT_DEVICEREMOVEPENDING0x8003
Um dispositivo ou parte da mídia está prestes a ser removido. Não é possível negar.

DBT_DEVICEREMOVECOMPLETE0x8004
Um dispositivo ou parte da mídia foi removido.

DBT_DEVICETYPESPECIFIC0x8005
Ocorreu um evento específico do dispositivo.

DBT_CUSTOMEVENT0x8006
Ocorreu um evento personalizado.

DBT_USERDEFINED0xffff
O significado dessa mensagem é definido pelo usuário.

lParam

Um ponteiro para uma estrutura que contém dados específicos do evento. Seu formato depende do valor do parâmetro wParam . Para obter mais informações, consulte a documentação de cada evento.

Retornar valor

Retorne TRUE para conceder a solicitação.

Retorne BROADCAST_QUERY_DENY para negar a solicitação.

Comentários

Para dispositivos que oferecem recursos controláveis por software, como ejeção e bloqueio, o sistema normalmente envia uma mensagem de DBT_DEVICEREMOVEPENDING para permitir que aplicativos e drivers de dispositivo encerrem normalmente o uso do dispositivo. Se o sistema remover um dispositivo à força, ele poderá não enviar uma mensagem DBT_DEVICEQUERYREMOVE antes de fazer isso.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP
Servidor mínimo com suporte Windows Server 2003
Cabeçalho
Winuser.h (inclua Windows.h ou Dbt.h)

Confira também

DBT_CONFIGCHANGECANCELED

DBT_CONFIGCHANGED

DBT_CUSTOMEVENT

DBT_DEVICEARRIVAL

DBT_DEVICEQUERYREMOVE

DBT_DEVICEQUERYREMOVEFAILED

DBT_DEVICEREMOVECOMPLETE

DBT_DEVICEREMOVEPENDING

DBT_DEVICETYPESPECIFIC

DBT_DEVNODES_CHANGED

DBT_QUERYCHANGECONFIG

DBT_USERDEFINED