Edit

Share via


RtlFreeHeap function

Frees a memory block that was allocated from a heap by RtlAllocateHeap.

Syntax

BOOLEAN RtlFreeHeap(
  _In_     PVOID HeapHandle,
  _In_opt_ ULONG Flags,
  _In_     PVOID HeapBase
);

Parameters

HeapHandle [in]

A handle for the heap whose memory block is to be freed. This parameter is a handle returned by RtlCreateHeap.

Flags [in, optional]

A set of flags that controls aspects of freeing a memory block. Specifying the following value overrides the corresponding value that was specified in the Flags parameter when the heap was created by RtlCreateHeap.

Flag Meaning
HEAP_NO_SERIALIZE
Mutual exclusion will not be used when RtlFreeHeap is accessing the heap.

 

HeapBase [in]

A pointer to the memory block to free. This pointer is returned by RtlAllocateHeap.

Return value

Returns TRUE if the block was freed successfully; FALSE otherwise.

Note

Starting with Windows 8 the return value is typed as LOGICAL, which has a different size than BOOLEAN.

 

Requirements

Requirement Value
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]
Target platform
Universal
Header
Ntifs.h (include Ntifs.h)
Library
Ntdll.lib
DLL
Ntdll.dll

See also

RtlAllocateHeap

RtlCreateHeap

RtlDestroyHeap