Acciones de energía del sistema

Cuando el administrador de energía envía un IRP para establecer o consultar el estado de energía del sistema, especifica un estado de alimentación del sistema junto con un parámetro adicional que proporciona información sobre el cambio de estado de energía. Este parámetro, pasado en Irp-Parameters.Power.ShutdownType>, es un enumerador del tipo POWER_ACTION. El enumerador caracteriza la solicitud de estado de alimentación del sistema, como se muestra en la tabla siguiente.

enumerador de POWER_ACTION Estado de alimentación del sistema solicitado

PowerActionNone

S0 o ningún IRP de alimentación del sistema activo

PowerActionSleep

S1, S2 o S3

PowerActionHibernate

S4

PowerActionShutdown (solo sistemas de Microsoft Windows 2000 y versiones posteriores)

S5

PowerActionShutdownReset

S5

PowerActionShutdownOff

S5

Cuando un controlador recibe una consulta del sistema o irP de set-power para S5, puede comprobar ShutdownType Para obtener más información sobre el apagado solicitado. Un controlador puede usar esta información para optimizar su secuencia de apagado cuando la máquina se restablece en lugar de apagar la energía indefinidamente. Los controladores de la mayoría de los dispositivos conservan la energía cuando el sistema se restablece. Sin embargo, para determinados dispositivos, como un dispositivo de streaming de vídeo que realiza el acceso directo a la memoria (DMA), un controlador podría optar por apagar su dispositivo cuando el sistema se restablece, lo que detiene cualquier E/S en curso.

Cuando un propietario de la directiva de energía del dispositivo envía un IRP de energía del dispositivo a su pila de dispositivos en respuesta a un IRP de alimentación del sistema, los controladores pueden usar el parámetro ShutdownType para obtener información sobre el IRP de energía del sistema actual. En este caso, el valor de ShutdownType indica el estado de energía del sistema solicitado actualmente, o es PowerActionNone si una solicitud del sistema no está pendiente. Sin embargo, los controladores no deben confiar en esta información si el IRP del dispositivo solicita el estado D0.

En Windows 98/Me, este miembro siempre contiene PowerActionNone cuando irP solicita un estado de alimentación del dispositivo.