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.
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:
- Wenn das Gerät zum ersten Mal gestartet wird, beginnt das Framework eine geordnete Entfernungssequenz für das Gerät.
- Wenn das Gerät von einem Zustand mit geringer Leistung in den Betriebszustand zurückkehrt, beginnt das Framework mit einer überraschenden Entfernungssequenz für das Gerät.
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) |