Expand Minimize

RtlFreeHeap routine

The RtlFreeHeap routine 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.

FlagMeaning

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

RtlFreeHeap 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

Version

Available starting in Windows XP.

Header

Ntifs.h (include Ntifs.h)

Library

Ntoskrnl.lib

IRQL

< DISPATCH_LEVEL

See also

RtlAllocateHeap
RtlCreateHeap
RtlDestroyHeap

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft