Função GlobalUnlock (winbase.h)
Diminui a contagem de bloqueios associada a um objeto de memória alocado com GMEM_MOVEABLE. Essa função não tem efeito sobre objetos de memória alocados com GMEM_FIXED.
Sintaxe
BOOL GlobalUnlock(
[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 o objeto de memória ainda estiver bloqueado após a diminuição da contagem de bloqueios, o valor retornado será um valor diferente de 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 GlobalLock incrementa a contagem em um e GlobalUnlock diminui a contagem em um. Para cada chamada que um processo faz ao GlobalLock para um objeto, ele deve eventualmente chamar 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. Se o bloco de memória especificado for memória fixa, essa função retornará TRUE.
Se o objeto de memória já estiver desbloqueado, GlobalUnlock retornará os relatórios FALSE e GetLastErrorERROR_NOT_LOCKED.
Um processo não deve depender do valor retornado para determinar o número de vezes que deve chamar GlobalUnlock posteriormente para um objeto de memória.
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 |