WM_DEVICECHANGE message

Avertit une application d’une modification apportée à la configuration matérielle d’un appareil ou de l’ordinateur.

Une fenêtre reçoit ce message via sa fonction WindowProc.

LRESULT CALLBACK WindowProc(HWND   hwnd,     // handle to window
                            UINT   uMsg,     // WM_DEVICECHANGE
                            WPARAM wParam,   // device-change event
                            LPARAM lParam ); // event-specific data

Paramètres

Hwnd

Handle de la fenêtre.

uMsg

Identificateur WM_DEVICECHANGE .

wParam

Événement qui s’est produit. Ce paramètre peut être l’une des valeurs suivantes du fichier d’en-tête Dbt.h.

Valeur Signification

DBT_DEVNODES_CHANGED0x0007
Un appareil a été ajouté ou supprimé du système.

DBT_QUERYCHANGECONFIG0x0017
L’autorisation est demandée pour modifier la configuration actuelle (ancrer ou débarder).

DBT_CONFIGCHANGED0x0018
La configuration actuelle a changé en raison d’un dock ou d’un débardock.

DBT_CONFIGCHANGECANCELED0x0019
Une demande de modification de la configuration actuelle (dock ou undock) a été annulée.

DBT_DEVICEARRIVAL0x8000
Un appareil ou un média a été inséré et est désormais disponible.

DBT_DEVICEQUERYREMOVE0x8001
L’autorisation est demandée pour supprimer un appareil ou un élément multimédia. Toute application peut refuser cette demande et annuler la suppression.

DBT_DEVICEQUERYREMOVEFAILED0x8002
Une demande de suppression d’un appareil ou d’un élément multimédia a été annulée.

DBT_DEVICEREMOVEPENDING0x8003
Un appareil ou un élément multimédia est sur le point d’être supprimé. Impossible de refuser.

DBT_DEVICEREMOVECOMPLETE0x8004
Un appareil ou un média a été supprimé.

DBT_DEVICETYPESPECIFIC0x8005
Un événement spécifique à l’appareil s’est produit.

DBT_CUSTOMEVENT0x8006
Un événement personnalisé s’est produit.

DBT_USERDEFINED0xFFFF
La signification de ce message est définie par l’utilisateur.

lParam

Pointeur vers une structure qui contient des données spécifiques à l’événement. Son format dépend de la valeur du paramètre wParam . Pour plus d’informations, consultez la documentation de chaque événement.

Valeur retournée

Retourne TRUE pour accorder la demande.

Retournez BROADCAST_QUERY_DENY pour refuser la demande.

Remarques

Pour les appareils qui offrent des fonctionnalités contrôlables par logiciel, telles que l’éjection et le verrouillage, le système envoie généralement un message DBT_DEVICEREMOVEPENDING pour permettre aux applications et aux pilotes de périphérique de mettre fin à leur utilisation de l’appareil correctement. Si le système supprime de force un appareil, il ne peut pas envoyer de message DBT_DEVICEQUERYREMOVE avant de le faire.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP
Serveur minimal pris en charge Windows Server 2003
En-tête
Winuser.h (inclure Windows.h ou Dbt.h)

Voir aussi

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