В Windows 7 появились «Запросы доступности питания». Эта функция позволяет приложениям уведомлять ОС о том, что им требуется дисплей или вся система, и поэтому управление питанием должно быть временно запрещено. Функция задокументирована здесь:
Функция запросов доступности использует объектную модель и предоставляет функции PowerCreateRequest(), PowerSetRequest() и PowerClearRequest() для создания запросов, их активации и окончательного удаления. Эта функциональность очень похожа на более старый API SetThreadExecutionState(), доступный в Windows 2000, но позволяет создавать несколько запросов для каждого потока и улучшает потенциальную диагностику, требуя, чтобы каждый запрос имел строку причины.
Утилита POWERCFG.EXE, поставляемая ОС, может перечислить текущие невыполненные запросы с помощью команды:
POWERCFG - ЗАПРОСЫ
Microsoft не документирует, как перечислять запросы с помощью Windows API.
Функция CallNtPowerInformation() в SDK была обновлена для поддержки нового информационного уровня под названием «GetPowerRequestList». Это очень похоже на то, что это может быть необходимый API, но это не задокументировано.
Пожалуйста, кто-нибудь знает, как вызвать CallNtPowerInformation(GetPowerRequestList..)?
Джим
GetPowerRequestList
не задокументирован. Почему вы предполагаете, что это так? - person IInspectable   schedule 12.06.2018