EVT_WDF_DEVICE_ARM_WAKE_FROM_SX fonction de rappel (wdfdevice.h)
[S’applique à KMDF et UMDF]
Bras de fonction de rappel d’événement EvtDeviceArmWakeFromSx d’un pilote (autrement dit, active) un appareil afin qu’il puisse déclencher un signal de sortie de veille alors qu’il est dans un état de périphérique à faible consommation. Le signal de sortie de veille entraîne l’entrée de l’appareil dans son état de fonctionnement (D0) et provoque l’entrée du système dans son état de fonctionnement (S0).
Syntaxe
EVT_WDF_DEVICE_ARM_WAKE_FROM_SX EvtWdfDeviceArmWakeFromSx;
NTSTATUS EvtWdfDeviceArmWakeFromSx(
[in] WDFDEVICE Device
)
{...}
Paramètres
[in] Device
Handle pour un objet d’appareil d’infrastructure.
Valeur retournée
Si la fonction de rappel EvtDeviceArmWakeFromSx ne rencontre aucune erreur, elle doit retourner STATUS_SUCCESS ou une autre valeur de status pour laquelle NT_SUCCESS(status) est égal à TRUE. Sinon, il doit retourner une valeur status pour laquelle NT_SUCCESS(status) est égal à FALSE.
Si NT_SUCCESS(status) est 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
Pour inscrire une fonction de rappel EvtDeviceArmWakeFromSx , un pilote doit appeler WdfDeviceInitSetPowerPolicyEventCallbacks. Les pilotes peuvent inscrire une fonction de rappel EvtDeviceArmWakeFromSx ou une fonction de rappel EvtDeviceArmWakeFromSxWithReason , mais pas les deux.
Cette fonction de rappel gère les opérations spécifiques à l’appareil qui sont nécessaires pour permettre à l’appareil de détecter un événement externe qui déclenche un signal de veille sur le bus. La fonction de rappel EvtDeviceEnableWakeAtBus du pilote de bus gère les opérations spécifiques au bus, telles que l’activation du signal PME (Power Management Event) du bus PCI.
Si un pilote a inscrit une fonction de rappel EvtDeviceArmWakeFromSx ou EvtDeviceArmWakeFromSxWithReason , l’infrastructure l’appelle alors que l’appareil est toujours dans l’état d’alimentation du périphérique D0, avant que le pilote de bus baisse l’état d’alimentation du périphérique, mais après que l’infrastructure a envoyé une IRP d’attente/éveil pour le compte du pilote.
Le processus se produit dans l’ordre suivant :
- L’infrastructure détermine que le système est sur le point d’entrer dans un état de système à faible consommation d’énergie.
- Le framework appelle la fonction de rappel EvtDeviceArmWakeFromSx ou EvtDeviceArmWakeFromSxWithReason du pilote.
- L’infrastructure demande au pilote pour le bus de l’appareil de réduire l’alimentation de l’appareil.
Pour plus d’informations sur le moment où l’infrastructure appelle cette fonction de rappel, consultez Scénarios pnP et de gestion de l’alimentation.
Vous n’avez pas besoin de fournir une fonction de rappel EvtDeviceArmWakeFromSx ou EvtDeviceArmWakeFromSxWithReason si votre appareil ne nécessite pas d’opérations matérielles spéciales permettant à l’appareil de déclencher un signal de sortie de veille.
Pour plus d’informations sur cette fonction de rappel, consultez Prise en charge du réveil du système.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfdevice.h (inclure Wdf.h) |
IRQL | PASSIVE_LEVEL |