mensaje de WM_DEVICECHANGE

Notifica a una aplicación un cambio en la configuración de hardware de un dispositivo o equipo.

Una ventana recibe este mensaje a través de la función 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

Un identificador de la ventana.

uMsg

Identificador de WM_DEVICECHANGE .

wParam

Evento que se ha producido. Este parámetro puede ser uno de los siguientes valores del archivo de encabezado Dbt.h.

Value Significado

DBT_DEVNODES_CHANGED0x0007
Se ha agregado o quitado un dispositivo del sistema.

DBT_QUERYCHANGECONFIG0x0017
Se solicita permiso para cambiar la configuración actual (acoplamiento o desacoplamiento).

DBT_CONFIGCHANGED0x0018
La configuración actual ha cambiado, debido a un acoplamiento o desacoplar.

DBT_CONFIGCHANGECANCELED0x0019
Se ha cancelado una solicitud para cambiar la configuración actual (acoplamiento o desacoplamiento).

DBT_DEVICEARRIVAL0x8000
Se ha insertado un dispositivo o un elemento multimedia y ya está disponible.

DBT_DEVICEQUERYREMOVE0x8001
Se solicita permiso para quitar un dispositivo o elemento multimedia. Cualquier aplicación puede denegar esta solicitud y cancelar que se quite el dispositivo.

DBT_DEVICEQUERYREMOVEFAILED0x8002
Se ha cancelado una solicitud para quitar un dispositivo o un fragmento de medios.

DBT_DEVICEREMOVEPENDING0x8003
Un dispositivo o elemento multimedia está a punto de quitarse. No se puede denegar.

DBT_DEVICEREMOVECOMPLETE0x8004
Se ha quitado un dispositivo o un elemento multimedia.

DBT_DEVICETYPESPECIFIC0x8005
Se ha producido un evento específico del dispositivo.

DBT_CUSTOMEVENT0x8006
Se ha producido un evento personalizado.

DBT_USERDEFINED0xFFFF
El significado de este mensaje es definido por el usuario.

lParam

Puntero a una estructura que contiene datos específicos del evento. Su formato depende del valor del parámetro wParam . Para obtener más información, consulte la documentación de cada evento.

Valor devuelto

Devuelve TRUE para conceder la solicitud.

Devuelve BROADCAST_QUERY_DENY para denegar la solicitud.

Observaciones

En el caso de los dispositivos que ofrecen características controlables de software, como la expulsión y el bloqueo, el sistema normalmente envía un mensaje de DBT_DEVICEREMOVEPENDING para permitir que las aplicaciones y los controladores de dispositivos finalicen su uso del dispositivo correctamente. Si el sistema quita forzosamente un dispositivo, es posible que no envíe un mensaje de DBT_DEVICEQUERYREMOVE antes de hacerlo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP
Servidor mínimo compatible Windows Server 2003
Encabezado
Winuser.h (incluya Windows.h o Dbt.h)

Consulte también

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