HeapLock函数尝试获取与指定堆相关联的关键部分对象或锁定。
如果函数成功,调用线程拥有堆锁。只有调用线程才能从堆中分配或释放内存。如果该线程尝试从堆中分配或释放内存,则调用进程的任何其他线程的执行将被阻止。这样的线程将保持阻塞,直到拥有堆锁的线程调用HeapUnlock 函数。
BOOL HeapLock(
HANDLE 【hHeap】 | //处理堆以锁定专用线程访问 |
); |
参数
【hHeap】
处理堆以锁定调用线程的独占访问。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
HeapLock函数主要用于在调用线程使用HeapWalk函数时阻止其他线程分配和释放堆内存。
必须通过对HeapUnlock功能的相应调用来匹配HeapLock的每个呼叫。未能调用HeapUnlock将阻止尝试访问堆的调用进程的任何其他线程的执行。
也可以看看