Função GlobalLock (winbase.h)

Bloqueia um objeto de memória global e retorna um ponteiro para o primeiro byte do bloco de memória do objeto.

Nota As funções globais têm maior sobrecarga e fornecem menos recursos do que outras funções de gerenciamento de memória. Novos aplicativos devem usar as funções heap , a menos que a documentação declare que uma função global deve ser usada. Para obter mais informações, consulte Funções globais e locais.
 

Sintaxe

LPVOID GlobalLock(
  [in] HGLOBAL hMem
);

Parâmetros

[in] hMem

Um identificador para o objeto de memória global. Esse identificador é retornado pela função GlobalAlloc ou GlobalReAlloc .

Valor retornado

Se a função for bem-sucedida, o valor retornado será um ponteiro para o primeiro byte do bloco de memória.

Se a função falhar, o valor retornado será NULL. Para obter informações de erro estendidas, chame GetLastError.

Comentários

As estruturas de dados internas para cada objeto de memória incluem uma contagem de bloqueio inicialmente zero. Para objetos de memória móveis, o GlobalLock incrementa a contagem em um e a função GlobalUnlock diminui a contagem por um. Cada chamada bem-sucedida que um processo faz ao GlobalLock para um objeto deve ser correspondida por uma chamada correspondente para GlobalUnlock. A memória bloqueada não será movida ou descartada, a menos que o objeto de memória seja realocado usando a função GlobalReAlloc . O bloco de memória de um objeto de memória bloqueado permanece bloqueado até que sua contagem de bloqueios seja decrementada para zero, momento em que ele pode ser movido ou descartado.

Objetos de memória alocados com GMEM_FIXED sempre têm uma contagem de bloqueio de zero. Para esses objetos, o valor do ponteiro retornado é igual ao valor do identificador especificado.

Se o bloco de memória especificado tiver sido descartado ou se o bloco de memória tiver um tamanho de byte zero, essa função retornará NULL.

Os objetos descartados sempre têm uma contagem de bloqueios de zero.

Requisitos

   
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho winbase.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Funções globais e locais

Globalalloc

GlobalReAlloc

GlobalUnlock

Funções de gerenciamento da memória