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.
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 |