EVT_WDF_DEVICE_QUERY_REMOVE Rückruffunktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die EvtDeviceQueryRemove-Ereignisrückruffunktion eines Treibers bestimmt, ob ein angegebenes Gerät angehalten und entfernt werden kann.

Syntax

EVT_WDF_DEVICE_QUERY_REMOVE EvtWdfDeviceQueryRemove;

NTSTATUS EvtWdfDeviceQueryRemove(
  [in] WDFDEVICE Device
)
{...}

Parameter

[in] Device

Ein Handle für ein Framework-Geräteobjekt.

Rückgabewert

Wenn der Treiber feststellt, dass das Gerät beendet und entfernt werden kann, muss die Rückruffunktion EvtDeviceQueryRemove STATUS_SUCCESS oder einen anderen status-Wert zurückgeben, für den NT_SUCCESS(status) GLEICH TRUE ist. Andernfalls muss ein status Wert zurückgegeben werden, für den NT_SUCCESS(status) gleich FALSE ist. Geben Sie STATUS_NOT_SUPPORTED nicht zurück.

Hinweise

Um eine EvtDeviceQueryRemove-Rückruffunktion zu registrieren, muss ein Treiber WdfDeviceInitSetPnpPowerEventCallbacks aufrufen.

Wenn das Gerät und der Treiber das Herunterfahren im Leerlauf unterstützen, befindet sich das Gerät möglicherweise nicht im Betriebszustand, wenn das Framework die Rückruffunktion EvtDeviceQueryRemove des Treibers aufruft. Die Rückruffunktion kann WdfDeviceStopIdle aufrufen, um das Gerät in seinen Arbeitszustand (D0) zu erzwingen, und dann kann die Rückruffunktion WdfDeviceResumeIdle aufrufen, bevor es zurückgegeben wird.

Weitere Informationen zur Rückruffunktion EvtDeviceQueryRemove finden Sie unter Behandeln von Anforderungen zum Beenden eines Geräts.

Das Framework synchronisiert die Rückruffunktion EvtDeviceQueryRemove nicht mit anderen PnP- und Energieverwaltungsrückruffunktionen. Informationen dazu, wie das Framework die Ausführung der Ereignisrückruffunktionen eines Treibers synchronisiert, finden Sie unter Verwenden der automatischen Synchronisierung.

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfdevice.h (einschließen von Wdf.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

EvtDeviceQueryStop