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 バージョンで使用できます。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | ks.h (Ks.h を含む) |