heapUnlock 函数 (heapapi.h)

释放与指定堆关联的关键节对象或锁的所有权。 它反转 HeapLock 函数的操作。

语法

BOOL HeapUnlock(
  [in] HANDLE hHeap
);

参数

[in] hHeap

要解锁的堆的句柄。 此句柄由 HeapCreateGetProcessHeap 函数返回。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

HeapLock 函数主要用于防止在调用线程使用 HeapWalk 函数时由其他线程分配和释放堆内存。 HeapUnlock 函数是 HeapLock 的反函数。

每次对 HeapLock 的调用都必须与对 HeapUnlock 函数的相应调用相匹配。 调用 HeapUnlock 失败将阻止执行尝试访问堆的调用进程的任何其他线程。

如果在使用 HEAP_NO_SERIALIZATION 标志创建的堆上调用 HeapUnlock 函数,则结果未定义。

示例

枚举堆

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 heapapi.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

堆函数

HeapLock

HeapWalk

内存管理函数

VBS enclave 中可用的 Vertdll API