14 декабря 2000
NTSYSAPI PVOID NTAPIRtlCreateHeap(
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
Флаги определены в <WinNT.h>. Могут быть следующими: 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_TRACINGBase
Базовый адрес, где будет создана куча. Если память уже была выделена по этому адресу, куча создаётся по ближайшему доступному виртуальному адресу.Reserve
Сколько резервировать байт. См. NtAllocateVirtualMemory.Commit
Сколько выделить байт. Если Reserve больше нуля, то Commit должен быть меньше или равен Reserve.Lock
Если установлено, куча будет заблокирована. См. RtlLockHeap и RtlUnlockHeap.RtlHeapParams
Указатель на структуру RTL_HEAP_DEFINITION. На NT 4.0 все байты (кроме поля длины) установлены в 0.