Control de IRP_MN_SET_POWER para estados de energía del sistema
El administrador de energía envía un IRP de energía que especifica el código secundario IRP_MN_SET_POWER y un estado de alimentación del sistema por uno de los siguientes motivos:
Para cambiar el estado de alimentación del sistema.
Para reafirmar el estado de energía actual después de una solicitud de IRP_MN_QUERY_POWER errónea.
A través del administrador de E/S, el administrador de energía envía el IRP al controlador superior de la pila de dispositivos en cada nodo de dispositivo PnP. El IRP notifica a todos los controladores de la pila del estado correcto de alimentación del sistema.
Para garantizar un inicio ordenado, el administrador de energía secuencia los IRP de encendido del sistema para que los dispositivos primarios tengan la oportunidad de encenderse antes de que sus hijos lo hagan. El administrador de energía no consulta antes de enviar un IRP de alimentación del sistema.
De forma similar, para asegurarse de que el equipo se suspende o se apaga de forma ordenada, el administrador de energía envía IRP del sistema que especifican suspensión, hibernación o apagado en una secuencia definida, de modo que los dispositivos más alejados de la raíz se apaguen antes de que los dispositivos cerca de la raíz se acerquen a la raíz. Siempre que sea posible, el administrador de energía consulta antes de enviar este tipo de IRP. Para obtener más información, consulte Control de IRP_MN_QUERY_POWER para estados de energía del sistema.
El IRP de alimentación del sistema no es una solicitud directa para cambiar el estado de energía, es una notificación. Un controlador no debe cambiar el estado de alimentación de su dispositivo como una respuesta directa al IRP de alimentación del sistema ; Un controlador cambia el estado de alimentación de su dispositivo solo en respuesta a un IRP de alimentación del dispositivo . (El propietario de la directiva de energía del dispositivo envía el IRP de energía del dispositivo; consulte Control de un IRP del sistema Set-Power IRP en un propietario de la directiva de energía del dispositivo).
Incluso si el dispositivo ya está en un estado de alimentación del dispositivo que es válido para el estado de alimentación del sistema solicitado, cada controlador debe pasar el IRP de energía establecida por el sistema al controlador inferior siguiente, hasta que llegue al controlador del autobús. Solo se permite que el conductor del autobús complete este IRP.
El modo en que un controlador controla este IRP depende de su rol en la pila de dispositivos, como se describe en las secciones siguientes:
Controlar un IRP del sistema Set-Power en un propietario de la directiva de energía de dispositivo
Control de un IRP del sistema Set-Power en un controlador de bus
Control de un IRP de System Set-Power en un controlador de filtro
Un controlador no puede producir un error en una solicitud de IRP_MN_SET_POWER para establecer el estado de alimentación del sistema. El administrador de energía omite cualquier estado de error devuelto para este IRP.