x64x86arm64 / ntdllntoskrnl

_SEGMENT_HEAP

← 10.0.18362.1016 4 builds latest →
struct _SEGMENT_HEAP {
unsigned long Signature;/* 0x8 4 */
unsigned long GlobalFlags;/* 0xc 4 */
unsigned long Interceptor;/* 0x10 4 */
unsigned short ProcessHeapListIndex;/* 0x14 2 */
unsigned short AllocatedFromMetadata : 1;/* 0x16:0 2 */
union {
struct {
unsigned long ReservedMustBeZero1;/* 0x18 4 */
void* UserContext;/* 0x1c 4 */
unsigned long ReservedMustBeZero2;/* 0x20 4 */
void* Spare;/* 0x24 4 */
};/* 0x18 16 */
};/* 0x18 16 */
/* 24 bytes padding */
/* ── cacheline 1 boundary (64 bytes) ── */
unsigned long LargeMetadataLock;/* 0x40 4 */
volatile unsigned long LargeReservedPages;/* 0x4c 4 */
volatile unsigned long LargeCommittedPages;/* 0x50 4 */
/* 40 bytes padding */
/* ── cacheline 2 boundary (128 bytes) ── */
unsigned short GlobalLockCount;/* 0xac 2 */
/* 2 bytes padding */
unsigned long GlobalLockOwner;/* 0xb0 4 */
unsigned long ContextExtendLock;/* 0xb4 4 */
unsigned char* AllocatedBase;/* 0xb8 4 */
unsigned char* UncommittedBase;/* 0xbc 4 */
/* ── cacheline 3 boundary (192 bytes) ── */
unsigned char* ReservedLimit;/* 0xc0 4 */
/* 60 bytes padding */
/* ── cacheline 4 boundary (256 bytes) ── */
/* ── cacheline 8 boundary (512 bytes) ── */
/* ── cacheline 11 boundary (704 bytes) ── */
};
size 1408 (0x580)26 members4 holes (126 bytes)padding 022 cachelines
Used in (4)