次の方法で共有


PO_FX_DIRECTED_POWER_DOWN_CALLBACK コールバック関数 (wdm.h)

PO_FX_DIRECTED_POWER_DOWN_CALLBACKコールバック関数は、DFx (Directed PoFx) に代わってドライバー固有の電源ダウン アクティビティを処理するために、クライアント ドライバーによって実装されます。

構文

PO_FX_DIRECTED_POWER_DOWN_CALLBACK PoFxDirectedPowerDownCallback;

void PoFxDirectedPowerDownCallback(
  PVOID Context,
  ULONG Flags
)
{...}

パラメーター

Context

PoFxRegisterDevice に渡されるコンテキストへのポインターを提供します。

Flags

将来利用するために予約されています。

戻り値

なし

解説

ランタイムアイドル状態の電源管理サポートのために PoFx に登録する WDM ドライバーは、DFx サポートを追加するには、このコールバックを実装する必要があります。

このコールバック関数の実装を登録するには、 PO_FX_DEVICE_V3 構造体の適切なメンバーを設定し、 PoFxRegisterDevice を呼び出します。

このコールバックは、このデバイスまたはこのデバイスの依存するデバイスが、アクティブ化ブローカーソフトウェア アクティビティを実行せずに、少なくとも 2 分間連続して DRIPS エントリをブロックした場合 (ドライバー構成可能タイムアウト、既定の 2 分間)、モダン スタンバイ セッション中に呼び出されます。

このコールバックが呼び出されると、ドライバーは通常、次の高レベルのタスクを実行します。

  • 新しい作業の処理を停止します。

  • 低電力状態にすぐに切り替えます。

  • システムがドライバーの PO_FX_DIRECTED_POWER_UP_CALLBACKを呼び出すまで、低電力状態を維持します。

実装の手順と順序は異なる場合がありますが、次の一部が含まれる場合があります。

  • Dx IRP を要求します。

  • Dx IRP が到着したら、I/O キューをブロックします。

  • 進行中の操作が完了するまで待ちます。

  • これらの操作に時間がかかりすぎる場合は、必要に応じて取り消します。

  • デバイスを Dx に移行するために必要なアクションを実行します (たとえば、ハードウェアの状態を保存します)。

  • 必要に応じてスリープ解除用のアーム。

  • PoFxCompleteDirectedPowerDown を呼び出します。

  • システムが PO_FX_DIRECTED_POWER_UP_CALLBACKを呼び出すまで Dx に残ります。

契約は S3/S4 と非常によく似ていますが、S IRP は関係しません。

デバイス階層が関係している場合、ダイレクト電源フレームワークは、親デバイスの前に子デバイスに電源を切るように求めます。 特定の親デバイスの場合、直接の子 (親によって列挙されたもの) と 、電源関係 による間接子が考慮されます。

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 1903
Header wdm.h (Wdm.h を含む)

こちらもご覧ください

指示電源管理フレームワークの概要

PO_FX_DIRECTED_POWER_UP_CALLBACK