Freigeben über


EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON Rückruffunktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Ein Treiber EvtDeviceArmWakeFromSxWithReason Ereignisrückruffunktionsarme (d. h. aktiviert) ein Gerät, sodass es ein Wakesignal auslösen kann, während er sich in einem Zustand mit geringem Stromverbrauch befindet. Das Wake-Signal bewirkt, dass das Gerät in den Arbeitszustand (D0) wechselt und das System in den 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 zu einem Framework-Geräteobjekt.

[in] DeviceWakeEnabled

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

[in] ChildrenArmedForWake

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

Rückgabewert

Wenn die EvtDeviceArmWakeFromSxWithReason Rückruffunktion keinen Fehler aufweist, muss STATUS_SUCCESS oder ein anderer Statuswert zurückgegeben werden, für den NT_SUCCESS(Status) TRUEentspricht. Andernfalls muss ein Statuswert 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 auf. (Das Framework meldet keinen Gerätefehler beim PnP-Manager.)

Bemerkungen

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

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

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

  • Das Framework legt den parameter DeviceWakeEnabled auf TRUE fest, wenn das Enabled Member der WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS-Struktur angibt, dass das Gerät das System reaktivieren kann.
  • Das Framework legt den parameter ChildrenArmedForWake auf TRUE fest, wenn ein oder mehrere untergeordnete Geräte des Geräts das System reaktivieren können und das ArmForWakeIfChildrenAreArmedForWake Member von WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS auf TRUEfestgelegt ist.
Einer oder beide dieser Parameter kann aufgrund der folgenden Szenarien TRUEsein:
  • Das Gerät des Treibers ist aktiviert, um das System zu reaktivieren.
  • Mindestens eines der untergeordneten Geräte des Geräts ist aktiviert, um das System zu aktivieren.
  • Sowohl das Gerät als auch ein oder mehrere seiner untergeordneten Geräte können das System reaktivieren.
Weitere Informationen zur EvtDeviceArmWakeFromSxWithReason Rückruffunktion finden Sie im Abschnitt "Hinweise" von EvtDeviceArmWakeFromSx.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Minimale KMDF-Version 1.7
Mindest-UMDF-Version 2.0
Header- wdfdevice.h (einschließen Wdf.h)
IRQL- PASSIVE_LEVEL

Siehe auch

EvtDeviceArmWakeFromS0

EvtDeviceArmWakeFromSx

EvtDeviceDisarmWakeFromSx