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 を含む) |