Поделиться через


Функция PowerSetRequest (winbase.h)

Увеличивает количество запросов на питание указанного типа для объекта запроса на питание.

Синтаксис

BOOL PowerSetRequest(
  [in] HANDLE             PowerRequest,
  [in] POWER_REQUEST_TYPE RequestType
);

Параметры

[in] PowerRequest

Дескриптор объекта запроса питания.

[in] RequestType

Тип запроса на питание, который необходимо увеличить. Этот параметр может принимать одно из указанных ниже значений.

Значение Описание
PowerRequestDisplayRequired Дисплей остается в состоянии, даже если пользователь не вводит данные в течение длительного периода времени.

Примечание: В дополнение к PowerRequestDisplayRequired необходимо использовать параметр PowerRequestSystemRequired, чтобы экран оставался включен и система не входила в спящий режим на протяжении всего запроса.
PowerRequestSystemRequired Система продолжает работать, а не входить в спящий режим после периода бездействия пользователя.
PowerRequestAwayModeRequired Система переходит в режим "вне", а не в спящий режим в ответ на явное действие пользователя. В автономном режиме система продолжает работать, но отключает звук и видео, чтобы придать вид спящего режима. PowerRequestAwayModeRequired применяется только в традиционных системах спящего режима (S3).
PowerRequestExecutionRequired Вызывающий процесс продолжает выполняться, а не приостанавливается или прерывается механизмами управления жизненным циклом процессов. Время и время выполнения процесса зависит от параметров операционной системы и политики управления питанием.

В традиционных спяших системах (S3) активный запрос PowerRequestExecutionRequired подразумевает powerRequestSystemRequired.

Возвращаемое значение

Если функция выполняется успешно, она возвращает ненулевое значение.

Если функция завершается сбоем, она возвращает ноль. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

В современных резервных системах с питанием постоянного тока необходимые запросы на питание системы и выполнения прерываются через 5 минут после истечения времени ожидания системы в спящем режиме.

За исключением PowerRequestAwayModeRequired в системах традиционного сна (S3), запросы на питание завершаются после инициированного пользователем входа в спящий режим (кнопка питания, закрытие крышки или выбор спящего режима в меню "Пуск ").

Чтобы сэкономить энергию и обеспечить наилучшее взаимодействие с пользователем, приложения, использующие запросы на питание, должны следовать следующим рекомендациям:

  • При создании запроса power укажите локализованную текстовую строку, которая описывает причину запроса в структуре REASON_CONTEXT .
  • Вызовите PowerSetRequest непосредственно перед сценарием, требующим запроса.
  • Вызовите PowerClearRequest для уменьшения количества ссылок для запроса сразу после завершения сценария.
  • Очистка всех объектов запросов и связанных дескрипторов перед завершением процесса или остановкой службы.

Требования

   
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header winbase.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

PowerClearRequest

PowerCreateRequest