PBT_APMQUERYSUSPEND イベント
PBT_APMQUERYSUSPEND は、「要件」セクションで指定されているオペレーティング システムで使用できます。 このイベントのサポートは Windows Vista では削除されました。 代わりに SetThreadExecutionState を使ってください。]
コンピューターを中断する許可を要求します。 許可を与えるアプリケーションは、戻る前に中断の準備を行う必要があります。
ウィンドウは、WM_POWERBROADCAST メッセージを介してこのイベントを受信します。 wParam パラメーターと lParam パラメーターは次のように設定されます。
LRESULT
CALLBACK
WindowProc( HWND hwnd, // handle to window
UINT uMsg, // WM_POWERBROADCAST
WPARAM wParam, // PBT_APMQUERYSUSPEND
LPARAM lParam); // action flags
パラメーター
hwnd
ウィンドウのハンドル。
uMsg
Value | 意味 |
---|---|
|
メッセージの識別子。 |
wParam
Value | 意味 |
---|---|
|
イベント識別子。 |
lParam
アクション フラグ。 ビット 0 が 1 の場合、アプリケーションは中断の準備方法についての指示をユーザーに求めることができます。それ以外の場合、アプリケーションはユーザーの操作なしで準備する必要があります。 他のすべてのビット値は予約されています。
戻り値
中断の要求を許可するには、TRUE を返します。 要求を拒否するには、BROADCAST_QUERY_DENY を返します。
解説
アプリケーションはこのイベントをできるだけ早く処理する必要があります。 アプリケーションは、Flags パラメーターのビット 0 が設定されている場合にのみ、中断の準備方法についての指示をユーザーに求めることができます。 ただし、ユーザーがノート PC の蓋を閉じているためにこのメッセージが発行された場合、ユーザーにメッセージを表示することはできません。 アプリケーションは、ユーザーがノート PC の蓋を閉じるか電源ボタンを押すときに想定される特定の動作を考慮し、移行を成功させる必要があります。
システムでは、アプリケーションが PBT_APMQUERYSUSPEND イベントを送信している WM_POWERBROADCAST メッセージをアプリケーションのメッセージ キューから削除するまでに約 20 秒の猶予を与えます。 アプリケーションが 20 秒以内にキューからメッセージを削除しない場合、システムはアプリケーションが非応答状態にあり、アプリケーションがスリープ要求に同意したと見なします。 メッセージ キューを処理しないアプリケーションでは、操作が中断される可能性があります。 メッセージ キューからメッセージを削除した後、アプリケーションはスリープ状態に入る前に、必要な操作を実行するために必要なだけ時間をかけることができます。 システムでは、PBT_APMSUSPEND の処理中に操作の完了に 20 秒しか許容されていないため、20 秒以上かかる可能性のある操作はこの時点で実行する必要があります。
要件
要件 | Value |
---|---|
サポートされている最小のクライアント |
Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー |
Windows Server 2003 (デスクトップ アプリのみ) |
クライアント サポートの終了 |
Windows XP |
サーバー サポートの終了 |
Windows Server 2003 |
ヘッダー |
|