typedef struct _HEAP { HEAP_ENTRY Entry; unsigned long SegmentSignature; unsigned long SegmentFlags; LIST_ENTRY SegmentListEntry; HEAP *Heap; void *BaseAddress; unsigned long NumberOfPages; HEAP_ENTRY *FirstEntry; HEAP_ENTRY *LastValidEntry; unsigned long NumberOfUnCommittedPages; unsigned long NumberOfUnCommittedRanges; unsigned short SegmentAllocatorBackTraceIndex; unsigned short Reserved; LIST_ENTRY UCRSegmentList; unsigned long Flags; unsigned long ForceFlags; unsigned long CompatibilityFlags; unsigned long EncodeFlagMask; HEAP_ENTRY Encoding; unsigned __int64 PointerKey; unsigned long Interceptor; unsigned long VirtualMemoryThreshold; unsigned long Signature; unsigned __int64 SegmentReserve; unsigned __int64 SegmentCommit; unsigned __int64 DeCommitFreeBlockThreshold; unsigned __int64 DeCommitTotalFreeThreshold; unsigned __int64 TotalFreeSize; unsigned __int64 MaximumAllocationSize; unsigned short ProcessHeapsListIndex; unsigned short HeaderValidateLength; void *HeaderValidateCopy; unsigned short NextAvailableTagIndex; unsigned short MaximumTagIndex; HEAP_TAG_ENTRY *TagEntries; LIST_ENTRY UCRList; unsigned __int64 AlignRound; unsigned __int64 AlignMask; LIST_ENTRY VirtualAllocdBlocks; LIST_ENTRY SegmentList; unsigned short AllocatorBackTraceIndex; unsigned long NonDedicatedListLength; void *BlocksIndex; void *UCRIndex; HEAP_PSEUDO_TAG_ENTRY *PseudoTagEntries; LIST_ENTRY FreeLists; HEAP_LOCK *LockVariable; long (*CommitRoutine)(void *, void **, unsigned __int64 *); void *FrontEndHeap; unsigned short FrontHeapLockCount; unsigned char FrontEndHeapType; HEAP_COUNTERS Counters; HEAP_TUNING_PARAMETERS TuningParameters; } HEAP, *PHEAP;