Función GlobalLock (winbase.h)

Bloquea un objeto de memoria global y devuelve un puntero al primer byte del bloque de memoria del objeto.

Nota Las funciones globales tienen mayor sobrecarga y proporcionan menos características que otras funciones de administración de memoria. Las nuevas aplicaciones deben usar las funciones del montón a menos que la documentación indique que se debe usar una función global. Para obtener más información, vea Funciones globales y locales.
 

Sintaxis

LPVOID GlobalLock(
  [in] HGLOBAL hMem
);

Parámetros

[in] hMem

Identificador del objeto de memoria global. Este identificador lo devuelve la función GlobalAlloc o GlobalReAlloc .

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un puntero al primer byte del bloque de memoria.

Si la función no se realiza correctamente, el valor devuelto es NULL. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Las estructuras de datos internas de cada objeto de memoria incluyen un recuento de bloqueos que es inicialmente cero. Para los objetos de memoria extraíbles, GlobalLock incrementa el recuento en uno y la función GlobalUnlock disminuye el recuento en uno. Cada llamada correcta que realiza un proceso a GlobalLock para un objeto debe coincidir con una llamada correspondiente a GlobalUnlock. La memoria bloqueada no se moverá ni descartará, a menos que el objeto de memoria se reasigna mediante la función GlobalReAlloc . El bloque de memoria de un objeto de memoria bloqueado permanece bloqueado hasta que su recuento de bloqueos se reduce a cero, en cuyo momento se puede mover o descartar.

Los objetos de memoria asignados con GMEM_FIXED siempre tienen un recuento de bloqueos de cero. Para estos objetos, el valor del puntero devuelto es igual al valor del identificador especificado.

Si se ha descartado el bloque de memoria especificado o si el bloque de memoria tiene un tamaño de cero bytes, esta función devuelve NULL.

Los objetos descartados siempre tienen un recuento de bloqueos de cero.

Requisitos

   
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado winbase.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Funciones globales y locales

GlobalAlloc

GlobalReAlloc

GlobalUnlock

Funciones de administración de memoria