PFNKSDEVICEQUERYPOWER コールバック関数 (ks.h)
AVStream は、IRP_MN_QUERY_POWER要求を受信したときにミニドライバーの AVStrMiniDeviceQueryPower ルーチンを呼び出します。
構文
PFNKSDEVICEQUERYPOWER Pfnksdevicequerypower;
NTSTATUS Pfnksdevicequerypower(
[in] PKSDEVICE Device,
[in] PIRP Irp,
[in] DEVICE_POWER_STATE DeviceTo,
[in] DEVICE_POWER_STATE DeviceFrom,
[in] SYSTEM_POWER_STATE SystemTo,
[in] SYSTEM_POWER_STATE SystemFrom,
[in] POWER_ACTION Action
)
{...}
パラメーター
[in] Device
IRP_MN_QUERY_POWERをディスパッチした KSDEVICE 構造体へのポインター。
[in] Irp
デバイスによって発行されたIRP_MN_QUERY_POWERへのポインター。
[in] DeviceTo
Irp の発行者によって要求された電源状態。
[in] DeviceFrom
現在のデバイスの電源状態。
[in] SystemTo
遷移先のシステム状態。システム電源状態遷移の照会時に指定されます。 この値は、呼び出しがデバイスの電源状態変更クエリが原因である場合は指定されません。
[in] SystemFrom
現在のシステム状態。システム電源状態遷移の照会時に指定されます。 この値は、呼び出しがデバイスの電源状態変更クエリが原因である場合は指定されません。
[in] Action
要求された遷移に関する追加情報を指定します。 使用できる値は、POWER_ACTION型の列挙子です。
戻り値
STATUS_SUCCESSまたは操作の実行試行から返されたエラー コードを返す必要があります。 STATUS_SUCCESSを返すことで、ドライバーは、要求された電源状態を設定する機能を変更する操作を開始しないことを保証します。 ドライバーは、デバイスを許容可能な電源状態に戻す IRP_MN_SET_POWER が完了するまで、このような操作を必要とする IRP をキューに入れる必要があります。
注釈
電源マネージャーまたはデバイスの電源ポリシー所有者は 、IRP_MN_QUERY_POWER 要求を送信して、システムまたはデバイスの電源状態 (スリープ状態など) を変更できるかどうかを判断します。
ドライバーがシステム電源状態のIRP_MN_QUERY_POWER要求に失敗した場合、電源マネージャーは通常、 IRP_MN_SET_POWERを発行して応答します。 通常、この IRP は現在のシステム状態を再確認します。 ただし、ドライバーがクエリされた状態またはその他の中間状態にIRP_MN_SET_POWERを受け取る可能性があります。 これらの状況を処理するには、ドライバーを準備する必要があります。
ミニドライバーは、そのKSDEVICE_DISPATCH構造体の QueryPower メンバーで、このルーチンのアドレスを指定します。
このルーチンは省略可能です。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Microsoft Windows XP 以降のオペレーティング システムと DirectX 8.0 以降の DirectX バージョンで使用できます。 |
対象プラットフォーム | デスクトップ |
Header | ks.h (Ks.h を含む) |