Partager via


Gestion d’un IRP Query-Power système dans un pilote de bus

Lorsqu’une requête système d’alimentation atteint un pilote de bus (qui n’est pas le propriétaire de la stratégie d’alimentation d’un appareil), le pilote s’assure qu’il peut prendre en charge un état d’alimentation du périphérique qui correspond à l’état d’alimentation du système interrogé et, si le réveil est activé, que l’état d’alimentation du système interrogé n’empêchera pas son appareil de réveiller le système.

Dans Windows 7 et Windows Vista, le pilote de bus définit Irp-IoStatus.Status> sur STATUS_SUCCESS si le pilote peut passer à l’état d’alimentation spécifié ou définit une défaillance status si le pilote ne le peut pas.

Dans Windows Server 2003, Windows XP et Windows 2000, le pilote de bus appelle d’abord PoStartNextPowerIrp, puis définit Irp-IoStatus.Status> sur STATUS_SUCCESS si le pilote peut passer à l’état d’alimentation spécifié ou définit une défaillance status si le pilote ne peut pas le faire.

Une fois que le pilote de bus a terminé l’IRP, le gestionnaire d’alimentation appelle les routines IoCompletion définies par d’autres pilotes lorsqu’ils ont passé l’IRP dans la pile.