EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND Rückruffunktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die EvtDeviceSelfManagedIoSuspend-Ereignisrückruffunktion eines Treibers hält die selbstverwalteten E/A-Vorgänge eines Geräts an.

Syntax

EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtWdfDeviceSelfManagedIoSuspend;

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

Parameter

[in] Device

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

Rückgabewert

Wenn der Vorgang erfolgreich ist, muss die Rückruffunktion EvtDeviceSelfManagedIoSuspend 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. Wenn NT_SUCCESS(status) gleich FALSE ist, beendet das Framework das Gerät und entfernt seine Geräteobjekte.

Wenn NT_SUCCESS(status) gleich FALSE ist, ruft das Framework die Rückruffunktionen EvtDeviceSelfManagedIoFlush und EvtDeviceSelfManagedIoCleanup des Treibers auf.

Weitere Informationen zu den Rückgabewerten dieser Rückruffunktion finden Sie unter Melden von Gerätefehlern.

Hinweise

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

Wenn der Treiber eine EvtDeviceSelfManagedIoSuspend-Rückruffunktion registriert hat, ruft das Framework sie aus einem der folgenden Gründe auf:

  • Das Gerät wechselt in einen Low-Power-Zustand.
  • Das Gerät wird entfernt oder wurde überraschend entfernt.
  • Der Plug & Play Manager ist dabei, die Hardwareressourcen des Systems auf die angeschlossenen Geräte des Systems neu zu verteilen.
Da Sie nicht wissen, welches dieser Ereignisse dazu führt, dass das Framework Ihren Treiber aufruft, müssen Sie davon ausgehen, dass das Gerät möglicherweise in den Betriebszustand (D0) zurückkehrt.

Wenn das Gerät in einen Low-Power-Zustand wechselt, ruft das Framework die Rückruffunktion EvtDeviceSelfManagedIoSuspend des Treibers auf, bevor es die EvtDeviceD0Exit-Rückruffunktion des Treibers aufruft.

Wenn die Rückruffunktion einen status Wert zurückgibt, für den NT_SUCCESS(status) gleich FALSE ist, und wenn das Framework versucht, die Leistung des Geräts zu verringern, beendet das Framework das Gerät und entfernt seine Geräteobjekte.

Die Rückruffunktion EvtDeviceSelfManagedIoSuspend muss alles tun, was erforderlich ist, um die selbstverwalteten E/A-Vorgänge des Geräts zu beenden.

Weitere Informationen dazu, wann das Framework diese Rückruffunktion aufruft, finden Sie unter PnP- und Energieverwaltungsszenarien.

Weitere Informationen zu Treibern, die diese Rückruffunktion bereitstellen, finden Sie unter Verwenden Self-Managed E/A.

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

EvtDeviceSelfManagedIoCleanup

EvtDeviceSelfManagedIoFlush

EvtDeviceSelfManagedIoInit

EvtDeviceSelfManagedIoRestart