Недокументированные функции NTDLL

14 декабря 2000



RtlCreateHeap

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 );


Функция для создания кучи (heap).
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_TRACING
Base
Базовый адрес, где будет создана куча. Если память уже была выделена по этому адресу, куча создаётся по ближайшему доступному виртуальному адресу.
Reserve
Сколько резервировать байт. См. NtAllocateVirtualMemory.
Commit
Сколько выделить байт. Если Reserve больше нуля, то Commit должен быть меньше или равен Reserve.
Lock
Если установлено, куча будет заблокирована. См. RtlLockHeap и RtlUnlockHeap.
RtlHeapParams
Указатель на структуру RTL_HEAP_DEFINITION. На NT 4.0 все байты (кроме поля длины) установлены в 0.


Документировал:
Томаш Новак
Reactos



Зависимости:
Библиотека: ntdll.lib


См. также:
NtAllocateVirtualMemory
NtLockVirtualMemory
RTL_HEAP_DEFINITION
RtlDestroyHeap
RtlLockHeap
RtlUnlockHeap