PO_FX_COMPONENT_PERF_SET 構造体 (wdm.h)

PO_FX_COMPONENT_PERF_SET構造体は、デバイス内の 1 つのコンポーネントのパフォーマンス状態のセットを表します。

構文

typedef struct _PO_FX_COMPONENT_PERF_SET {
  UNICODE_STRING        Name;
  ULONGLONG             Flags;
  PO_FX_PERF_STATE_UNIT Unit;
  PO_FX_PERF_STATE_TYPE Type;
  union {
    struct {
      ULONG             Count;
      PPO_FX_PERF_STATE States;
    } Discrete;
    struct {
      ULONGLONG Minimum;
      ULONGLONG Maximum;
    } Range;
  };
} PO_FX_COMPONENT_PERF_SET, *PPO_FX_COMPONENT_PERF_SET;

メンバー

Name

パフォーマンス状態セットによって制御されるコンポーネント プロパティを記述するために使用される省略可能な文字列。 たとえば、"クロック周波数" や "メモリ帯域幅" などです。

Flags

0 に設定されます。 現在、このメンバーにはフラグは定義されていません。

Unit

パフォーマンス状態セットによって制御されるユニットの種類を指定するPO_FX_PERF_STATE_UNIT値。

Type

セット内のパフォーマンス状態の種類 (不連続な数の状態、または最小値と最大値の間の状態の連続分布) を指定するPO_FX_PERF_STATE_TYPE値。

Discrete

不連続な数のパフォーマンス状態 (つまり、 Type メンバーが PoFxPerfStateTypeDiscrete) を表すセットの場合、この入れ子になった構造体は状態を表します。

Discrete.Count

セット内のパフォーマンス状態の数。

Discrete.States

PO_FX_PERF_STATE配列へのポインター。 この配列の長さは Count メンバーによって指定されます。 各配列要素は、セット内の 1 つの電源状態を表します。

Range

パフォーマンス状態の継続的な分布を表すセット (つまり、 Type メンバーが PoFxPerfStateTypeRange) の場合、この入れ子になった構造体は、パフォーマンス状態の範囲の最小値と最大値を表します。

Range.Minimum

パフォーマンス状態の最小値。

Range.Maximum

パフォーマンス状態の最大値。

注釈

デバイス ドライバーが PoFxRegisterComponentPerfStates ルーチンを呼び出して、電源管理フレームワーク (PoFx) でパフォーマンス状態サポート用のコンポーネントを登録すると、ドライバーは、コンポーネントでサポートされるパフォーマンス状態のセットを記述する PO_FX_COMPONENT_PERF_INFO 構造体を提供できます。 PO_FX_COMPONENT_PERF_INFO構造体の PerfStateSets メンバーには、サポートされているパフォーマンス状態を表すPO_FX_COMPONENT_PERF_SET構造体の配列が含まれています。

ほとんどのドライバーでは、コンポーネントごとに 1 つのパフォーマンス状態セットを定義することが想定されています。 たとえば、ドライバーでは、コンポーネントのクロック周波数を制御するパフォーマンス状態のセットを 1 つ定義できます。 ただし、一部のドライバーでは、コンポーネントのパフォーマンス状態の複数のディメンションを制御するために、複数のパフォーマンス状態セットを定義する必要があります。 たとえば、ドライバーは、クロック周波数とバス帯域幅を制御する 2 つのパフォーマンス状態のセットを定義する場合があります。

要件

要件
サポートされている最小のクライアント Windows 10 以降でサポートされています。
Header wdm.h (Wudfwdm.h を含む)

こちらもご覧ください

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

PO_FX_COMPONENT_PERF_INFO

PoFxRegisterComponentPerfStates