Freigeben über


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 beendet und entfernt werden kann.

Syntax

EVT_WDF_DEVICE_QUERY_REMOVE EvtWdfDeviceQueryRemove;

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

Parameter

[in] Device

Ein Handle zu einem Framework-Geräteobjekt.

Rückgabewert

Wenn der Treiber feststellt, dass das Gerät angehalten und entfernt werden kann, muss die EvtDeviceQueryRemove Rückruffunktion STATUS_SUCCESS oder einen anderen Statuswert zurückgeben, für den NT_SUCCESS(Status) TRUEentspricht. Andernfalls muss ein Statuswert zurückgegeben werden, für den NT_SUCCESS(Status) FALSE-entspricht. Geben Sie STATUS_NOT_SUPPORTED nicht zurück.

Bemerkungen

Um eine EvtDeviceQueryRemove Rückruffunktion zu registrieren, muss ein Treiber WdfDeviceInitSetPnpPowerEventCallbacksaufrufen.

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

Weitere Informationen zur EvtDeviceQueryRemove Rückruffunktion finden Sie unter Handling Requests to Stop a Device.

Das Framework synchronisiert nicht die EvtDeviceQueryRemove Rückruffunktion 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- Universal
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Header- wdfdevice.h (einschließen Wdf.h)
IRQL- PASSIVE_LEVEL

Siehe auch

EvtDeviceQueryStop