Freigeben über


EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON Rückruffunktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die EvtDeviceArmWakeFromSxWithReason-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_WITH_REASON EvtWdfDeviceArmWakeFromSxWithReason;

NTSTATUS EvtWdfDeviceArmWakeFromSxWithReason(
  [in] WDFDEVICE Device,
  [in] BOOLEAN DeviceWakeEnabled,
  [in] BOOLEAN ChildrenArmedForWake
)
{...}

Parameter

[in] Device

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

[in] DeviceWakeEnabled

Ein boolescher Wert, der bei TRUE angibt, dass die Fähigkeit des Geräts, das System zu reaktivieren, aktiviert ist.

[in] ChildrenArmedForWake

Ein boolescher Wert, der bei TRUE angibt, dass die Fähigkeit eines oder mehrerer untergeordneter Geräte, das System zu reaktivieren, aktiviert ist.

Rückgabewert

Wenn für die Rückruffunktion EvtDeviceArmWakeFromSxWithReason 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 EvtDeviceDisarmWakeFromSx-Rückruffunktion des Treibers auf. (Das Framework meldet keinen Gerätefehler an den PnP-Manager.)

Hinweise

Version 1.7 und höhere Versionen von KMDF unterstützen die Rückruffunktion EvtDeviceArmWakeFromSxWithReason zusätzlich zur Rückruffunktion EvtDeviceArmWakeFromSx .

Um eine EvtDeviceArmWakeFromSxWithReason-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.

Die Rückruffunktion EvtDeviceArmWakeFromSxWithReason stellt zwei Parameter bereit, mit denen der Treiber bestimmen kann, warum das Framework sie aufgerufen hat:

  • Das Framework legt den DeviceWakeEnabled-Parameter auf TRUE fest, wenn das Enabled-Element der WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS-Struktur angibt, dass das Gerät das System reaktivieren kann.
  • Das Framework legt den ChildrenArmedForWake-Parameter auf TRUE fest, wenn mindestens eines der untergeordneten Geräte des Geräts das System reaktivieren kann und das ArmForWakeIfChildrenAreArmedForWake-Element von WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS auf TRUE festgelegt ist.
Aufgrund der folgenden Szenarien können entweder einer oder beide Parameter TRUE sein:
  • Das Gerät des Treibers ist aktiviert, um das System zu reaktivieren.
  • Mindestens eins der untergeordneten Geräte des Geräts ist aktiviert, um das System zu reaktivieren.
  • Sowohl das Gerät als auch mindestens eines seiner untergeordneten Geräte sind aktiviert, um das System zu aktivieren.
Weitere Informationen zur Rückruffunktion EvtDeviceArmWakeFromSxWithReason finden Sie im Abschnitt Hinweise von EvtDeviceArmWakeFromSx.

Anforderungen

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

Weitere Informationen

EvtDeviceArmWakeFromS0

EvtDeviceArmWakeFromSx

EvtDeviceDisarmWakeFromSx