Condividi tramite


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:

  1. 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.

  2. 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.