Gestion des IRP_MN_SET_POWER pour les états d’alimentation du système
Le gestionnaire d’alimentation envoie un IRP d’alimentation qui spécifie le code secondaire IRP_MN_SET_POWER et un état d’alimentation du système pour l’une des raisons suivantes :
Pour modifier l’état d’alimentation du système.
Pour réaffirmer l’état d’alimentation actuel après un échec IRP_MN_QUERY_POWER demande.
Via le gestionnaire d’E/S, le gestionnaire d’alimentation envoie l’IRP au pilote supérieur de la pile de périphériques à chaque nœud de périphérique PnP. L’IRP avertit tous les pilotes de la pile de l’état d’alimentation du système correct.
Pour garantir un démarrage ordonné, le gestionnaire d’alimentation séquence les irps de mise sous tension du système afin que les appareils parents aient la possibilité de mettre sous tension avant leurs enfants. Le gestionnaire d’alimentation n’interroge pas avant d’envoyer un IRP de mise sous tension du système.
De même, pour s’assurer que l’ordinateur est mis en veille ou s’arrête de manière ordonnée, le gestionnaire d’alimentation envoie des IRP système qui spécifient la mise en veille, la mise en veille prolongée ou l’arrêt dans une séquence définie, de sorte que les appareils plus éloignés de la racine s’arrêtent avant que les appareils se rapprochent de la racine. Dans la mesure du possible, le gestionnaire d’alimentation interroge avant d’envoyer un tel IRP. Pour plus d’informations, consultez Gestion des IRP_MN_QUERY_POWER pour les états d’alimentation du système.
L’IRP d’alimentation du système n’est pas une demande directe de modification de l’état d’alimentation , il s’agit d’une notification. Un pilote ne doit pas modifier l’état d’alimentation de son appareil en réponse directe à l’IRP d’alimentation du système ; un pilote modifie l’état d’alimentation de son appareil uniquement en réponse à un IRP d’alimentation de périphérique . (Le propriétaire de la stratégie d’alimentation de l’appareil envoie l’IRP d’alimentation de l’appareil ; consultez Gestion d’un Set-Power IRP système dans un propriétaire de stratégie d’alimentation d’appareil.)
Même si l’appareil est déjà dans un état d’alimentation du périphérique qui est valide pour l’état d’alimentation du système demandé, chaque pilote doit néanmoins passer l’IRP set-power du système au pilote inférieur suivant, jusqu’à ce qu’il atteigne le pilote de bus. Seul le pilote de bus est autorisé à effectuer cette IRP.
La façon dont un pilote gère cette IRP dépend de son rôle dans la pile de périphériques, comme décrit dans les sections suivantes :
Gestion d’un IRP Set-Power système dans un propriétaire de stratégie d’alimentation d’appareil
Gestion d’un IRP Set-Power système dans un pilote de bus
Gestion d’un IRP Set-Power système dans un pilote de filtre
Un pilote ne peut pas échouer à une demande de IRP_MN_SET_POWER pour définir l’état d’alimentation du système. Le gestionnaire d’alimentation ignore toute défaillance status retournée pour cette IRP.