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.
- 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.
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 |