Méthode IPowerPolicyCallbackWakeFromS0 ::OnArmWakeFromS0 (wudfddi.h)
[Avertissement : UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main avec UMDF.]
Les bras de la fonction de rappel OnArmWakeFromS0 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 consommation, si le système reste dans l’état de fonctionnement du système (S0).
Syntaxe
HRESULT OnArmWakeFromS0(
[in] IWDFDevice *pWdfDevice
);
Paramètres
[in] pWdfDevice
Pointeur vers l’interface IWDFDevice de l’objet de périphérique qui représente l’un des périphériques du pilote.
Valeur retournée
Si l’opération réussit, la fonction de rappel OnArmWakeFromS0 doit retourner S_OK ou une autre valeur de status pour laquelle SUCCEEDED(status) est égal à TRUE. Sinon, elle doit retourner une valeur status pour laquelle SUCCEEDED(status) est égal àFALSE.
Si SUCCEEDED(status) est égal à FALSE, l’infrastructure appelle la fonction de rappel IPowerPolicyCallbackWakeFromS0 ::OnDisarmWakeFromS0 du pilote. (L’infrastructure ne signale pas une défaillance d’appareil au gestionnaire PnP.)
Remarques
Votre pilote doit fournir une fonction de rappel OnArmWakeFromS0 si le pilote prend en charge l’interface IPowerPolicyCallbackWakeFromS0 .
La fonction de rappel OnArmWakeFromS0 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 sortie de veille sur le bus. Le pilote de bus en mode noyau gère des opérations spécifiques au bus, telles que l’activation du signal PME (Power Management Event) du bus PCI.
Si le pilote a inscrit une fonction de rappel OnArmWakeFromS0 , 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 de l’appareil, mais une fois que le framework a envoyé une IRP d’attente/veille pour le compte du pilote.
Le processus se produit dans l’ordre suivant :
- L’infrastructure détermine que l’appareil a été inactif pendant une durée prédéfinie.
- Le framework appelle la fonction de rappel OnArmWakeFromS0 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 dans UMDF.
Vous n’avez pas besoin de fournir une fonction de rappel OnArmWakeFromS0 si votre appareil :
- Périphérique USB qui prend en charge la « suspension sélective ».
- Ne peut pas être mis hors tension tant que le système reste entièrement alimenté.
- Ne nécessite pas d’opérations matérielles spéciales qui permettent à l’appareil de déclencher un signal de sortie de veille.
Pour plus d’informations sur cette fonction de rappel, consultez Prise en charge des Power-Down inactifs dans les pilotes basés sur UMDF.
Configuration requise
Condition requise | Valeur |
---|---|
Fin de la prise en charge | Non disponible dans UMDF 2.0 et versions ultérieures. |
Plateforme cible | Desktop (Expérience utilisateur) |
Version UMDF minimale | 1,9 |
En-tête | wudfddi.h (inclure Wudfddi.h) |
Voir aussi
IPowerPolicyCallbackWakeFromS0