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

指定したパフォーマンス状態セットの現在のパフォーマンス状態が返される変数へのポインター。 返される値の詳細については、「解説」を参照してください。

戻り値

要求された操作が成功した場合、PoFxQueryCurrentComponentPerfStateSTATUS_SUCCESSを返します。 エラーの戻り値として考えられるのは、次の状態コードです。

リターン コード 説明
STATUS_INVALID_PARAMETER
呼び出し元が、コンポーネントまたはコンポーネントの状態セットに無効なインデックスを指定しました。

注釈

ドライバーは 、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

こちらもご覧ください

デバイス パフォーマンス状態管理

PO_FX_COMPONENT_PERF_INFO

PO_FX_COMPONENT_PERF_SET

PoFxRegisterComponentPerfStates