EVT_WDF_DEVICE_ARM_WAKE_FROM_SX Rückruffunktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die EvtDeviceArmWakeFromSx-Ereignisrückruffunktion eines Treibers (d. h. aktiviert) ein Gerät, sodass es ein Aktivierungssignal auslösen kann, während es sich in einem Gerätezustand mit geringer Leistung befindet. Das Aktivierungssignal bewirkt, dass das Gerät in seinen Arbeitszustand (D0) wechselt und das System in seinen Arbeitszustand (S0) wechselt.

Syntax

EVT_WDF_DEVICE_ARM_WAKE_FROM_SX EvtWdfDeviceArmWakeFromSx;

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

Parameter

[in] Device

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

Rückgabewert

Wenn für die Rückruffunktion EvtDeviceArmWakeFromSx kein Fehler auftritt, 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) gleich FALSE ist, ruft das Framework die Rückruffunktion EvtDeviceDisarmWakeFromSx des Treibers auf. (Das Framework meldet keinen Gerätefehler an den PnP-Manager.)

Hinweise

Um eine EvtDeviceArmWakeFromSx-Rückruffunktion zu registrieren, muss ein Treiber WdfDeviceInitSetPowerPolicyEventCallbacks aufrufen. Treiber können entweder eine EvtDeviceArmWakeFromSx-Rückruffunktion oder eine EvtDeviceArmWakeFromSxWithReason-Rückruffunktion registrieren, aber nicht beides.

Diese Rückruffunktion verarbeitet gerätespezifische Vorgänge, die erforderlich sind, damit das Gerät ein externes Ereignis erkennen kann, das ein Aktivierungssignal auf dem Bus auslöst. Die EvtDeviceEnableWakeAtBus-Rückruffunktion des Bustreibers verarbeitet busspezifische Vorgänge, z. B. das Aktivieren des PME-Signals (Power Management Event) des PCI-Busses.

Wenn ein Treiber eine EvtDeviceArmWakeFromSx - oder EvtDeviceArmWakeFromSxWithReason-Rückruffunktion registriert hat, ruft das Framework sie auf, während sich das Gerät noch im Gerätestromzustand D0 befindet, bevor der Bustreiber den Energiezustand des Geräts senkt, aber nachdem das Framework im Namen des Treibers eine Warte-/Wake-IRP gesendet hat.

Der Prozess erfolgt in der folgenden Sequenz:

  1. Das Framework bestimmt, dass das System im Begriff ist, in einen Zustand des Low-Power-Systems zu gelangen.
  2. Das Framework ruft die Rückruffunktion EvtDeviceArmWakeFromSx oder EvtDeviceArmWakeFromSxWithReason des Treibers auf.
  3. Das Framework fordert den Treiber für den Bus des Geräts auf, die Leistung des Geräts zu senken.
Unmittelbar bevor ein Gerät in einen Energiesparzustand wechselt, ruft das Framework die Rückruffunktion EvtDeviceD0Exit des Treibers auf.

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

Sie müssen keine Rückruffunktion EvtDeviceArmWakeFromSx oder EvtDeviceArmWakeFromSxWithReason bereitstellen, wenn Ihr Gerät keine speziellen Hardwarevorgänge erfordert, die es dem Gerät ermöglichen, ein Aktivierungssignal auszulösen.

Weitere Informationen zu dieser Rückruffunktion finden Sie unter Unterstützung der Systemreaktivierung.

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

EvtDeviceArmWakeFromS0

EvtDeviceArmWakeFromSxWithReason

EvtDeviceDisarmWakeFromSx