Prise en charge des états d’alimentation fonctionnels
À partir de Windows 8, le gestionnaire d’alimentation inclut l’infrastructure de gestion de l’alimentation au moment de l’exécution (PoFx). PoFx prend en charge la gestion de l’alimentation et de l’horloge au niveau du composant (ou du sous-appareil).
À compter de KMDF version 1.11, les pilotes KMDF peuvent tirer parti du contrôle d’alimentation affiné offert par PoFx. En particulier, un pilote KMDF peut définir plusieurs composants logiques au sein d’un même appareil, chacun pouvant être géré indépendamment de l’alimentation.
Par exemple, un pilote de fonction peut définir un ensemble unique d’états d’alimentation fonctionnelle pour chaque composant logique d’un appareil. À l’instar des états d’alimentation de l’appareil et du système, F0 indique que le composant est entièrement activé, tandis que les états facultatifs F1, F2, etc. indiquent des états d’alimentation progressivement inférieurs. Pour prendre en charge les états Fx, un pilote doit être le propriétaire de la stratégie d’alimentation de l’appareil.
Le tableau suivant récapitule la prise en charge du framework pour différents scénarios d’état d’alimentation fonctionnel.
Type | Prise en charge de KMDF | Prise en charge d’UMDF | Quand utiliser/comment implémenter |
---|---|---|---|
Prise en charge |
Prise en charge |
Lorsque vous souhaitez que le plug-in du moteur d’alimentation (PEP) détermine la valeur du délai d’inactivité, et que votre pilote n’a qu’un seul état F. Appelez WdfDeviceAssignS0IdleSettings avec IdleTimeoutType = SystemManagedIdleTimout ou SystemManagedIdleTimoutWithHint. |
|
Prise en charge |
Non prise en charge |
Lorsque votre pilote a plusieurs états F.
Dans ce cas, KMDF gère la plupart des interactions avec poFx. Pour obtenir un exemple de code, consultez Exemples de pilotes PoFx. |
|
Pris en charge à l’aide d’interfaces WDM |
Non prise en charge |
Lorsque votre pilote a plusieurs composants. Dans ce cas, vous devez utiliser directement les interfaces PoFx. Pour obtenir un exemple de code, consultez Exemples de pilotes PoFx. |
Étant donné que KMDF ajoute une abstraction minimale à PoFx, il est utile d’avoir une compréhension de base de PoFx avant d’écrire votre pilote. Par conséquent, nous vous recommandons de lire La vue d’ensemble de l’infrastructure de gestion de l’alimentation avant de lire ces rubriques.