Поделиться через


Функция RtlFreeHeap (ntifs.h)

Подпрограмма RtlFreeHeap освобождает блок памяти, выделенный из кучи RtlAllocateHeap.

Синтаксис

NTSYSAPI LOGICAL RtlFreeHeap(
  [in]           PVOID                 HeapHandle,
  [in, optional] ULONG                 Flags,
                 _Frees_ptr_opt_ PVOID BaseAddress
);

Параметры

[in] HeapHandle

Дескриптор кучи, блок памяти которой должен быть освобожден. Этот параметр представляет собой дескриптор, возвращаемый RtlCreateHeap.

[in, optional] Flags

Набор флагов, который управляет аспектами освобождения блока памяти. При указании следующего значения переопределяется соответствующее значение, указанное в параметре Flags при создании кучи RtlCreateHeap.

Флаг Значение
HEAP_NO_SERIALIZE Взаимное исключение не будет использоваться, если RtlFreeHeap обращается к куче.

BaseAddress

Указатель на блок памяти для освобождения. Этот указатель возвращается RtlAllocateHeap.

Возвращаемое значение

RtlFreeHeap возвращает true, если блок был освобожден успешно; FALSE в противном случае.

Примечание начиная с Windows 8 возвращаемое значение вводится как ЛОГИЧЕСКИй, размер которого отличается от BOOLEAN.
 

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows XP.
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

См. также

RtlAllocateHeap

RtlCreateHeap

RtlDeskHeap