Envío de un IRP de espera o reactivación

El código IRP de alimentación secundaria IRP_MN_WAIT_WAKE proporciona para despertar un dispositivo o despertar el sistema. Los controladores de los dispositivos que se pueden reactivar o el sistema envían solicitudes IRP_MN_WAIT_WAKE . El sistema envía IRP_MN_WAIT_WAKE solicitudes solo a los dispositivos que siempre activan el sistema, como el conmutador de encendido.

Un controlador envía una solicitud de IRP_MN_WAIT_WAKE por una de estas dos razones:

  1. Su dispositivo debe poder volver al estado de trabajo desde un estado de suspensión en respuesta a una señal de reactivación externa.

    Por ejemplo, el controlador de un módem podría enviarlo un IRP de espera/reactivación antes de establecerlo en estado de energía D1 para ahorrar energía. El IRP de espera/reactivación permite al módem responder a una llamada entrante.

  2. Su dispositivo debe poder reactivar el sistema en respuesta a una señal de reactivación.

    Cuando el sistema entra en suspensión, el módem puede permanecer en estado D1 con un IRP_MN_WAIT_WAKE pendiente. En este caso, una llamada entrante reactivaría el sistema, así como el módem.

Tanto si un dispositivo está preparado para reactivarse como para el sistema, las acciones que deben realizar sus controladores son las mismas. La principal diferencia radica en cómo responde el dispositivo y el hardware del sistema a la señal de reactivación inicial. El comportamiento del controlador es el mismo en cualquier caso.