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

一组标志,用于控制释放内存块的各个方面。 指定以下值会替代 RtlCreateHeap 创建堆时在 Flags 参数中指定的相应值。

标志 含义
HEAP_NO_SERIALIZE RtlFreeHeap 访问堆时,不会使用互斥。

BaseAddress

指向要释放的内存块的指针。 此指针由 RtlAllocateHeap 返回。

返回值

如果成功释放块,RtlFreeHeap 将返回 TRUE;否则为 FALSE

注意从Windows 8返回值类型化为 LOGICAL,其大小与 BOOLEAN 不同。
 

要求

要求
最低受支持的客户端 从 Windows XP 开始可用。
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

另请参阅

RtlAllocateHeap

RtlCreateHeap

RtlDestroyHeap