Min version | 8.1 Update 1 | 8.1 | 10 Pre RTM | 10 Pre RTM | 10 Pre RTM | 10 TH2 | |||
---|---|---|---|---|---|---|---|---|---|
Max version | 8.1 Update 1 | 10 | |||||||
Architecture | x86 | x64 | x64 | x86 | x86 | x64 | x86 | x64 | |
x86 offset offset:bitpos | Field Name | x64 offset offset:bitpos | |||||||
0x0000 | volatile unsigned long TotalReservedPages | volatile uint64_t TotalReservedPages | volatile unsigned long TotalReservedPages | volatile uint64_t TotalReservedPages | volatile unsigned long TotalReservedPages | volatile uint64_t TotalReservedPages | 0x0000 | ||
0x0004 | volatile unsigned long TotalCommittedPages | volatile uint64_t TotalCommittedPages | volatile unsigned long TotalCommittedPages | volatile uint64_t TotalCommittedPages | volatile unsigned long TotalCommittedPages | volatile uint64_t TotalCommittedPages | 0x0008 | ||
0x0008 | unsigned long Signature | 0x0010 | |||||||
0x000C | unsigned long GlobalFlags | 0x0014 | |||||||
0x0010 | uint16_t ProcessHeapListIndex | uintptr_t FreeCommittedPages | 0x0018 | ||||||
0x0014 | uintptr_t FreeCommittedPages | uintptr_t FreeCommittedPages | unsigned long Interceptor | 0x0020 | |||||
0x0018 | uint16_t ProcessHeapListIndex | uint16_t ProcessHeapListIndex | uint16_t ProcessHeapListIndex | uint16_t ProcessHeapListIndex | uint16_t ProcessHeapListIndex | 0x0024 | |||
0x0018 | struct _RTL_SRWLOCK LargeMetadataLock | struct _RTL_SRWLOCK LargeMetadataLock | unsigned long GlobalLockOwner | uint16_t ProcessHeapListIndex | 0x0028 | ||||
0x001A | uint16_t GlobalLockCount | 0x0026 | |||||||
0x001C | unsigned long GlobalLockOwner | unsigned long GlobalLockOwner | unsigned long GlobalLockOwner | unsigned long GlobalLockOwner | 0x0028 | ||||
0x001C | struct _RTL_RB_TREE LargeAllocMetadata | struct _RTL_RB_TREE LargeAllocMetadata | 0x0030 | ||||||
0x0020 | struct _RTL_SRWLOCK LargeMetadataLock | 0x0030 | |||||||
0x0024 | struct _RTL_RB_TREE LargeAllocMetadata | struct _RTL_RB_TREE LargeAllocMetadata | struct _RTL_RB_TREE LargeAllocMetadata | struct _RTL_RB_TREE LargeAllocMetadata | struct _RTL_RB_TREE LargeAllocMetadata | 0x0038 | |||
0x0024 | volatile unsigned long LargeReservedPages | volatile uint64_t LargeReservedPages | 0x0040 | ||||||
0x0028 | volatile unsigned long LargeCommittedPages | volatile uint64_t LargeCommittedPages | volatile uint64_t LargeReservedPages | 0x0048 | |||||
0x002C | volatile unsigned long LargeReservedPages | volatile uint64_t LargeReservedPages | volatile unsigned long LargeReservedPages | volatile uint64_t LargeReservedPages | 0x0048 | ||||
0x002C | struct _HEAP_LOCK SegmentAllocatorLock | volatile uint64_t LargeCommittedPages | volatile unsigned long LargeReservedPages | 0x0050 | |||||
0x0030 | volatile unsigned long LargeCommittedPages | volatile uint64_t LargeCommittedPages | volatile unsigned long LargeCommittedPages | volatile uint64_t LargeCommittedPages | 0x0050 | ||||
0x0034 | struct _HEAP_LOCK SegmentAllocatorLock | struct _RTL_SRWLOCK SegmentAllocatorLock | 0x0058 | ||||||
0x0038 | struct _LIST_ENTRY SegmentListHead | 0x0060 | |||||||
0x0040 | uintptr_t SegmentCount | 0x0070 | |||||||
0x0044 | struct _LIST_ENTRY SegmentListHead | struct _LIST_ENTRY SegmentListHead | struct _RTL_RB_TREE FreePageRanges | struct _RTL_RB_TREE FreePageRanges | struct _RTL_RB_TREE FreePageRanges | struct _RTL_RB_TREE FreePageRanges | 0x0078 | ||
struct _LIST_ENTRY SegmentListHead | 0x0080 | ||||||||
0x004C | uintptr_t SegmentCount | struct _LIST_ENTRY SegmentListHead | uintptr_t VirtualizationKey | struct _RTL_SRWLOCK ContextExtendLock | 0x0088 | ||||
0x0050 | struct _RTL_RB_TREE FreePageRanges | uint64_t SegmentCount | struct _RTL_SRWLOCK ContextExtendLock | uint8_t * AllocatedBase | 0x0090 | ||||
0x0054 | struct _RTL_RB_TREE FreePageRanges | unsigned long SegmentCount | uint8_t * AllocatedBase | uint8_t * UncommittedBase | 0x0098 | ||||
0x0058 | void * NextLocalInfoAddress | struct _RTL_RB_TREE FreePageRanges | uint8_t * UncommittedBase | uint8_t * ReservedLimit | 0x00A0 | ||||
0x005C | void * NextUncommitedAddress | struct _RTL_SRWLOCK ContextExtendLock | uint8_t * ReservedLimit | struct _HEAP_VS_CONTEXT VsContext | struct _HEAP_VS_CONTEXT VsContext | 0x00A8 | |||
0x0060 | void * ReservedLimit | uint8_t * AllocatedBase | struct _RTL_SRWLOCK ContextExtendLock | struct _HEAP_VS_CONTEXT VsContext | struct _HEAP_VS_CONTEXT VsContext | 0x00B0 | |||
0x0064 | struct _HEAP_LFH_CONTEXT LfhContext | struct _HEAP_LFH_CONTEXT LfhContext | uint8_t * UncommittedBase | uint8_t * AllocatedBase | 0x00B8 | ||||
0x0068 | uint8_t * UncommittedBase | ||||||||
0x006C | uint8_t * ReservedLimit | ||||||||
0x0070 | struct _HEAP_VS_CONTEXT VsContext | ||||||||
uint8_t * ReservedLimit | 0x00C0 | ||||||||
struct _HEAP_VS_CONTEXT VsContext | 0x00C8 | ||||||||
0x0090 | struct _HEAP_LFH_CONTEXT LfhContext | 0x0110 | |||||||
0x0098 | struct _HEAP_LFH_CONTEXT LfhContext | 0x0120 | |||||||
0x00A8 | struct _HEAP_LFH_CONTEXT LfhContext |