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 |
標頭 | winbase.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |