struct _PROC_PERF_DOMAIN { struct _LIST_ENTRY Link;/* 0x0 8 */ struct _PROC_PERF_CHECK_CONTEXT* Master;/* 0x8 4 */ struct _KAFFINITY_EX Members;/* 0xc 12 */ 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 */ struct _PROC_PERF_CONSTRAINT* Processors;/* 0x24 4 */ 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 */ struct _PROC_PERF_QOS_CLASS_POLICY QosPolicies[5];/* 0x90 140 */ /* ── 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) ── */ struct _PERF_CONTROL_STATE_SELECTION QosSelection[5];/* 0x140 200 */ /* ── 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)