struct _PPM_IDLE_STATES { unsigned char EnforceStateConstraints;/* 0x0 1 */ unsigned char IdleOverride;/* 0x1 1 */ unsigned char EstimateIdleDuration;/* 0x2 1 */ unsigned char ExitLatencyTraceEnabled;/* 0x3 1 */ unsigned char NonInterruptibleTransition;/* 0x4 1 */ unsigned char Reserved;/* 0x5 1 */ unsigned char IdleDurationLimited;/* 0x6 1 */ unsigned char IdleCheckLimited;/* 0x7 1 */ unsigned __int64 IdleReevaluationDuration;/* 0x8 8 */ unsigned char StrictVetoBias;/* 0x10 1 */ /* 3 bytes padding */ unsigned long ExitLatencyCountdown;/* 0x14 4 */ unsigned long TargetState;/* 0x18 4 */ unsigned long ActualState;/* 0x1c 4 */ unsigned long OldState;/* 0x20 4 */ unsigned long OverrideIndex;/* 0x24 4 */ unsigned long ProcessorIdleCount;/* 0x28 4 */ unsigned long Type;/* 0x2c 4 */ unsigned __int64 LevelId;/* 0x30 8 */ unsigned short ReasonFlags;/* 0x38 2 */ /* 2 bytes padding */ long PreviousStatus;/* 0x3c 4 */ /* ── cacheline 1 boundary (64 bytes) ── */ unsigned char Reserved2;/* 0x40 1 */ unsigned char PreviouslyDeniedCount;/* 0x41 1 */ /* 6 bytes padding */ struct _KAFFINITY_EX PrimaryProcessorMask;/* 0x48 520 */ /* ── cacheline 9 boundary (576 bytes) ── */ struct _KAFFINITY_EX SecondaryProcessorMask;/* 0x250 520 */ /* ── cacheline 17 boundary (1088 bytes) ── */ long (*IdlePreExecute)(void*, unsigned long, unsigned long, unsigned long, unsigned long*);/* 0x458 8 */ long (*IdleExecute)(void*, unsigned __int64, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*);/* 0x460 8 */ unsigned long (*IdlePreselect)(void*, struct _PROCESSOR_IDLE_CONSTRAINTS*);/* 0x468 8 */ unsigned long (*IdleTest)(void*, unsigned long, unsigned long);/* 0x470 8 */ unsigned long (*IdleAvailabilityCheck)(void*, unsigned long);/* 0x478 8 */ /* ── cacheline 18 boundary (1152 bytes) ── */ void (*IdleComplete)(void*, unsigned long, unsigned long, unsigned long, unsigned long*);/* 0x480 8 */ unsigned char (*IdleIsHalted)(void*);/* 0x488 8 */ unsigned char (*IdleInitiateWake)(void*);/* 0x490 8 */ void* Context;/* 0x498 8 */ struct _PROCESSOR_IDLE_CONSTRAINTS Constraints;/* 0x4a0 48 */ /* ── cacheline 19 boundary (1216 bytes) ── */ struct _KAFFINITY_EX DeepIdleSnapshot;/* 0x4d0 520 */ /* ── cacheline 27 boundary (1728 bytes) ── */ struct _PERFINFO_PPM_STATE_SELECTION* Tracing;/* 0x6d8 8 */ struct _PERFINFO_PPM_STATE_SELECTION* CoordinatedTracing;/* 0x6e0 8 */ struct _PPM_SELECTION_MENU ProcessorMenu;/* 0x6e8 16 */ struct _PPM_SELECTION_MENU CoordinatedMenu;/* 0x6f8 16 */ /* ── cacheline 28 boundary (1792 bytes) ── */ struct _PPM_COORDINATED_SELECTION CoordinatedSelection;/* 0x708 24 */ struct _PPM_IDLE_STATE State[1];/* 0x720 608 */};size 2432 (0x980)41 members3 holes (11 bytes)padding 038 cachelines
Used in (1)