<Return[S]><Top>

SetSystemPowerState

Declare Function Api_SetSystemPowerState& Lib "kernel32" Alias "SetSystemPowerState" (ByVal fSuspend&, ByVal fForce&)

Declare Function SetSystemPowerState Lib "kernel32" Alias "SetSystemPowerState" (ByVal fSuspend As Long, ByVal fForce As Long) As Long

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

パラメータ
fSuspend
    Windows NT/2000: システムの状態を指定する。TRUE を指定すると、システムが中断する。FALSE を指定すると、システムが休止状態

    に入る。
    Windows 95/98: このパラメータは使わない。
fForce
    強制的に中断する。TRUE を指定すると、関数は各アプリケーションやドライバに イベントをブロードキャストした後、直ちに操作を中断す

    る。FALSE を指定すると、関数は各アプリケーションに イベントをブロードキャストし、操作を中断するためのアクセス権を要求する。

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

解説
    操作を中断するためのアクセスを拒否したアプリケーションやドライバがあると、この関数は各アプリケーションやドライバに

    PBT_APMQUERYSUSPENDFAILED イベントをブロードキャストする。電源が中断されると、システムの操作が再開されて関連付けられ

    たWM_POWERBROADCAST メッセージがすべてのアプリケーションやドライバにブロードキャストされた後で、この関数に制御が戻る。