PoFxQueryCurrentComponentPerfState 関数 (wdm.h)
PoFxQueryCurrentComponentPerfState ルーチンは、コンポーネントのパフォーマンス状態セット内のアクティブなパフォーマンス状態を取得します。
構文
NTSTATUS PoFxQueryCurrentComponentPerfState(
[in] POHANDLE Handle,
[in] ULONG Flags,
[in] ULONG Component,
[in] ULONG SetIndex,
[in] PULONGLONG CurrentPerf
);
パラメーター
[in] Handle
電源管理フレームワーク (PoFx) を使用したデバイスの登録を表すハンドル。 デバイス ドライバーは、以前に PoFxRegisterDevice ルーチンからこのハンドルを受信しました。
[in] Flags
0 に設定されます。 現在、このルーチンにはフラグは定義されていません。
[in] Component
パフォーマンス状態を取得するコンポーネントを識別するインデックス。 このパラメーターは、デバイス ドライバーが PoFx にデバイスを登録するために使用したPO_FX_DEVICE構造体の Components 配列へのインデックスです。 Components 配列に N 個の要素が含まれている場合、コンポーネントインデックスの範囲は 0 から N ~ 1 です。
[in] SetIndex
パフォーマンスのクエリを実行しているパフォーマンス状態セットを識別するインデックス。 このパラメーターは、デバイス ドライバーがコンポーネントのパフォーマンス状態を PoFx に登録するために使用したPO_FX_COMPONENT_PERF_INFO構造体の PerfStateSets 配列へのインデックスです。 PerfStateSets 配列に N 個の要素が含まれている場合、パフォーマンス状態セットのインデックスの範囲は 0 から N ~ 1 です。
[in] CurrentPerf
指定したパフォーマンス状態セットの現在のパフォーマンス状態が返される変数へのポインター。 返される値の詳細については、「解説」を参照してください。
戻り値
要求された操作が成功した場合、PoFxQueryCurrentComponentPerfState はSTATUS_SUCCESSを返します。 エラーの戻り値として考えられるのは、次の状態コードです。
リターン コード | 説明 |
---|---|
|
呼び出し元が、コンポーネントまたはコンポーネントの状態セットに無効なインデックスを指定しました。 |
注釈
ドライバーは 、PoFxQueryCurrentComponentPerfState ルーチンを呼び出して、コンポーネントに対して設定された特定のパフォーマンス状態の現在のパフォーマンス状態を取得できます。 呼び出しが成功すると、 CurrentPerf パラメーターは、セットの現在のパフォーマンス状態を指定する値へのポインターで上書きされます。 この値は、ドライバーが PoFxRegisterComponentPerfStates ルーチンに渡したPO_FX_COMPONENT_PERF_SET構造体の内容に応じて、次のいずれかになります。
- パフォーマンス状態の継続的な分布を表すパフォーマンス状態セットの場合、これは、PO_FX_COMPONENT_PERF_SET構造体の Minimum メンバーと Maximum メンバーの間の値です。
- 個別の数のパフォーマンス状態を表すパフォーマンス状態セットの場合、この値は、PO_FX_COMPONENT_PERF_SET 構造体の States メンバーへのインデックスです。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h |
Library | Ntoskrnl.lib |
[DLL] | Ntoskrnl.exe |
IRQL | <= DISPATCH_LEVEL |