马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
注:本文档由 百日维新 翻译,小甲鱼校对。
原文链接 -> 传送门
函数功能:
HeapLock 函数用于尝试获取与指定堆相关联的临界区对象或锁。
API 函数原型:
注释:_In_ 说明该参数是输入的。BOOL WINAPI HeapLock(
_In_ HANDLE hHeap
);
参数解析:
返回值:
1. 如果函数调用成功,返回值是非 0;
2. 如果函数调用失败,返回值是 0。
若想获得更多的错误信息,可调用 GetLastError 函数。
备注:
1. 如果函数成功,调用线程拥有堆锁。只有调用线程能够从堆中分配或释放的内存。如果线程试图从堆中分配或释放的内存,那么调用进程的其他线程执行将会被阻塞。这些线程将仍然被阻塞,直到拥有堆锁线程调用 HeapUnlock 函数释放锁。
2. HeapLock 函数主要用于防止当调用线程使用 HeapWalk 函数时,其他线程分配和释放堆内存。
3. 如果 HeapUnlock 函数调用在 HEAP_NO_SERIALIZATION 属性堆上,操作结果未定义。
4. 每成功调用 HeapLock 函数一次,必须也调用 HeapUnlock 函数一次来与之对应。调用 HeapUnlock 函数失败将阻止尝试访问堆的调用进程的其他任何线程执行。
需求:
Minimum supported client | Windows xp [桌面应用程序 | Windows Store 程序] | Minimum supported server | Windows 2003 服务器版 [桌面应用程序 | Windows Store 程序] | Minimum supported phone | Windows Phone 8 | Header | HeapApi.h (包含于 Windows.h);
WinBase.h 在 Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP 上(包含于 Windows.h) | Library | Kernel32.lib | DLL | Kernel32.dll |
【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。
|