Função LocalUnlock (winbase.h)

Diminui a contagem de bloqueios associada a um objeto de memória alocado com LMEM_MOVEABLE. Essa função não tem efeito sobre objetos de memória alocados com LMEM_FIXED.

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

BOOL LocalUnlock(
  [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 .

Valor retornado

Se o objeto de memória ainda estiver bloqueado após a diminuição da contagem de bloqueios, o valor retornado não será zero. Se o objeto de memória for desbloqueado após a diminuição da contagem de bloqueios, a função retornará zero e GetLastError retornará NO_ERROR.

Se a função falhar, o valor retornado será zero e GetLastError retornará um valor diferente de NO_ERROR.

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, a função LocalLock incrementa a contagem em um e LocalUnlock diminui a contagem em um. Para cada chamada que um processo faz ao LocalLock para um objeto, ele deve eventualmente chamar 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 até que sua contagem de bloqueios seja decrementada para zero, momento em que ele pode ser movido ou descartado.

Se o objeto de memória já estiver desbloqueado, LocalUnlock retornará os relatórios FALSE e GetLastErrorERROR_NOT_LOCKED. Objetos de memória alocados com LMEM_FIXED sempre têm uma contagem de bloqueio de zero e causam o erro de ERROR_NOT_LOCKED .

Um processo não deve depender do valor retornado para determinar o número de vezes que deve chamar LocalUnlock posteriormente para o bloco de memória.

Requisitos

   
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

LocalLock

Localrealloc

Funções de gerenciamento da memória