PO_FX_COMPONENT_PERF_SET structure (wdm.h)
The PO_FX_COMPONENT_PERF_SET structure represents a set of performance states for a single component within a device.
Syntax
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;
Members
Name
An optional character string used to describe the component property controlled by the performance state set. For example, "Clock frequency" or "Memory bandwidth".
Flags
Set to 0. Currently, no flags are defined for this member.
Unit
A PO_FX_PERF_STATE_UNIT value that specifies the type of unit that is controlled by the performance state set.
Type
A PO_FX_PERF_STATE_TYPE value that specifies the type of performance states in the set (a discrete number of states or a continuous distribution of states between a minimum and maximum value).
Discrete
For sets that represent a discrete number of performance states (that is, where the Type member is PoFxPerfStateTypeDiscrete), this nested structure describes the states.
Discrete.Count
The number of performance states in the set.
Discrete.States
A pointer to a PO_FX_PERF_STATE array. The length of this array is specified by the Count member. Each array element describes one power state in the set.
Range
For sets that represent a continuous distribution of performance states (that is, where the Type member is PoFxPerfStateTypeRange), this nested structure describes the minimum and maximum value of the range of performance states.
Range.Minimum
The minimum performance state value.
Range.Maximum
The maximum performance state value.
Remarks
When a device driver calls the PoFxRegisterComponentPerfStates routine to register a component for performance state support with the power management framework (PoFx), the driver can supply a PO_FX_COMPONENT_PERF_INFO structure that describes the sets of the performance states supported by the component. The PerfStateSets member of the PO_FX_COMPONENT_PERF_INFO structure contains an array of PO_FX_COMPONENT_PERF_SET structures that represent the supported performance states.
Most drivers are expected to define a single set of performance states per component. For example, a driver might define one set of performance states to control the clock frequency for a component. However, some drivers may need to define more than one performance state set to control multiple dimensions of performance states for a component. For example, a driver might define two sets of performance states to control the clock frequency and bus bandwidth.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported starting with Windows 10. |
Header | wdm.h (include Wudfwdm.h) |