SystemWake
Элемент SystemWakeDEVICE_CAPABILITIES содержит наименьшее (наименьшее) состояние питания системы, из которого устройство может разбудить систему, или PowerSystemUnspecified , если устройство не может разбудить систему.
Драйвер шины задает это значение при перечислении устройства. Драйвер более высокого уровня может изменить значение на состояние с более высоким энергопотреблением, но не может изменить его на состояние с более низким энергопотреблением. Например, если драйвер шины устанавливает для SystemWake значение S3, но драйвер дальше по стеку устройств поддерживает пробуждение только из S2, драйвер более высокого уровня может изменить значение на S2. Если драйвер изменяет SystemWake, ему также может потребоваться изменить DeviceWake, как описано в следующем разделе.
Драйверам редко требуется распространять измененные значения в стеке устройств. Так как изменения делают возможности устройств более строгими, более низкие драйверы не видят запросов, которые они не могут обработать. В предыдущем примере драйвер более высокого уровня не выполняет любой запрос на пробуждение системы из состояния с более низким энергопотреблением, чем S2, поэтому драйверы с низким уровнем производительности никогда не видят такой запрос. Однако если драйвер более низкого уровня должен знать о каких-либо изменениях, он может отправить IRP_MN_QUERY_CAPABILITIES PnP в собственный стек устройств во время обработки IRP_MN_START_DEVICE.
Если элементы SystemWake и DeviceWake являются ненулевыми (т. е. не powerSystemUnspecified), то устройство и его драйверы поддерживают пробуждение в этой системе.
На оборудовании, отличном от ACPI, этот элемент всегда содержит ноль (PowerSystemUnspecified).