다음을 통해 공유


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

참고 항목

PBT_APMQUERYSUSPEND

PBT_APMQUERYSUSPENDFAILED

PBT_APMSUSPEND

전원 관리 함수

SetSuspendState

WM_POWERBROADCAST