SetSystemPowerState 함수(winbase.h)
[SetSystemPowerState 는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. Windows Vista 이상용으로 작성된 애플리케이션은 SetSuspendState 를 대신 사용해야 합니다.]
전원을 종료하여 시스템을 일시 중단합니다. ForceFlag 매개 변수에 따라 함수는 작업을 즉시 일시 중단하거나 작업을 수행하기 전에 모든 애플리케이션 및 디바이스 드라이버에서 권한을 요청합니다.
구문
BOOL SetSystemPowerState(
[in] BOOL fSuspend,
[in] BOOL fForce
);
매개 변수
[in] fSuspend
이 매개 변수가 TRUE이면 시스템이 일시 중단됩니다. 매개 변수가 FALSE이면 시스템이 최대 절전 모드로 전환됩니다.
[in] fForce
이 매개 변수는 아무런 영향을 주지 않습니다.
반환 값
전원이 일시 중단되고 이후에 복원된 경우 반환 값은 0이 아닌 값입니다.
시스템이 일시 중단되지 않은 경우 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
호출 프로세스에는 SE_SHUTDOWN_NAME 권한이 있어야 합니다. SE_SHUTDOWN_NAME 권한을 사용하도록 설정하려면 AdjustTokenPrivileges 함수를 사용합니다. 자세한 내용은 토큰의 권한 변경을 참조하세요.
애플리케이션 또는 드라이버가 작업 일시 중단 권한을 거부하는 경우 함수는 각 애플리케이션 및 드라이버에 PBT_APMQUERYSUSPENDFAILED 이벤트를 브로드캐스트합니다. 전원이 일시 중단된 경우 이 함수는 시스템 작업이 재개되고 관련 WM_POWERBROADCAST 메시지가 모든 애플리케이션 및 드라이버에 브로드캐스트된 후에만 반환됩니다.
이 함수는 SetSuspendState 함수와 비슷합니다.
이 함수를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 매크로를 0x0400 이상으로 정의합니다. 자세한 내용은 Windows 헤더 사용을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winbase.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |