PEP_PROCESSOR_FEEDBACK_COUNTER structure (pepfx.h)

The PEP_PROCESSOR_FEEDBACK_COUNTER structure describes a feedback counter to the operating system.

Syntax

typedef struct _PEP_PROCESSOR_FEEDBACK_COUNTER {
  struct {
    ULONG Affinitized : 1;
    ULONG Type : 2;
    ULONG Counter : 4;
    ULONG DiscountIdle : 1;
    ULONG Reserved : 24;
  };
  ULONG  NominalRate;
} PEP_PROCESSOR_FEEDBACK_COUNTER, *PPEP_PROCESSOR_FEEDBACK_COUNTER;

Members

Affinitized

Identifies the counter process affinity. If set to 1, the counter must be read while executing on the target processor, otherwise, it will be set to 0.

Type

Specifies the data type of the counter.

The processor feedback counter data types are:

Value Meaning
PROCESSOR_FEEDBACK_TYPE_INSTANTANEOUS (0x00) The feedback counter returns the instantaneous value of the property being counted.
PROCESSOR_FEEDBACK_TYPE_RELATIVE (0x01) The feedback counter returns two incrementing values: the nominal count, and the actual count. Nominal count increments at a fixed nominal rate. Actual count increments at a variable rate relative to the property being counted. When the property is incrementing at its nominal rate, the two values should increment at the same rate. To compute an average rate over a time period, the OS reads the counter once and the beginning of the period and once at the end and computes: The average rate is equal to the nominal rate multiplied by the quotient of the variable rate divided by the fixed rate.

Counter

Specifies the data the counter is providing.

The processor feedback counter types are:

Value Meaning
PROCESSOR_FEEDBACK_COUNTER_FREQUENCY
0x00
The feedback counter returns the clock speed of the processor. The nominal rate is the nominal clock speed, in MHz.
PROCESSOR_FEEDBACK_COUNTER_PERFORMANCE
0x01
The feedback counter returns the current processor performance. The nominal rate is equivalent to the processor's NominalPerformance (see PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES notification).

DiscountIdle

Reserved

This member is reserved and should be set to zero.

NominalRate

Specifies the nominal rate of the counter.

Remarks

This structure

Requirements

Requirement Value
Minimum supported client Supported starting with Windows 10.
Header pepfx.h (include Pep_x.h)

See also

PEP structures

PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES notification