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 (include Ntifs.h) |
| 库 | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | < DISPATCH_LEVEL |