Compartilhar via


Função LocalLock (winbase.h)

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

Nota As funções locais 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 de heap , a menos que a documentação declare que uma função local deve ser usada. Para obter mais informações, consulte Funções globais e locais.
 

Sintaxe

LPVOID LocalLock(
  [in] HLOCAL hMem
);

Parâmetros

[in] hMem

Um identificador para o objeto de memória local. Esse identificador é retornado pela função LocalAlloc ou LocalReAlloc .

Retornar valor

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, LocalLock incrementa a contagem em um e a função LocalUnlock diminui a contagem por um. Cada chamada bem-sucedida que um processo faz ao LocalLock para um objeto deve ser correspondida por uma chamada correspondente a LocalUnlock. A memória bloqueada não será movida ou descartada, a menos que o objeto de memória seja realocado usando a função LocalReAlloc . O bloco de memória de um objeto de memória bloqueado permanece bloqueado na memória 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 LMEM_FIXED sempre têm uma contagem de bloqueios 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

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
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

Localalloc

LocalFlags

Localrealloc

LocalUnlock

Funções de gerenciamento da memória