Min version | XP | 2003/XP64 SP1 | Vista | 7 | 8 Pre RTM | 8 Pre RTM | 10 Pre RTM |
---|---|---|---|---|---|---|---|
Max version | 2003/XP64 SP2 | 2003/XP64 SP2 | Vista SP2 | 7 SP1 | 8.1 Update 1 | 10 TH2 | |
x86 offset offset:bitpos | Field Name | ||||||
0x0000 | struct _HEAP_ENTRY Entry | struct _HEAP_SEGMENT Segment | |||||
0x0000 | struct _HEAP_ENTRY Entry | ||||||
0x0008 | unsigned long Signature | unsigned long SegmentSignature | |||||
0x000C | unsigned long Flags | unsigned long SegmentFlags | |||||
0x0010 | unsigned long ForceFlags | struct _LIST_ENTRY SegmentListEntry | |||||
0x0014 | unsigned long VirtualMemoryThreshold | ||||||
0x0018 | unsigned long SegmentReserve | struct _HEAP * Heap | |||||
0x001C | unsigned long SegmentCommit | void * BaseAddress | |||||
0x0020 | unsigned long DeCommitFreeBlockThreshold | unsigned long NumberOfPages | |||||
0x0024 | unsigned long DeCommitTotalFreeThreshold | struct _HEAP_ENTRY * FirstEntry | |||||
0x0028 | unsigned long TotalFreeSize | struct _HEAP_ENTRY * LastValidEntry | |||||
0x002C | unsigned long MaximumAllocationSize | unsigned long NumberOfUnCommittedPages | |||||
0x0030 | uint16_t ProcessHeapsListIndex | unsigned long NumberOfUnCommittedRanges | |||||
0x0032 | uint16_t HeaderValidateLength | ||||||
0x0034 | void * HeaderValidateCopy | uint16_t SegmentAllocatorBackTraceIndex | |||||
0x0036 | uint16_t Reserved | ||||||
0x0038 | uint16_t NextAvailableTagIndex | struct _LIST_ENTRY UCRSegmentList | |||||
0x003A | uint16_t MaximumTagIndex | ||||||
0x003C | struct _HEAP_TAG_ENTRY * TagEntries | ||||||
0x0040 | struct _HEAP_UCR_SEGMENT * UCRSegments | unsigned long Flags | |||||
0x0044 | struct _HEAP_UNCOMMMTTED_RANGE * UnusedUnCommittedRanges | unsigned long ForceFlags | |||||
0x0048 | unsigned long AlignRound | unsigned long CompatibilityFlags | |||||
0x004C | unsigned long AlignMask | unsigned long EncodeFlagMask | |||||
0x0050 | struct _LIST_ENTRY VirtualAllocdBlocks | struct _HEAP_ENTRY Encoding | |||||
0x0058 | struct _HEAP_SEGMENT *[64] Segments | unsigned long PointerKey | unsigned long Interceptor | ||||
0x005C | unsigned long Interceptor | unsigned long VirtualMemoryThreshold | |||||
0x0060 | unsigned long VirtualMemoryThreshold | unsigned long Signature | |||||
0x0064 | unsigned long Signature | unsigned long SegmentReserve | |||||
0x0068 | unsigned long SegmentReserve | unsigned long SegmentCommit | |||||
0x006C | unsigned long SegmentCommit | unsigned long DeCommitFreeBlockThreshold | |||||
0x0070 | unsigned long DeCommitFreeBlockThreshold | unsigned long DeCommitTotalFreeThreshold | |||||
0x0074 | unsigned long DeCommitTotalFreeThreshold | unsigned long TotalFreeSize | |||||
0x0078 | unsigned long TotalFreeSize | unsigned long MaximumAllocationSize | |||||
0x007C | unsigned long MaximumAllocationSize | uint16_t ProcessHeapsListIndex | |||||
0x007E | uint16_t HeaderValidateLength | ||||||
0x0080 | uint16_t ProcessHeapsListIndex | void * HeaderValidateCopy | |||||
0x0082 | uint16_t HeaderValidateLength | ||||||
0x0084 | void * HeaderValidateCopy | uint16_t NextAvailableTagIndex | |||||
0x0086 | uint16_t MaximumTagIndex | ||||||
0x0088 | uint16_t NextAvailableTagIndex | struct _HEAP_TAG_ENTRY * TagEntries | |||||
0x008A | uint16_t MaximumTagIndex | ||||||
0x008C | struct _HEAP_TAG_ENTRY * TagEntries | struct _LIST_ENTRY UCRList | |||||
0x0090 | struct _LIST_ENTRY UCRList | ||||||
0x0094 | unsigned long AlignRound | ||||||
0x0098 | unsigned long AlignRound | unsigned long AlignMask | |||||
0x009C | unsigned long AlignMask | struct _LIST_ENTRY VirtualAllocdBlocks | |||||
0x00A0 | struct _LIST_ENTRY VirtualAllocdBlocks | ||||||
0x00A4 | struct _LIST_ENTRY SegmentList | ||||||
0x00A8 | struct _LIST_ENTRY SegmentList | ||||||
0x00AC | uint16_t AllocatorBackTraceIndex | ||||||
0x00B0 | uint16_t AllocatorBackTraceIndex | unsigned long NonDedicatedListLength | |||||
0x00B4 | unsigned long NonDedicatedListLength | void * BlocksIndex | |||||
0x00B8 | void * BlocksIndex | void * UCRIndex | |||||
0x00BC | void * UCRIndex | struct _HEAP_PSEUDO_TAG_ENTRY * PseudoTagEntries | |||||
0x00C0 | struct _HEAP_PSEUDO_TAG_ENTRY * PseudoTagEntries | struct _LIST_ENTRY FreeLists | |||||
0x00C4 | struct _LIST_ENTRY FreeLists | ||||||
0x00C8 | struct _HEAP_LOCK * LockVariable | ||||||
0x00CC | struct _HEAP_LOCK * LockVariable | function * CommitRoutine | |||||
0x00D0 | function * CommitRoutine | void * FrontEndHeap | |||||
0x00D4 | void * FrontEndHeap | uint16_t FrontHeapLockCount | |||||
0x00D6 | uint8_t FrontEndHeapType | ||||||
0x00D7 | uint8_t RequestedFrontEndHeapType | ||||||
0x00D8 | uint16_t FrontHeapLockCount | uint16_t * FrontEndHeapUsageData | |||||
0x00DA | uint8_t FrontEndHeapType | ||||||
0x00DC | struct _HEAP_COUNTERS Counters | struct _HEAP_COUNTERS Counters | uint16_t FrontEndHeapMaximumIndex | ||||
0x00DE | uint8_t[257] FrontEndHeapStatusBitmap | volatile uint8_t[257] FrontEndHeapStatusBitmap | |||||
0x0124 | struct _HEAP_TUNING_PARAMETERS TuningParameters | ||||||
0x0130 | struct _HEAP_TUNING_PARAMETERS TuningParameters | ||||||
0x0158 | union __unnamed u | union <unnamed-tag> u | |||||
0x0168 | union __unnamed u2 | union <unnamed-tag> u2 | |||||
0x016A | uint16_t AllocatorBackTraceIndex | ||||||
0x016C | unsigned long NonDedicatedListLength | ||||||
0x0170 | void * LargeBlocksIndex | ||||||
0x0174 | struct _HEAP_PSEUDO_TAG_ENTRY * PseudoTagEntries | ||||||
0x0178 | struct _LIST_ENTRY[128] FreeLists | ||||||
0x01E0 | struct _HEAP_COUNTERS Counters | ||||||
0x023C | struct _HEAP_TUNING_PARAMETERS TuningParameters | ||||||
0x0578 | struct _HEAP_LOCK * LockVariable | ||||||
0x057C | function * CommitRoutine | ||||||
0x0580 | void * FrontEndHeap | ||||||
0x0584 | uint16_t FrontHeapLockCount | ||||||
0x0586 | uint8_t FrontEndHeapType | ||||||
0x0587 | uint8_t LastSegmentIndex |