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 を含む) |