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 :

  1. L’infrastructure détermine que le système est sur le point d’entrer dans un état de système à faible consommation d’énergie.
  2. Le framework appelle la fonction de rappel EvtDeviceArmWakeFromSx ou EvtDeviceArmWakeFromSxWithReason du pilote.
  3. L’infrastructure demande au pilote pour le bus de l’appareil de réduire l’alimentation de l’appareil.
Immédiatement avant qu’un appareil n’entre dans un état de faible consommation, l’infrastructure appelle la fonction de rappel EvtDeviceD0Exit du pilote.

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

Voir aussi

EvtDeviceArmWakeFromS0

EvtDeviceArmWakeFromSxWithReason

EvtDeviceDisarmWakeFromSx