Windows использует технологию управления питанием для снижения энергопотребления для ПК в целом и для ноутбуков с батарейным питанием в частности. Например, компьютер Windows может быть переведен в состояние сна или гибернации.
Диспетчер режимов Windows Kernel Mode
Сложная система управления питанием для компьютерных устройств развилась так, что когда компьютер начинает отключать или переходит на более низкое энергопотребление, подключенные устройства также могут быть отключены надлежащим образом, чтобы данные не были потеряны.
Но эти устройства нуждаются в предупреждении о том, что состояние питания изменяется, и они также могут быть частью цикла связи, который сообщает управляющему устройству ждать, пока они не смогут нормально отключиться.
Диспетчер мощности в режиме ядра Windows управляет упорядоченным изменением состояния питания для всех устройств, которые поддерживают изменения состояния питания. Это часто делается через сложный стек устройств, управляющих другими устройствами. Каждое управляющее устройство называется узлом и должно иметь драйвер, который может обрабатывать передачу изменений состояния питания вверх и вниз по стеку устройств.
Если вы пишете драйвер, на который могут влиять изменения состояния питания, вы должны иметь возможность обрабатывать следующие типы информации в вашем коде драйвера:
- Уровень активности системы.
- Уровень заряда батареи.
- Текущие запросы на закрытие, спящий режим или спящий режим.
- Действия пользователя, такие как нажатие кнопки питания.
- Настройки панели управления, например, автоматическое выключение с 10-процентным зарядом аккумулятора.
Подробнее см. В MSDN.