PowerSetRequest 関数 (winbase.h)

電源要求オブジェクトの指定した型の電源要求の数をインクリメントします。

構文

BOOL PowerSetRequest(
  [in] HANDLE             PowerRequest,
  [in] POWER_REQUEST_TYPE RequestType
);

パラメーター

[in] PowerRequest

電源要求オブジェクトへのハンドル。

[in] RequestType

増分する電源要求の種類。 このパラメーターには、次の値のいずれかを指定できます。

説明
PowerRequestDisplayRequired 長期間ユーザー入力がない場合でも、表示はオンのままです。

メモ: PowerRequestSystemRequired、PowerRequestDisplayRequired に加えて実行して、ディスプレイがオンのままで、システムが要求の期間中スリープ状態に入らないようにする必要があります。
PowerRequestSystemRequired ユーザーが非アクティブな期間が経過しても、スリープ状態になる代わりに、システムは引き続き実行されます。
PowerRequestAwayModeRequired システムは、ユーザーによる明示的なアクションに応答してスリープ状態ではなく、退席モードに入ります。 退席モードでは、システムは引き続き実行されますが、オーディオとビデオをオフにしてスリープ状態になります。 PowerRequestAwayModeRequired は、従来のスリープ (S3) システムでのみ適用できます。
PowerRequestExecutionRequired 呼び出し元のプロセスは、プロセスの有効期間管理メカニズムによって中断または終了されるのではなく、引き続き実行されます。 プロセスの実行が許可されるタイミングと期間は、オペレーティング システムと電源ポリシーの設定によって異なります。

従来のスリープ (S3) システムでは、アクティブな PowerRequestExecutionRequired 要求は PowerRequestSystemRequired を意味します。

戻り値

関数が成功すると、0 以外の値が返されます。

関数が失敗すると、0 が返されます。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

DC 電源のモダン スタンバイ システムでは、システムと実行に必要な電源要求は、システム スリープ タイムアウトの有効期限が切れてから 5 分後に終了します。

従来のスリープ (S3) システムの PowerRequestAwayModeRequired を除き、電源要求はユーザーが開始したシステム スリープ エントリ (電源ボタン、カバーを閉じる、または [スタート] メニューから [スリープ] を選択) に終了します。

電力を節約し、最適なユーザー エクスペリエンスを提供するには、電源要求を使用するアプリケーションで次のベスト プラクティスに従う必要があります。

  • 電源要求を作成するときに、 REASON_CONTEXT 構造体で要求の理由を説明するローカライズされたテキスト文字列を指定します。
  • 要求を必要とするシナリオの直前に PowerSetRequest を呼び出します。
  • PowerClearRequest を呼び出して、シナリオが完了したらすぐに要求の参照カウントをデクリメントします。
  • プロセスが終了するか、サービスが停止する前に、すべての要求オブジェクトと関連付けられたハンドルをクリーンアップします。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

PowerClearRequest

PowerCreateRequest