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 |