DBT_DEVICEQUERYREMOVE Ereignis
Das System sendet das DBT_DEVICEQUERYREMOVE Geräteereignis, um die Berechtigung zum Entfernen eines Geräts oder eines Medienteils anzufordern. Diese Meldung ist die letzte Chance für Anwendungen und Treiber, sich auf diese Entfernung vorzubereiten. Jede Anwendung kann diese Anforderung jedoch ablehnen und den Vorgang abbrechen.
Um dieses Geräteereignis zu übertragen, verwendet das System die WM_DEVICECHANGE Nachricht, wobei wParam auf DBT_DEVICEQUERYREMOVE und lParam festgelegt ist, wie im Folgenden beschrieben.
LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // WM_DEVICECHANGE
WPARAM wParam, // device-change event
LPARAM lParam // event-specific data
);
Parameter
-
hwnd
-
Das Fensterhandle
-
uMsg
-
Der WM_DEVICECHANGE Nachrichtenbezeichner.
-
wParam
-
Legen Sie auf DBT_DEVICEQUERYREMOVE fest.
-
lParam
-
Ein Zeiger auf eine Struktur, die das zu entfernende Gerät identifiziert. Die Struktur besteht aus einem ereignisunabhängigen Header, gefolgt von ereignisabhängigen Membern, die das Gerät beschreiben. Um diese Struktur zu verwenden, behandeln Sie die Struktur als DEV_BROADCAST_HDR-Struktur , und überprüfen Sie dann deren dbch_devicetype Member, um den Gerätetyp zu bestimmen.
Rückgabewert
Geben Sie TRUE zurück, um die Berechtigung zum Entfernen eines Geräts zu erteilen.
Geben Sie BROADCAST_QUERY_DENY zurück, um die Berechtigung zum Entfernen eines Geräts zu verweigern.
Bemerkungen
Sie müssen alle Ziehpunkte für das Gerät schließen, sonst tritt beim Entfernen des Geräts ein Fehler auf.
Beispiele
Ein Beispiel finden Sie unter Verarbeiten einer Anforderung zum Entfernen eines Geräts.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows XP |
Unterstützte Mindestversion (Server) |
Windows Server 2003 |
Header |
|