Partager via


Propriété Power Policy

Pour chaque appareil, un seul des pilotes de l’appareil doit être le propriétaire de la stratégie d’alimentation de l’appareil. Le propriétaire de la stratégie d’alimentation détermine l’état d’alimentation approprié pour un appareil et envoie les requêtes à la pile des pilotes de l’appareil chaque fois que l’état d’alimentation de l’appareil doit changer.

Les pilotes basés sur l’infrastructure ne contiennent pas de code qui demande des modifications dans l’état d’alimentation d’un appareil, car le framework fournit ce code. Par défaut, chaque fois que le système entre dans un état de mise en veille du système, l’infrastructure demande au pilote du bus de votre appareil de réduire l’état d’alimentation de l’appareil à D3. (Votre pilote peut modifier le comportement par défaut afin que l’infrastructure définisse l’état de veille de votre appareil sur D1 ou D2, si l’appareil fournit des fonctionnalités de mise en éveil.) Lorsque l’alimentation du système revient à son état de fonctionnement (S0), l’infrastructure demande au pilote de bus de restaurer votre appareil à son état de fonctionnement (D0).

Le propriétaire de la stratégie d’alimentation est également responsable de l’activation et de la désactivation des fonctionnalités d’appareil suivantes :

  • La capacité de votre appareil à entrer un état de faible consommation d’alimentation (mise en veille) lorsqu’il est inactif et que le système reste dans son état de fonctionnement (S0)

  • La capacité de votre appareil à se réveiller d’un état de veille lorsqu’il détecte un événement externe

  • La capacité de votre appareil à réveiller l’ensemble du système à partir d’un état de mise en veille du système lorsqu’il détecte un événement externe

Si votre appareil prend en charge ces fonctionnalités d’arrêt inactif et de mise en éveil du système, le propriétaire de la stratégie d’alimentation peut également appeler WdfDeviceInitSetPowerPolicyEventCallbacks pour inscrire un ensemble de fonctions de rappel d’événements de stratégie d’alimentation.

Par défaut, pour les pilotes basés sur l’infrastructure, le pilote de fonction de l’appareil est le propriétaire de la stratégie d’alimentation. (S’il n’existe aucun pilote de fonction et que le pilote de bus a appelé WdfPdoInitAssignRawDevice, le pilote de bus est le propriétaire de la stratégie d’alimentation). Si vous souhaitez modifier le propriétaire de la stratégie d’alimentation pour une pile de pilotes, le propriétaire de la stratégie d’alimentation par défaut doit appeler WdfDeviceInitSetPowerPolicyOwnership pour désactiver la propriété, et le pilote qui sera le propriétaire de la stratégie d’alimentation doit appeler WdfDeviceInitSetPowerPolicyOwnership pour activer la propriété.

L’infrastructure effectue les opérations suivantes pour le propriétaire de la stratégie d’alimentation :

  • Il gère toutes les communications de stratégie d’alimentation entre votre pilote et le reste de la pile de pilotes. Par exemple, votre pilote n’a pas besoin de demander au pilote de bus de modifier l’état d’alimentation de l’appareil, car l’infrastructure effectue la demande.

  • Si votre pilote enregistre des fonctions de rappel d’événements de stratégie d’alimentation, l’infrastructure les appelle lorsqu’il est temps d’activer ou de désactiver la capacité de l’appareil à se réveiller d’un état de faible consommation.

  • Si votre pilote permet aux utilisateurs de modifier les paramètres d’inactivité et de veille, l’infrastructure fournit une interface utilisateur sous la forme d’une page de feuille de propriétés qui Gestionnaire de périphériques s’affiche.

Pour plus d’informations sur les responsabilités du propriétaire de la stratégie d’alimentation, consultez les rubriques suivantes :