EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART Rückruffunktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die EvtDeviceSelfManagedIoRestart-Ereignisrückruffunktion eines Treibers startet die selbstverwalteten E/A-Vorgänge eines Geräts neu.

Syntax

EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtWdfDeviceSelfManagedIoRestart;

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

Parameter

[in] Device

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

Rückgabewert

Wenn die Rückruffunktion EvtDeviceSelfManagedIoRestart keine Fehler aufweist, muss sie STATUS_SUCCESS oder einen anderen status Wert zurückgeben, für den NT_SUCCESS(status) true entspricht. Andernfalls muss ein status Wert zurückgegeben werden, für den NT_SUCCESS(status) false entspricht. Wenn NT_SUCCESS(status) false ist, beendet das Framework das Gerät und entlädt die Treiber des Geräts.

Wenn NT_SUCCESS(status) false entspricht, 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 EvtDeviceSelfManagedIoRestart-Rückruffunktion zu registrieren, muss ein Treiber WdfDeviceInitSetPnpPowerEventCallbacks aufrufen.

Wenn der Treiber eine EvtDeviceSelfManagedIoRestart-Rückruffunktion registriert hat, ruft das Framework sie jedes Mal auf, wenn das Gerät von einem Zustand mit geringer Leistung in den Betriebszustand (D0) zurückkehrt. Das Framework ruft die Rückruffunktion EvtDeviceSelfManagedIoRestart erst nach dem Aufruf der Rückruffunktion EvtDeviceSelfManagedIoSuspend des Treibers auf.

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

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.

Die Rückruffunktion EvtDeviceSelfManagedIoRestart wird unter IRQL = PASSIVE_LEVEL aufgerufen. Sie sollten diese Rückruffunktion nicht auslagerungsfähig machen.

Anforderungen

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

Weitere Informationen

EvtDeviceSelfManagedIoCleanup

EvtDeviceSelfManagedIoFlush

EvtDeviceSelfManagedIoInit

EvtDeviceSelfManagedIoSuspend