Partager via


EVT_WDF_DEVICE_ARM_WAKE_FROM_SX fonction de rappel (wdfdevice.h)

[S’applique à KMDF et UMDF]

Un pilote EvtDeviceArmWakeFromSx bras de fonction de rappel d’événements (autrement dit, active) un appareil afin qu’il puisse déclencher un signal de sortie de veille dans un état d’appareil à faible alimentation. Le signal de veille entraîne l’entrée de l’appareil dans son état de travail (D0) et provoque l’entrée du système dans son état de travail (S0).

Syntaxe

EVT_WDF_DEVICE_ARM_WAKE_FROM_SX EvtWdfDeviceArmWakeFromSx;

NTSTATUS EvtWdfDeviceArmWakeFromSx(
  [in] WDFDEVICE Device
)
{...}

Paramètres

[in] Device

Handle vers un objet d’appareil framework.

Valeur de retour

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

Si NT_SUCCESS(status) est égal FALSE, l’infrastructure appelle la fonction de rappel EvtDeviceDisarmWakeFromSx du pilote. (L’infrastructure ne signale pas de 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 un EvtDeviceArmWakeFromSxWithReason fonction de rappel, mais pas les deux.

Cette fonction de rappel gère les opérations spécifiques à l’appareil 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 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 fonction de rappel, l’infrastructure l’appelle pendant que l’appareil est toujours dans l’état d’alimentation de l’appareil D0, avant que le pilote de bus réduise l’état d’alimentation de l’appareil, mais une fois que l’infrastructure a envoyé une iRP d’attente/sortie de veille pour le compte du pilote.

Le processus se produit dans la séquence suivante :

  1. Le framework détermine que le système est sur le point d’entrer dans un état de système à faible alimentation.
  2. L’infrastructure appelle le EvtDeviceArmWakeFromSx ou EvtDeviceArmWakeFromSxWithReason fonction de rappel.
  3. Le framework demande au pilote que le bus de l’appareil diminue la puissance de l’appareil.
Juste avant qu’un appareil ne passe à un état de faible alimentation, 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 Power Management.

Vous n’avez pas besoin de fournir une EvtDeviceArmWakeFromSx ou EvtDeviceArmWakeFromSxWithReason fonction de rappel si votre appareil ne nécessite pas d’opérations matérielles spéciales qui permettent à l’appareil de déclencher un signal de veille.

Pour plus d’informations sur cette fonction de rappel, consultez prise en charge dude mise en éveil du système.

Exigences

Exigence Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
d’en-tête wdfdevice.h (include Wdf.h)
IRQL PASSIVE_LEVEL

Voir aussi

EvtDeviceArmWakeFromS0

EvtDeviceArmWakeFromSxWithReason

EvtDeviceDisarmWakeFromSx