Invio di un'IRP di attesa/riattivazione
Il codice IRP di alimentazione secondaria IRP_MN_WAIT_WAKE fornisce per svegliare un dispositivo o svegliare il sistema. Driver di dispositivi che possono riattivarsi o inviare richieste di IRP_MN_WAIT_WAKE di sistema. Il sistema invia IRP_MN_WAIT_WAKE richieste solo ai dispositivi che riattivano sempre il sistema, ad esempio l'interruttore di alimentazione.
Un driver invia una richiesta di IRP_MN_WAIT_WAKE per uno dei due motivi seguenti:
Il suo dispositivo deve essere in grado di tornare allo stato di lavoro da uno stato di sospensione in risposta a un segnale di riattivazione esterno.
Ad esempio, il driver di un modem potrebbe inviarlo un'IRP di attesa/riattivazione prima di impostarlo nello stato di alimentazione D1 per risparmiare energia. L'IRP di attesa/riattivazione consente al modem di rispondere a una chiamata in ingresso.
Il suo dispositivo deve essere in grado di riattivare il sistema in risposta a un segnale di riattivazione.
Quando il sistema passa al sonno, il modem potrebbe rimanere in stato D1 con un IRP_MN_WAIT_WAKE in sospeso. In questo caso, una chiamata in ingresso riattiva il sistema e il modem.
Se un dispositivo è preparato per riattivarsi o il sistema, le azioni che i relativi driver devono eseguire sono uguali. La differenza primaria consiste nel modo in cui il dispositivo e l'hardware di sistema rispondono al segnale iniziale di riattivazione. Il comportamento del driver è lo stesso in entrambi i casi.