Envoi d’un IRP d’attente/veille
Le code IRP d’alimentation secondaire IRP_MN_WAIT_WAKE fournit pour réveiller un appareil ou réveiller le système. Les pilotes d’appareils qui peuvent se réveiller eux-mêmes ou le système envoient IRP_MN_WAIT_WAKE demandes. Le système envoie IRP_MN_WAIT_WAKE requêtes uniquement aux appareils qui réveillent toujours le système, comme le commutateur de mise sous tension.
Un pilote envoie une demande de IRP_MN_WAIT_WAKE pour l’une des deux raisons suivantes :
Son appareil doit être en mesure de revenir à l’état de fonctionnement à partir d’un état de veille en réponse à un signal de veille externe.
Par exemple, le pilote d’un modem peut lui envoyer un IRP d’attente/veille avant de le définir à l’état d’alimentation D1 pour économiser l’énergie. L’IRP d’attente/veille permet au modem de répondre à un appel entrant.
Son appareil doit être en mesure de réveiller le système en réponse à un signal de mise en éveil.
Lorsque le système est en veille, le modem peut rester à l’état D1 avec un IRP_MN_WAIT_WAKE en attente. Dans ce cas, un appel entrant réveille le système ainsi que le modem.
Qu’un appareil soit prêt à se réveiller lui-même ou le système, les actions que ses pilotes doivent effectuer sont les mêmes. La principale différence réside dans la façon dont l’appareil et le matériel système répondent au signal de mise en éveil initial. Le comportement du pilote est le même dans les deux cas.