LocalLock

【勇芳软件工作室】汉化HomePreviousNext

LocalLock函数锁定本地内存对象,并返回指向对象内存块第一个字节的指针。与锁定的存储器对象相关联的存储器块不能被移动或丢弃。对于使用LMEM_MOVEABLE标志分配的内存对象,该函数会增加对象的锁定计数。

hook chain

HLOCAL 【HMEM】//本地内存对象的句柄
); 

参数

【HMEM】

标识本地内存对象。该手柄由LocalAllocLocalReAlloc功能返回。

返回值

如果函数成功,则返回值是指向内存块第一个字节的指针。

如果函数失败,返回值为NULL。要获取扩展错误信息,请调用GetLastError.

备注

每个存储器对象的内部数据结构包括最初为零的锁定计数。对于可移动存储器对象,LocalLock将计数递增1,并且LocalUnlock函数将计数递减1。对于对象的进程对LocalLock的每个调用,它必须最终调用LocalUnlock.锁定的内存不会被移动或丢弃,除非通过使用LocalReAlloc功能重新分配内存对象。锁定的存储器对象的存储器块保持锁定在存储器中,直到其锁定计数递减为零为止,此时可以移动或丢弃它。

使用LMEM_FIXED标志分配的内存对象总是具有零的锁定计数。对于这些对象,返回的指针的值等于指定句柄的值。

如果指定的内存块已被丢弃,或者内存块的大小为零,则该函数返回NULL。

丢弃的对象总是锁定计数为零。

也可以看看

LocalAlloc, LocalFlags, LocalReAlloc, LocalUnlock