|
TNB Library
|
シャットダウン [詳解]
#include <TnbWindows.h>
静的公開メンバ関数 | |
| static bool | AbortShutdown (LPCTSTR lpMachineName) |
| [実行] シャットダウン中止. [詳解] | |
| static bool | GetStatus (LPSYSTEM_POWER_STATUS _lpSystemPowerStatus) |
| [取得] システム電源状態取得 [詳解] | |
| static bool | SetShutdownNotifyLevel (WORD level) |
| [設定] シャットダウンパラメータ設定 [詳解] | |
| static bool | Shutdown (bool bForceAppsClosed=false, bool bRebootAfterShutdown=true) |
| [実行] シャットダウン [詳解] | |
| static bool | Shutdown95 (UINT uFlags=EWX_POWEROFF) |
| [実行] シャットダウン [詳解] | |
| static bool | ShutdownNt (LPCTSTR lpMachineName, LPCTSTR lpMessage, DWORD dwTimeout, bool bForceAppsClosed=false, bool bRebootAfterShutdown=true) |
| [実行] シャットダウン [詳解] | |
| static bool | Suspend (bool fSuspend=true, bool fForce=false) |
| [実行] サスペンド [詳解] | |
シャットダウン
実行すると、ウィンドウを持つアプリに、 WM_QUERYENDSESSION, 0, 0 を通知(SendMessage)します。
アプリは、このメッセージにより、終了しても良い状態にします。もし、終了したくない場合、
このメッセージの応答で FALSE を返します。
続いて WM_ENDSESSION が通知されます。 wParam が FALSE なら、誰かがシャットダウンを拒否したため、
シャットダウンはキャンセルされたことを意味します。
lParam が TURE ならログオフしようとしている時、FALSEならシャットダウンしようとしている時を意味します。
|
実行すると、ウィンドウを持つアプリに、 WM_POWERBROADCAST, wParam, 0 を通知(SendMessage)します。
wParam は、以下のようになっています。
・PBT_APMQUERYSUSPEND ;
サスペンド問合せ。応答で、 BROADCAST_QUERY_DENY を返すことで、
サスペンドを拒否できます。全アプリが TRUEを返すとサスペンド処理に入ります。 |
TnbWindows.h の 106 行目に定義があります。
|
static |
[実行] シャットダウン中止.
Exec() で開始したシャットダウンを停止できます。ただし、表示時間(秒)以内に本メソッドを 実行する必要があります。
| lpMachineName | シャットダウン中止するコンピュータ名。NULLならLOCALが対象。 |
| true | 成功。シャットダウンはキャンセル。 |
| false | 失敗。 |
TnbWindows.h の 249 行目に定義があります。
|
static |
|
static |
[設定] シャットダウンパラメータ設定
| level | レベル。 0x000〜0x4FF を指定可能。 0x000〜0x0FF 最後の方でシャットダウンするシステムの構成要素用 0x100〜0x1FF 最後の方でシャットダウンするアプリケーション用 0x200〜0x2FF “中間”でシャットダウンするアプリケーション用 0x300〜0x3FF 最初の方でシャットダウンするアプリケーション用 0x400〜0x4FF 最初の方でシャットダウンするシステムの構成要素用 |
| true | 成功。 |
| false | 失敗。拡張エラー情報を取得するには、 GetLastError() を使います。 |
TnbWindows.h の 302 行目に定義があります。
|
static |
[実行] シャットダウン
| bForceAppsClosed | 強制終了オプション。 TRUE を指定すると、強制的に終了させます。 FALSE を指定すると、アプリケーションを終了するようユーザーに指示する ダイアログボックスが表示されます。 |
| bRebootAfterShutdown | 再起動オプション。 TRUE を指定すると、コンピュータは再起動します。 FALSE を指定すると、コンピュータは、電源を切っても安全な状態になったことを示す メッセージを表示します。 |
| true | 成功。シャットダウン開始。 |
| false | 失敗。 |
TnbWindows.h の 217 行目に定義があります。
|
static |
[実行] シャットダウン
| uFlags | シャットダウンフラグ。省略すると EWX_POWEROFF。 EWX_LOGOFF - 呼び出し側のプロセスのセキュリティコンテキストで実行されているすべてのプロセスを終了し、現在のユーザーをログオフさせます。 EWX_POWEROFF - システムをシャットダウンした後、電源を切ります。システムは、パワーオフ機能をサポートしていなければなりません。 EWX_REBOOT - システムをシャットダウンした後、システムを再起動します。 EWX_SHUTDOWN - システムをシャットダウンして、電源を切っても安全な状態にします。すべてのバッファをディスクへフラッシュし(バッファの内容をディスクに書き込み)、動作していたすべてのプロセスを停止します。 上記シンボルに加えて or で以下のシンボルも指定できます。 EWX_FORCE - プロセスを強制的に終了させます。このフラグを指定すると、システムは、現在実行されているアプリケーションへ WM_QUERYENDSESSION メッセージや WM_ENDSESSION メッセージを送信しません。この結果、アプリケーションがデータを失う可能性もあります。したがって、このフラグは、緊急時にのみ指定してください。 EWX_FORCEIFHUNG - プロセスが WM_QUERYENDSESSION または WM_ENDSESSION メッセージに応答しない場合、それらのプロセスを終了させます。EWX_FORCE フラグを指定すると、EWX_FORCEIFHUNG フラグは無視されます。 (Windows 2000以上のみ有効) |
| true | 成功。 |
| false | 失敗。 |
TnbWindows.h の 166 行目に定義があります。
|
static |
[実行] シャットダウン
| lpMachineName | コンピュータ名。NULLならLOCALが対象。 |
| lpMessage | 表示するべきメッセージ。NULLなら表示しません。 |
| dwTimeout | 表示時間(秒)。 |
| bForceAppsClosed | 強制終了オプション。 TRUE を指定すると、強制的に終了させます。 FALSE を指定すると、アプリケーションを終了するようユーザーに指示する ダイアログボックスが表示されます。 |
| bRebootAfterShutdown | 再起動オプション。 TRUE を指定すると、コンピュータは再起動します。 FALSE を指定すると、コンピュータは、電源を切っても安全な状態になったことを示す メッセージを表示します。 |
| true | 成功。シャットダウン開始。 |
| false | 失敗。 |
TnbWindows.h の 192 行目に定義があります。
|
static |
[実行] サスペンド
| fSuspend | true を指定すると サスペンド、false を指定すると、システムが休止状態に入ります。 |
| fForce | true を指定すると、関数は各アプリケーションやドライバに PBT_APMSUSPEND イベントをブロードキャストした後、直ちに操作を中断します。 false を指定すると、関数は各アプリケーションに PBT_APMQUERYSUSPEND イベントをブロードキャストし、操作を中断するためのアクセス権を要求します。 |
| true | 成功。(サスペンドしてレジュームしたことを表す) 。 |
| false | 失敗。 |
TnbWindows.h の 268 行目に定義があります。