EVT_WDF_DEVICE_D0_ENTRY Rückruffunktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die EvtDeviceD0Entry-Ereignisrückruffunktion eines Treibers führt Vorgänge aus, die erforderlich sind, wenn das Gerät des Treibers in den D0-Energiezustand wechselt.

Syntax

EVT_WDF_DEVICE_D0_ENTRY EvtWdfDeviceD0Entry;

NTSTATUS EvtWdfDeviceD0Entry(
  [in] WDFDEVICE Device,
  [in] WDF_POWER_DEVICE_STATE PreviousState
)
{...}

Parameter

[in] Device

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

[in] PreviousState

Ein WDF_POWER_DEVICE_STATE typisierter Enumerator, der den vorherigen Gerätestromzustand identifiziert.

Rückgabewert

Wenn für die Rückruffunktion EvtDeviceD0Entry keine Fehler auftreten, 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.

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

Das Framework ruft die EvtDeviceD0Exit-Rückruffunktion des Treibers nicht auf, nachdem die Rückruffunktion EvtDeviceD0Entry einen status Wert zurückgibt, für den NT_SUCCESS(status) false entspricht.

Hinweise

Um eine EvtDeviceD0Entry-Rückruffunktion für ein Gerät zu registrieren, muss ein Treiber WdfDeviceInitSetPnpPowerEventCallbacks aufrufen.

Wenn der Treiber eine EvtDeviceD0Entry-Rückruffunktion für ein Gerät registriert hat, ruft das Framework die Funktion jedes Mal auf, wenn das Gerät in den Betriebszustand (D0) wechselt. Ein Gerät wird in den D0-Zustand versetzt, wenn einer der folgenden Aktionen auftritt:

  • Ein Gerät wird aufgelistet (weil das Gerät angeschlossen oder das System neu gestartet wurde).
  • Das System und alle zugehörigen Geräte kehren aus einem Energiesparzustand in ihren Arbeitszustand zurück.
  • Das Gerät kehrt in seinen Betriebszustand zurück, nachdem es in einen Zustand mit niedriger Leistung versetzt wurde, weil es sich im Leerlauf befand (wenn das Gerät leerlauf mit geringer Leistung unterstützt).
  • Der Plug & Play-Manager hat die Hardwareressourcen des Systems auf die Geräte des Systems neu verteilt.
Das Framework ruft die Rückruffunktion EvtDeviceD0Entry sofort auf, nachdem das Gerät seinen Arbeitszustand (D0) erreicht hat und für den Treiber verfügbar ist, aber bevor die Unterbrechungen des Geräts aktiviert wurden. Der PreviousState-Parameter identifiziert den Geräteleistungszustand, in dem sich das Gerät befand, bevor es in den D0-Zustand wechselte. Wenn das Framework Zum ersten Mal EvtDeviceD0Entry aufruft, stellt es den PreviousState-Wert von WdfPowerDeviceD3Final bereit.

Die Rückruffunktion muss alle Vorgänge ausführen, die erforderlich sind, um das Gerät vollständig betriebsbereit zu machen, z. B. das Laden der Firmware oder das Aktivieren von Gerätefunktionen, die deaktiviert sind, wenn sich das Gerät in einem Energiesparzustand befindet.

Wenn die Rückruffunktion EvtDeviceD0Entry einen status Wert zurückgibt, für den NT_SUCCESS(status) false entspricht, führt das Framework folgendes aus:

Das Framework ruft in keiner dieser Situationen die EvtDeviceD0Exit-Rückruffunktion des Treibers auf.

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

Weitere Informationen zu Treibern, die diese Rückruffunktion bereitstellen, finden Sie unter Unterstützung der PnP- und Energieverwaltung in Funktionstreibern.

Die Rückruffunktion EvtDeviceD0Entry 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

EvtDeviceD0Exit