SetSystemPowerState

https://msdn.microsoft.com/ja-jp/library/cc401938.aspx https://msdn.microsoft.com/ja-jp/library/aa379306.aspx https://msdn.microsoft.com/ja-jp/library/aa372721.aspx https://msdn.microsoft.com/ja-jp/library/aa372716.aspx https://msdn.microsoft.com/ja-jp/library/cc428944.aspx

電源をシャットダウンしてシステムを中断します。この関数は、ForceFlag パラメータの値によって、すぐに操作を中断することもあれば、すべてのアプリケーションやデバイスドライバにアクセス権を要求してから中断することもあります。
呼び出し側プロセスには SE_SHUTDOWN_NAME 特権が必要です。SE_SHUTDOWN_NAME 特権を有効にするには、 関数を呼び出します。詳細については、「」を参照してください。

BOOL SetSystemPowerState(
  BOOL fSuspend, 
  BOOL fForce    
);

パラメータ

fSuspend
Windows NT/2000: システムの状態を指定します。TRUE を指定すると、システムが中断します。FALSE を指定すると、システムが休止状態に入ります。

Windows 95/98: このパラメータは使いません。

fForce
強制的に中断します。TRUE を指定すると、関数は各アプリケーションやドライバに イベントをブロードキャストした後、直ちに操作を中断します。FALSE を指定すると、関数は各アプリケーションに イベントをブロードキャストし、操作を中断するためのアクセス権を要求します。

戻り値

電源が中断された後、回復していると、0 以外の値が返ります。
電源が中断されていないと、0 が返ります。拡張エラー情報を取得するには、 関数を使います。

解説

操作を中断するためのアクセスを拒否したアプリケーションやドライバがあると、この関数は各アプリケーションやドライバに PBT_APMQUERYSUSPENDFAILED イベントをブロードキャストします。電源が中断されると、システムの操作が再開されて関連付けられた WM_POWERBROADCAST メッセージがすべてのアプリケーションやドライバにブロードキャストされた後で、この関数に制御が戻ります。

対応情報

Windows NT/2000:Windows 2000 を使います。
Windows 95/98:Windows 95 以降を使います。
Windows CE:対応していません。
ヘッダー:winbase.h で宣言されています。
インポートライブラリ:kernel32.lib を使います。

表示: