x64 / ntdllntoskrnl /

_SEGMENT_HEAP

← 10.0.28000.3231 11 builds latest →
struct _SEGMENT_HEAP {
unsigned long Signature;/* 0x10 4 */
unsigned long GlobalFlags;/* 0x14 4 */
unsigned long Interceptor;/* 0x18 4 */
unsigned short ProcessHeapListIndex;/* 0x1c 2 */
unsigned short InternalFlags;/* 0x1e 2 */
unsigned __int64 ReservedMustBeZero;/* 0x30 8 */
void* UserContext;/* 0x38 8 */
/* ── cacheline 1 boundary (64 bytes) ── */
unsigned __int64 LargeMetadataLock;/* 0x40 8 */
volatile unsigned __int64 LargeReservedPages;/* 0x58 8 */
volatile unsigned __int64 LargeCommittedPages;/* 0x60 8 */
unsigned __int64 Tag;/* 0x68 8 */
/* 8 bytes padding */
/* ── cacheline 2 boundary (128 bytes) ── */
/* ── cacheline 3 boundary (192 bytes) ── */
unsigned long GlobalLockOwner;/* 0xe0 4 */
/* 4 bytes padding */
unsigned __int64 ContextExtendLock;/* 0xe8 8 */
unsigned char* AllocatedBase;/* 0xf0 8 */
unsigned char* UncommittedBase;/* 0xf8 8 */
/* ── cacheline 4 boundary (256 bytes) ── */
unsigned char* ReservedLimit;/* 0x100 8 */
unsigned char* ReservedRegionEnd;/* 0x108 8 */
unsigned __int64 CompactionLock;/* 0x110 8 */
/* 8 bytes padding */
/* ── cacheline 5 boundary (320 bytes) ── */
/* ── cacheline 11 boundary (704 bytes) ── */
/* ── cacheline 12 boundary (768 bytes) ── */
/* 16 bytes padding */
/* ── cacheline 15 boundary (960 bytes) ── */
};
size 2688 (0xa80)28 members4 holes (36 bytes)padding 042 cachelines
Used in (5)