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 を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |