struct _KPROCESS { struct _DISPATCHER_HEADER Header;/* 0x0 24 */ struct _LIST_ENTRY ProfileListHead;/* 0x18 16 */ unsigned __int64 DirectoryTableBase;/* 0x28 8 */ unsigned long Asid;/* 0x30 4 */ unsigned long Spare0b;/* 0x34 4 */ struct _LIST_ENTRY ThreadListHead;/* 0x38 16 */ /* ── cacheline 1 boundary (64 bytes) ── */ unsigned long ProcessLock;/* 0x48 4 */ unsigned long ProcessTimerDelay;/* 0x4c 4 */ unsigned __int64 DeepFreezeStartTime;/* 0x50 8 */ struct _KAFFINITY_EX* Affinity;/* 0x58 8 */ struct _KAB_UM_PROCESS_CONTEXT AutoBoostState;/* 0x60 16 */ struct _LIST_ENTRY ReadyListHead;/* 0x70 16 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _SINGLE_LIST_ENTRY SwapListEntry;/* 0x80 8 */ volatile struct _KAFFINITY_EX* ActiveProcessors;/* 0x88 8 */ union { struct { unsigned long AutoAlignment : 1;/* 0x90:0 4 */ unsigned long DisableBoost : 1;/* 0x90:1 4 */ unsigned long DisableQuantum : 1;/* 0x90:2 4 */ unsigned long DeepFreeze : 1;/* 0x90:3 4 */ unsigned long TimerVirtualization : 1;/* 0x90:4 4 */ unsigned long CheckStackExtents : 1;/* 0x90:5 4 */ unsigned long CacheIsolationEnabled : 1;/* 0x90:6 4 */ unsigned long PpmPolicy : 4;/* 0x90:7 4 */ unsigned long VaSpaceDeleted : 1;/* 0x90:11 4 */ unsigned long MultiGroup : 1;/* 0x90:12 4 */ unsigned long ForegroundProcess : 1;/* 0x90:13 4 */ unsigned long ReservedFlags : 18;/* 0x90:14 4 */ };/* 0x90 4 */ volatile long ProcessFlags;/* 0x90 4 */ };/* 0x90 4 */ unsigned long Spare0c;/* 0x94 4 */ char BasePriority;/* 0x98 1 */ char QuantumReset;/* 0x99 1 */ char Visited;/* 0x9a 1 */ union _KEXECUTE_OPTIONS Flags;/* 0x9b 1 */ /* 4 bytes padding */ struct _KGROUP_MASK ActiveGroupsMask;/* 0xa0 16 */ unsigned __int64 ActiveGroupPadding[2];/* 0xb0 16 */ /* ── cacheline 3 boundary (192 bytes) ── */ struct _KI_IDEAL_PROCESSOR_ASSIGNMENT_BLOCK* IdealProcessorAssignmentBlock;/* 0xc0 8 */ unsigned __int64 Padding[8];/* 0xc8 64 */ /* ── cacheline 4 boundary (256 bytes) ── */ unsigned long SveVectorLength;/* 0x108 4 */ unsigned short IdealGlobalNode;/* 0x10c 2 */ unsigned short Spare1;/* 0x10e 2 */ volatile union _KSTACK_COUNT StackCount;/* 0x110 4 */ /* 4 bytes padding */ struct _LIST_ENTRY ProcessListEntry;/* 0x118 16 */ unsigned __int64 CycleTime;/* 0x128 8 */ unsigned __int64 ContextSwitches;/* 0x130 8 */ struct _KSCHEDULING_GROUP* SchedulingGroup;/* 0x138 8 */ /* ── cacheline 5 boundary (320 bytes) ── */ unsigned __int64 KernelTime;/* 0x140 8 */ unsigned __int64 UserTime;/* 0x148 8 */ unsigned __int64 ReadyTime;/* 0x150 8 */ unsigned long FreezeCount;/* 0x158 4 */ unsigned long Spare4;/* 0x15c 4 */ void* InstrumentationCallback;/* 0x160 8 */ union { unsigned __int64 SecureHandle;/* 0x168 8 */ struct { unsigned __int64 SecureProcess : 1;/* 0x168:0 8 */ unsigned __int64 TrustedApp : 1;/* 0x168:1 8 */ } Flags;/* 0x168 8 */ } SecureState;/* 0x168 8 */ unsigned __int64 KernelWaitTime;/* 0x170 8 */ unsigned __int64 UserWaitTime;/* 0x178 8 */ /* ── cacheline 6 boundary (384 bytes) ── */ unsigned __int64 LastRebalanceQpc;/* 0x180 8 */ void* PerProcessorCycleTimes;/* 0x188 8 */ unsigned short PrimaryGroup;/* 0x190 2 */ unsigned short Spare3[3];/* 0x192 6 */ struct _LIST_ENTRY CpuPartitionList;/* 0x198 16 */ unsigned __int64 Mpam0El1;/* 0x1a8 8 */ struct _KPROCESS_AVAILABLE_CPU_STATE* AvailableCpuState;/* 0x1b0 8 */};size 440 (0x1b8)60 members2 holes (8 bytes)padding 07 cachelines
Used in (3)