x86 / ntdllntoskrnl /

_PROC_PERF_DOMAIN

← 10.0.18362.1016 11 builds latest →
struct _PROC_PERF_DOMAIN {
unsigned long DomainContext;/* 0x18 4 */
unsigned long ProcessorCount;/* 0x1c 4 */
unsigned char EfficiencyClass;/* 0x20 1 */
unsigned char NominalPerformanceClass;/* 0x21 1 */
unsigned char HighestPerformanceClass;/* 0x22 1 */
/* 1 byte padding */
void (*GetFFHThrottleState)(unsigned __int64*);/* 0x28 4 */
void (*TimeWindowHandler)(unsigned long, unsigned long);/* 0x2c 4 */
void (*BoostPolicyHandler)(unsigned long, unsigned long);/* 0x30 4 */
void (*BoostModeHandler)(unsigned long, unsigned long);/* 0x34 4 */
void (*AutonomousActivityWindowHandler)(unsigned long, unsigned long);/* 0x38 4 */
void (*AutonomousModeHandler)(unsigned long, unsigned long);/* 0x3c 4 */
/* ── cacheline 1 boundary (64 bytes) ── */
void (*ReinitializeHandler)(unsigned long);/* 0x40 4 */
unsigned long (*PerfSelectionHandler)(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, unsigned __int64*);/* 0x44 4 */
void (*PerfControlHandler)(unsigned long, struct _PERF_CONTROL_STATE_SELECTION*, unsigned char, unsigned char);/* 0x48 4 */
void (*DomainPerfControlHandler)(unsigned long, struct _PERF_CONTROL_STATE_SELECTION*, unsigned char, unsigned char);/* 0x4c 4 */
unsigned long MaxFrequency;/* 0x50 4 */
unsigned long NominalFrequency;/* 0x54 4 */
unsigned long MaxPercent;/* 0x58 4 */
unsigned long MinPerfPercent;/* 0x5c 4 */
unsigned long MinThrottlePercent;/* 0x60 4 */
unsigned long AdvertizedMaximumFrequency;/* 0x64 4 */
unsigned __int64 MinimumRelativePerformance;/* 0x68 8 */
unsigned __int64 NominalRelativePerformance;/* 0x70 8 */
unsigned char NominalRelativePerformancePercent;/* 0x78 1 */
unsigned char Coordination;/* 0x79 1 */
unsigned char HardPlatformCap;/* 0x7a 1 */
unsigned char AffinitizeControl;/* 0x7b 1 */
unsigned char EfficientThrottle;/* 0x7c 1 */
unsigned char AllowSchedulerDirectedPerfStates;/* 0x7d 1 */
unsigned char InitiateAllProcessors;/* 0x7e 1 */
unsigned char AutonomousMode;/* 0x7f 1 */
/* ── cacheline 2 boundary (128 bytes) ── */
unsigned char ProvideGuidance;/* 0x80 1 */
/* 3 bytes padding */
unsigned long DesiredPercent;/* 0x84 4 */
unsigned long GuaranteedPercent;/* 0x88 4 */
unsigned char EngageResponsivenessOverrides;/* 0x8c 1 */
/* 3 bytes padding */
/* ── cacheline 4 boundary (256 bytes) ── */
unsigned long QosDisableReasons[5];/* 0x11c 20 */
unsigned short QosEquivalencyMasks[5];/* 0x130 10 */
unsigned char QosSupported;/* 0x13a 1 */
/* 1 byte padding */
volatile unsigned long SelectionGeneration;/* 0x13c 4 */
/* ── cacheline 5 boundary (320 bytes) ── */
/* ── cacheline 8 boundary (512 bytes) ── */
unsigned __int64 PerfChangeTime;/* 0x208 8 */
unsigned long PerfChangeIntervalCount;/* 0x210 4 */
unsigned char Force;/* 0x214 1 */
unsigned char Update;/* 0x215 1 */
unsigned char Apply;/* 0x216 1 */
};
size 536 (0x218)50 members4 holes (8 bytes)padding 19 cachelines
Used in (1)