arm64 / ntdllntoskrnl /

_HEAP

← first 1 build latest →
struct _HEAP {
union {
struct {
unsigned long SegmentSignature;/* 0x10 4 */
unsigned long SegmentFlags;/* 0x14 4 */
void* BaseAddress;/* 0x30 8 */
unsigned long NumberOfPages;/* 0x38 4 */
/* 4 bytes padding */
unsigned long NumberOfUnCommittedPages;/* 0x50 4 */
unsigned long NumberOfUnCommittedRanges;/* 0x54 4 */
unsigned short SegmentAllocatorBackTraceIndex;/* 0x58 2 */
unsigned short Reserved;/* 0x5a 2 */
/* 4 bytes padding */
};/* 0x0 112 */
};/* 0x0 112 */
/* ── cacheline 1 boundary (64 bytes) ── */
unsigned long Flags;/* 0x70 4 */
unsigned long ForceFlags;/* 0x74 4 */
unsigned long CompatibilityFlags;/* 0x78 4 */
unsigned long EncodeFlagMask;/* 0x7c 4 */
/* ── cacheline 2 boundary (128 bytes) ── */
unsigned long Interceptor;/* 0x90 4 */
unsigned long VirtualMemoryThreshold;/* 0x94 4 */
unsigned long Signature;/* 0x98 4 */
/* 4 bytes padding */
unsigned __int64 SegmentReserve;/* 0xa0 8 */
unsigned __int64 SegmentCommit;/* 0xa8 8 */
unsigned __int64 DeCommitFreeBlockThreshold;/* 0xb0 8 */
unsigned __int64 DeCommitTotalFreeThreshold;/* 0xb8 8 */
/* ── cacheline 3 boundary (192 bytes) ── */
unsigned __int64 TotalFreeSize;/* 0xc0 8 */
unsigned __int64 MaximumAllocationSize;/* 0xc8 8 */
unsigned short ProcessHeapsListIndex;/* 0xd0 2 */
unsigned short HeaderValidateLength;/* 0xd2 2 */
/* 4 bytes padding */
void* HeaderValidateCopy;/* 0xd8 8 */
unsigned short NextAvailableTagIndex;/* 0xe0 2 */
unsigned short MaximumTagIndex;/* 0xe2 2 */
/* 4 bytes padding */
/* ── cacheline 4 boundary (256 bytes) ── */
unsigned __int64 AlignRound;/* 0x100 8 */
unsigned __int64 AlignMask;/* 0x108 8 */
unsigned short AllocatorBackTraceIndex;/* 0x130 2 */
/* 2 bytes padding */
unsigned long NonDedicatedListLength;/* 0x134 4 */
void* BlocksIndex;/* 0x138 8 */
/* ── cacheline 5 boundary (320 bytes) ── */
void* UCRIndex;/* 0x140 8 */
long (*CommitRoutine)(void*, void**, unsigned __int64*);/* 0x168 8 */
/* ── cacheline 6 boundary (384 bytes) ── */
void* UserContext;/* 0x188 8 */
unsigned __int64 Spare;/* 0x190 8 */
void* FrontEndHeap;/* 0x198 8 */
unsigned short FrontHeapLockCount;/* 0x1a0 2 */
unsigned char FrontEndHeapType;/* 0x1a2 1 */
unsigned char RequestedFrontEndHeapType;/* 0x1a3 1 */
/* 4 bytes padding */
unsigned short* FrontEndHeapUsageData;/* 0x1a8 8 */
unsigned short FrontEndHeapMaximumIndex;/* 0x1b0 2 */
volatile unsigned char FrontEndHeapStatusBitmap[129];/* 0x1b2 129 */
/* ── cacheline 8 boundary (512 bytes) ── */
union {
unsigned char ReadOnly : 1;/* 0x233:0 1 */
unsigned char InternalFlags;/* 0x233 1 */
};/* 0x233 1 */
/* 4 bytes padding */
/* ── cacheline 10 boundary (640 bytes) ── */
};
size 704 (0x2c0)63 members8 holes (30 bytes)padding 011 cachelines
Used in (1)