EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART Rückruffunktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die Funktion " EvtDeviceSelfManagedIoRestart " eines Treibers startet die selbst verwaltete I/O-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 zu einem Framework-Geräteobjekt.

Rückgabewert

Wenn die EvtDeviceSelfManagedIoRestart-Rückruffunktion keine Fehler aufweist, muss STATUS_SUCCESS zurückgegeben werden, oder ein anderer Statuswert, für den NT_SUCCESS(status) true entspricht. Andernfalls muss ein Statuswert zurückgegeben werden, für den NT_SUCCESS(Status) FALSE entspricht. Wenn NT_SUCCESS(status) FALSE entspricht, beendet das Framework das Gerät und entlädt die Treiber des Geräts.

Wenn NT_SUCCESS(status) FALSE entspricht, ruft das Framework die Funktionen evtDeviceSelfManagedIoFlush und EvtDeviceSelfManagedIoCleanup auf.

Weitere Informationen zu den Rückgabewerten dieser Rückruffunktion finden Sie unter Berichtsgerätfehler.

Bemerkungen

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

Wenn der Treiber eine EvtDeviceSelfManagedIoRestart-Rückruffunktion registriert hat, ruft das Framework jedes Mal auf, wenn das Gerät von einem Zustand mit niedriger Leistung an seinen Arbeitszustand (D0) zurückgibt. Das Framework ruft die Funktion "EvtDeviceSelfManagedIoRestart" nur nach dem Aufrufen der Funktion "EvtDeviceSelfManagedIoSuspend " auf.

Die Rückruffunktion des Treibers EvtDeviceSelfManagedIoRestart muss alles tun, was erforderlich ist, um die selbst verwalteten I/O-Vorgänge des Geräts fortzusetzen.

Weitere Informationen zum Aufrufen dieser Rückruffunktion finden Sie in PnP- und Power Management-Szenarien.

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

Die Funktion EvtDeviceSelfManagedIoRestart wird bei IRQL = PASSIVE_LEVEL aufgerufen. Sie sollten diese Rückruffunktion nicht seitenfähig machen.

Anforderungen

   
Zielplattform Universell
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Header wdfdevice.h (enthalten Wdf.h)
IRQL PASSIVE_LEVEL (siehe Abschnitt "Hinweise")

Weitere Informationen

EvtDeviceSelfManagedIoCleanup

EvtDeviceSelfManagedIoFlush

EvtDeviceSelfManagedIoInit

EvtDeviceSelfManagedIoSuspend