WM_DEVICECHANGE Nachricht

Benachrichtigt eine Anwendung über eine Änderung der Hardwarekonfiguration eines Geräts oder computers.

Ein Fenster empfängt diese Meldung über seine WindowProc-Funktion .

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

Parameter

hwnd

Ein Handle für das Fenster.

uMsg

Der WM_DEVICECHANGE-Bezeichner .

wParam

Das aufgetretene Ereignis. Dieser Parameter kann einer der folgenden Werte aus der Headerdatei Dbt.h sein.

Wert Bedeutung

DBT_DEVNODES_CHANGED0x0007
Ein Gerät wurde dem System hinzugefügt oder daraus entfernt.

DBT_QUERYCHANGECONFIG0x0017
Es wird die Berechtigung zum Ändern der aktuellen Konfiguration (Andocken oder Abdocken) angefordert.

DBT_CONFIGCHANGED0x0018
Die aktuelle Konfiguration hat sich aufgrund eines Docks oder Abdockens geändert.

DBT_CONFIGCHANGECANCELED0x0019
Eine Anforderung zum Ändern der aktuellen Konfiguration (Dock oder Abdocken) wurde abgebrochen.

DBT_DEVICEARRIVAL0x8000
Ein Gerät oder ein Medienteil wurde eingefügt und ist jetzt verfügbar.

DBT_DEVICEQUERYREMOVE0x8001
Die Berechtigung zum Entfernen eines Geräts oder eines Medienteils wird angefordert. Jede Anwendung kann diese Anforderung ablehnen und die Entfernung abbrechen.

DBT_DEVICEQUERYREMOVEFAILED0x8002
Eine Anforderung zum Entfernen eines Geräts oder eines Medienteils wurde abgebrochen.

DBT_DEVICEREMOVEPENDING0x8003
Ein Gerät oder ein Medienteil wird entfernt. Kann nicht verweigert werden.

DBT_DEVICEREMOVECOMPLETE0x8004
Ein Gerät oder ein Medienteil wurde entfernt.

DBT_DEVICETYPESPECIFIC0x8005
Ein gerätespezifisches Ereignis ist aufgetreten.

DBT_CUSTOMEVENT0x8006
Ein benutzerdefiniertes Ereignis ist aufgetreten.

DBT_USERDEFINED0xffff
Die Bedeutung dieser Nachricht ist benutzerdefinierte.

lParam

Ein Zeiger auf eine Struktur, die ereignisspezifische Daten enthält. Das Format hängt vom Wert des wParam-Parameters ab. Weitere Informationen finden Sie in der Dokumentation zu jedem Ereignis.

Rückgabewert

Geben Sie TRUE zurück, um die Anforderung zu gewähren.

Geben Sie BROADCAST_QUERY_DENY zurück, um die Anforderung zu verweigern.

Bemerkungen

Für Geräte, die softwarekontrollierbare Funktionen wie Auswurf und Sperren bieten, sendet das System in der Regel eine DBT_DEVICEREMOVEPENDING-Nachricht , damit Anwendungen und Gerätetreiber ihre Verwendung des Geräts ordnungsgemäß beenden können. Wenn das System ein Gerät zwangsweise entfernt, sendet es vor diesem Vorgang möglicherweise keine DBT_DEVICEQUERYREMOVE Nachricht.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP
Unterstützte Mindestversion (Server) Windows Server 2003
Header
Winuser.h (schließen Sie Windows.h oder Dbt.h ein)

Siehe auch

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