GlobalLock

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

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

LPVOID GlobalLock(

HGLOBAL 【HMEM】//全局内存对象的地址
); 

参数

【HMEM】

标识全局内存对象。该手柄由GlobalAllocGlobalReAlloc功能返回。

返回值

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

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

备注

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

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

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

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

也可以看看

GlobalAlloc, GlobalFlags, GlobalReAlloc, GlobalUnlock