localLock 函数 (winbase.h)
锁定本地内存对象并返回指向对象内存块的第一个字节的指针。
语法
LPVOID LocalLock(
[in] HLOCAL hMem
);
参数
[in] hMem
本地内存对象的句柄。 此句柄由 LocalAlloc 或 LocalReAlloc 函数返回。
返回值
如果函数成功,则返回值是指向内存块的第一个字节的指针。
如果函数失败,则返回值为 NULL。 要获得更多的错误信息,请调用 GetLastError。
注解
每个内存对象的内部数据结构包括最初为零的锁计数。 对于可移动内存对象, LocalLock 将计数递增 1,LocalUnlock 函数将计数递减 1。 进程对对象的 LocalLock 进行的每个成功调用都必须通过对 LocalUnlock 的相应调用进行匹配。 除非使用 LocalReAlloc 函数重新分配内存对象,否则不会移动或丢弃锁定的内存。 锁定的内存对象的内存块在内存中保持锁定状态,直到其锁计数减少到零,此时可以移动或放弃它。
使用 LMEM_FIXED 分配的内存对象始终具有零锁计数。 对于这些对象,返回的指针的值等于指定句柄的值。
如果指定的内存块已被丢弃,或者内存块具有零字节大小,则此函数返回 NULL。
丢弃的对象始终具有零的锁计数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | winbase.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |