SystemWake
El miembro SystemWake de DEVICE_CAPABILITIES contiene el estado de alimentación del sistema más bajo (menos alimentado) desde el que el dispositivo puede reactivar el sistema o PowerSystemUnspecified si el dispositivo no puede reactivar el sistema.
El controlador de bus establece este valor en cuando enumera el dispositivo. Un controlador de nivel superior puede cambiar el valor a un estado de mayor potencia, pero no puede cambiarlo a un estado de menor potencia. Por ejemplo, si el controlador de bus establece SystemWake en S3, pero un controlador más arriba en la pila de dispositivos admite reactivación solo desde S2, el controlador de nivel superior puede cambiar el valor a S2. Si un controlador cambia SystemWake, es posible que también tenga que cambiar DeviceWake, como se explica en la sección siguiente.
Los controladores rara vez necesitan propagar los valores modificados hacia atrás en la pila del dispositivo. Dado que los cambios hacen que las funcionalidades del dispositivo sean más restrictivas, los controladores más bajos no ven las solicitudes que no pueden controlar. En el ejemplo anterior, un controlador de nivel superior produce un error en cualquier solicitud para reactivar el sistema desde un estado de menor potencia que S2, por lo que los controladores más bajos nunca ven dicha solicitud. Sin embargo, si un controlador inferior debe tener en cuenta los cambios, puede enviar un IRP_MN_QUERY_CAPABILITIES PnP a su propia pila de dispositivos durante el procesamiento de una IRP_MN_START_DEVICE.
Si los miembros SystemWake y DeviceWake no son cero (es decir, no PowerSystemUnspecified), el dispositivo y sus controladores admiten la reactivación en este sistema.
En el hardware que no es ACPI, este miembro siempre contiene cero (PowerSystemUnspecified).