Partager via


EVT_HIDSPICX_NOTIFY_POWERDOWN fonction de rappel (hidspicx.h)

La fonction de rappel EvtHidspicxNotifyPowerdown est implémentée par le pilote client pour recevoir des notifications lorsque l’appareil est sur le point de passer à un état à faible alimentation.

Syntaxe

EVT_HIDSPICX_NOTIFY_POWERDOWN EvtHidspicxNotifyPowerdown;

NTSTATUS EvtHidspicxNotifyPowerdown(
  WDFDEVICE Device,
  BOOLEAN ArmForWake
)
{...}

Paramètres

Device

Handle vers un objet d’appareil framework que le pilote client obtenu à partir d’un appel précédent à WdfDeviceCreate.

ArmForWake

Valeur booléenne indiquant si l’appareil sera armé pour le réveil dans l’état cible pour la transition de l’alimentation imminente.

Valeur de retour

NTSTATUS indiquant si la préparation de la transition de puissance a réussi ou non. Cette méthode n’est pas censée échouer au moment de l’exécution et peut entraîner une défaillance de l’appareil par HidSpiCx.

Remarques

Le pilote client est censé implémenter et fournir un rappel que HidSpiCx utilisera pour informer le client d’une mise hors tension imminente. L’objectif de ce rappel est de permettre à l’extension de classe d’indiquer au client d’arrêter le traitement des interruptions de l’appareil, car l’appareil est sur le point d’entrer dans un état à faible alimentation. Le client ne doit pas reprendre les interruptions de traitement tant qu’un rappel au rappel WDF D0Entry du client n’a pas eu lieu.

L’objectif de cette fonction est d’éviter la saisie d’un état de veille où l’extension de classe envoie une commande SET_POWER SLEEP à l’appareil, et l’appareil affirme qu’il interrompt le réveil avant que le Dx IRP soit terminé par l’extension de classe et le pilote client. Sans rappel supplémentaire demandant au client d’arrêter le traitement matériel des interruptions, le matériel émet une lecture SPI en réponse à une interruption de veille, ce qui enfreint le protocole exigeant que l’hôte envoie d’abord une commande SET_POWER ON avant de traiter les interruptions de l’appareil.

Cette fonction est appelée par l’extension de classe au niveau irQL passif, et le client ne doit pas retourner tant que le traitement d’interruption n’a pas cessé.

Si l’appareil sera armé ou non pour le réveil au niveau du bus est fourni au client comme commodité, ce qui permet au pilote client d’éviter la surveillance des commandes WAIT_WAKE si ce n’est pas un conducteur de bus.

Exigences

Exigence Valeur
client minimum pris en charge Windows 11
d’en-tête hidspicx.h
IRQL PASSIVE_LEVEL

Voir aussi

d’états d’alimentation de l’appareil

États Low-Power d’appareils