Partager via


EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON fonction de rappel (wdfdevice.h)

[S’applique à KMDF et UMDF]

Les bras de fonction de rappel de l’événement EvtDeviceArmWakeFromSxWithReason d’un pilote (c’est-à-dire, active) un appareil afin qu’il puisse déclencher un signal de veille alors qu’il est dans un état d’appareil de faible puissance. Le signal de veille entraîne l’entrée de l’appareil dans son état de fonctionnement (D0) et entraîne l’entrée du système dans son état de fonctionnement (S0).

Syntaxe

EVT_WDF_DEVICE_ARM_WAKE_FROM_SX_WITH_REASON EvtWdfDeviceArmWakeFromSxWithReason;

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

Paramètres

[in] Device

Handle d’un objet d’appareil framework.

[in] DeviceWakeEnabled

Valeur booléenne qui, si TRUE, indique que la capacité de l’appareil à réveiller le système est activée.

[in] ChildrenArmedForWake

Valeur booléenne qui, si true, indique que la capacité d’un ou plusieurs appareils enfants à réveiller le système est activée.

Valeur retournée

Si la fonction de rappel EvtDeviceArmWakeFromSxWithReason ne rencontre aucune erreur, elle doit retourner STATUS_SUCCESS ou une autre valeur status pour laquelle NT_SUCCESS(status) est égal à TRUE. Sinon, il doit retourner une valeur status pour laquelle NT_SUCCESS(status) est false.

Si NT_SUCCESS(status) est égal à FALSE, l’infrastructure appelle la fonction de rappel EvtDeviceDisarmWakeFromSx du pilote. (L’infrastructure ne signale pas une défaillance d’appareil au gestionnaire PnP.)

Remarques

La version 1.7 et les versions ultérieures de KMDF prennent en charge la fonction de rappel EvtDeviceArmWakeFromSxWithReason en plus de la fonction de rappel EvtDeviceArmWakeFromSx .

Pour inscrire une fonction de rappel EvtDeviceArmWakeFromSxWithReason , un pilote doit appeler WdfDeviceInitSetPowerPolicyEventCallbacks. Les pilotes peuvent inscrire une fonction de rappel EvtDeviceArmWakeFromSx ou une fonction de rappel EvtDeviceArmWakeFromSxWithReason , mais pas les deux.

La fonction de rappel EvtDeviceArmWakeFromSxWithReason fournit deux paramètres qui permettent au pilote de déterminer pourquoi l’infrastructure l’a appelé :

  • L’infrastructure définit le paramètre DeviceWakeEnabled sur TRUE si le membre Enabled de la structure WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS indique que l’appareil peut réveiller le système.
  • L’infrastructure définit le paramètre ChildrenArmedForWake sur TRUE si un ou plusieurs des appareils enfants de l’appareil peuvent réveiller le système et si le membre ArmForWakeIfChildrenAreArmedForWake de WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS est défini sur TRUE.
L’un de ces paramètres ou les deux peuvent avoir la valeur TRUE, en raison des scénarios suivants :
  • Le périphérique du pilote est activé pour réveiller le système.
  • Un ou plusieurs des appareils enfants de l’appareil sont activés pour réveiller le système.
  • L’appareil et un ou plusieurs de ses appareils enfants sont activés pour réveiller le système.
Pour plus d’informations sur la fonction de rappel EvtDeviceArmWakeFromSxWithReason , consultez la section Remarques d’EvtDeviceArmWakeFromSx.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.7
Version UMDF minimale 2.0
En-tête wdfdevice.h (include Wdf.h)
IRQL PASSIVE_LEVEL

Voir aussi

EvtDeviceArmWakeFromS0

EvtDeviceArmWakeFromSx

EvtDeviceDisarmWakeFromSx