Data Structures |
| struct | PBLOCK_DATA |
| struct | PHEAP_BLOCK |
| struct | PHEAP |
Defines |
| #define | FREELDR_HEAP_VERIFIER |
| #define | DEFAULT_HEAP_SIZE (1024 * 1024) |
| #define | TEMP_HEAP_SIZE (1024 * 1024) |
| #define | REDZONE_MARK 0xCCCCCCCCCCCCCCCCULL |
| #define | REDZONE_ALLOCATION 24 |
| #define | REDZONE_LOW_OFFSET 16 |
| #define | REDZONE_SIZE(Block) ((ULONG64*)Block->Data) |
| #define | REDZONE_LOW(Block) ((ULONG64*)Block->Data + 1) |
| #define | REDZONE_HI(Block) ((ULONG64*)((PUCHAR)Block->Data + 16 + *REDZONE_SIZE(Block))) |
Functions |
| | DBG_DEFAULT_CHANNEL (HEAP) |
| PVOID | HeapCreate (SIZE_T MaximumSize, TYPE_OF_MEMORY MemoryType) |
| VOID | HeapDestroy (PVOID HeapHandle) |
| VOID | HeapRelease (PVOID HeapHandle) |
| VOID | HeapCleanupAll (VOID) |
| static VOID | HeapRemoveFreeList (PHEAP Heap, PHEAP_BLOCK Block) |
| static VOID | HeapInsertFreeList (PHEAP Heap, PHEAP_BLOCK FreeBlock) |
| PVOID | HeapAllocate (PVOID HeapHandle, SIZE_T ByteSize, ULONG Tag) |
| VOID | HeapFree (PVOID HeapHandle, PVOID Pointer, ULONG Tag) |
| VOID | MmInitializeHeap (PVOID PageLookupTable) |
| PVOID | MmHeapAlloc (SIZE_T MemorySize) |
| VOID | MmHeapFree (PVOID MemoryPointer) |
| PVOID NTAPI | ExAllocatePoolWithTag (IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes, IN ULONG Tag) |
| PVOID NTAPI | ExAllocatePool (IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes) |
| VOID NTAPI | ExFreePool (IN PVOID P) |
| VOID NTAPI | ExFreePoolWithTag (IN PVOID P, IN ULONG Tag) |
| PVOID NTAPI | RtlAllocateHeap (IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size) |
| BOOLEAN NTAPI | RtlFreeHeap (IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase) |
Variables |
| PVOID | FrLdrDefaultHeap |
| PVOID | FrLdrTempHeap |