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

[SetSystemPowerState доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Приложения, написанные для Windows Vista и более поздних версий, должны использовать SetSuspendState .]

Приостанавливает работу системы, отключая питание. В зависимости от параметра ForceFlag функция немедленно приостанавливает операцию или запрашивает разрешение у всех приложений и драйверов устройств перед этим.

Синтаксис

BOOL SetSystemPowerState(
  [in] BOOL fSuspend,
  [in] BOOL fForce
);

Параметры

[in] fSuspend

Если этот параметр имеет значение TRUE, система приостанавливается. Если параметр имеет значение FALSE, система перейдет в режим гибернации.

[in] fForce

Данный параметр не оказывает влияния.

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

Если питание было приостановлено и впоследствии восстановлено, возвращаемое значение не равно нулю.

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

Комментарии

Вызывающий процесс должен иметь привилегию SE_SHUTDOWN_NAME . Чтобы включить привилегию SE_SHUTDOWN_NAME , используйте функцию AdjustTokenPrivileges . Дополнительные сведения см. в разделе Изменение привилегий в токене.

Если какое-либо приложение или драйвер отклоняет разрешение на приостановку операции, функция передает событие PBT_APMQUERYSUSPENDFAILED каждому приложению и драйверу. Если питание приостановлено, эта функция возвращается только после возобновления работы системы и передачи связанных WM_POWERBROADCAST сообщений всем приложениям и драйверам.

Эта функция аналогична функции SetSuspendState .

Чтобы скомпилировать приложение, использующее эту функцию, определите макрос _WIN32_WINNT как 0x0400 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.

Требования

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

См. также

PBT_APMQUERYSUSPEND

PBT_APMQUERYSUSPENDFAILED

PBT_APMSUSPEND

Функции управления питанием

SetSuspendState

WM_POWERBROADCAST