2OOO, 14 December
NTSYSAPI PVOID NTAPI
RtlCreateHeap(
IN ULONG Flags, IN PVOID Base OPTIONAL, IN ULONG Reserve OPTIONAL, IN ULONG Commit, IN BOOLEAN Lock OPTIONAL, IN PRTL_HEAP_DEFINITION RtlHeapParams OPTIONAL );
Flags are defined in <WinNT.h>. Can be one of following: HEAP_NO_SERIALIZE HEAP_GROWABLE HEAP_GENERATE_EXCEPTIONS HEAP_ZERO_MEMORY HEAP_REALLOC_IN_PLACE_ONLY HEAP_TAIL_CHECKING_ENABLED HEAP_FREE_CHECKING_ENABLED HEAP_DISABLE_COALESCE_ON_FREE HEAP_CREATE_ALIGN_16 HEAP_CREATE_ENABLE_TRACING
Base address, where heap should be created. If memory was previously allocated at this address, heap is created at the nearest possibble virtual address.
How much bytes should be reserved. See NtAllocateVirtualMemory.
How meny bytes should be commited. If Reserve is greater than zero, Commit must be less or equal to Reserve.
If set, heap will be locked. See RtlLockHeap / RtlUnlockHeap.
Pointer to RTL_HEAP_DEFINITION structure. On NT 4.0 all bytes of this (except length field) are set to zero.