システム電源管理イベント
システム電源管理イベントは、システム電源の状態、デバイスまたはシステムの動作モード、または電源設定の値の変更です。 これらのイベントは、アプリケーションとインストール可能なドライバーの操作に影響を与える可能性があるため、システムはイベントごとに通知をブロードキャストすることによって、すべてのアプリケーションとインストール可能なドライバーに通知します。 アプリケーションとサービスは、RegisterPowerSettingNotification 関数を使用して通知に登録します。 通知は、電源管理イベントと関連するイベント固有のデータを含む WM_POWERBROADCAST メッセージを介して受信されます。
システム電源ステータス イベント
システムの電源状態イベント は、電源またはシステムのバッテリの状態に変化がある場合に発生します。 たとえば、システムは、ユーザーがバッテリから AC 電源に切り替わるたびに、またはその逆の場合に、PBT_APMPOWERSTATUSCHANGE イベントをブロードキャストします。 システムは、バッテリ残量がユーザーが指定したしきい値を下回った場合、またはバッテリの電力が指定された割合で変化した場合にも、このイベントをブロードキャストします。
操作モード イベント
操作モード イベント は、非アクティブ状態によるシステムのスリープ状態への切り替えや、ユーザーがシステムを手動でスリープ状態にするなど、電力消費量が変化した場合に発生します。 システムは、電力消費量の変更が行われる前に、これらの変更に関するイベントをブロードキャストします。 たとえば、システムがアイドル状態であると判断した場合は、電源を節約するために操作とスリープを中断しようとしていることをアプリケーションとドライバーに通知する PBT_APMSUSPEND イベントをブロードキャストします。 アプリケーションとドライバーは、ファイルを閉じ、データを保存してデータ損失の可能性を回避することで、スリープ状態に備えることができます。
システムが重大な中断 を行うと、システムは重大な電池警報のような重大な状態が原因ですぐにスリープ状態になる。 通常のスリープ遷移とは対照的に、システムは重大な中断を実行する前にアプリケーションとドライバーに通知しません。 そのため、重要な中断を処理するアプリケーションを準備する必要があります。
一時停止後にシステム操作が復元されると、システムはすべてのアプリケーションとドライバーに通知します。 また、アプリケーションまたはドライバーがデータを復元して操作を続行するための適切な手順を実行できるように、システムが重大な中断から再開されているかどうかを示します。
アプリケーションは、ユーザーが応答できない可能性があるため、ユーザーの介入なしにスリープ状態への移行を処理するすべての試行を行う必要があります。 たとえば、ノートブック コンピューターの蓋が閉じている可能性があります。 アプリケーションは、システムがスリープ状態に入りようとしていることを示す通知を受け取ると、必要な操作をすばやく実行し、メッセージ ループから戻る必要があります。 システムは、タイムアウト前にこのメッセージを処理するときに、アプリケーションごとに最大 2 秒を許可します。
電源設定の変更イベント
電源設定の変更イベントは、電源設定の値が変更されたときに発生します。 たとえば、ユーザーはコントロール パネルの電源オプション アプリケーションで電源プランを高パフォーマンスからバランスに変更します。 この場合、システムは電源プランが変更されたことを示すイベントをブロードキャストします。 このイベントには、電源設定の新しい値が含まれます。
関連トピック
-
電源管理 について