Função GlobalFree (winbase.h)
Libera o objeto de memória global especificado e invalida seu identificador.
Sintaxe
HGLOBAL GlobalFree(
[in] _Frees_ptr_opt_ HGLOBAL hMem
);
Parâmetros
[in] hMem
Um identificador para o objeto de memória global. Esse identificador é retornado pela função GlobalAlloc ou GlobalReAlloc . Não é seguro liberar memória alocada com LocalAlloc.
Valor retornado
Se a função for bem-sucedida, o valor retornado será NULL.
Se a função falhar, o valor retornado será igual a um identificador para o objeto de memória global. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Se o processo examinar ou modificar a memória depois de ser liberado, poderá ocorrer corrupção de heap ou uma exceção de violação de acesso (EXCEPTION_ACCESS_VIOLATION) poderá ser gerada.
A função GlobalFree liberará um objeto de memória bloqueado. Um objeto de memória bloqueado tem uma contagem de bloqueio maior que zero. A função GlobalLock bloqueia um objeto de memória global e incrementa a contagem de bloqueios em um. A função GlobalUnlock a desbloqueia e diminui a contagem de bloqueios em um. Para obter a contagem de bloqueio de um objeto de memória global, use a função GlobalFlags .
Se um aplicativo estiver em execução em uma versão de depuração do sistema, o GlobalFree emitirá uma mensagem informando que um objeto bloqueado está sendo liberado. Se você estiver depurando o aplicativo, o GlobalFree entrará em um ponto de interrupção pouco antes de liberar um objeto bloqueado. Isso permite que você verifique o comportamento pretendido e continue a execução.
Exemplos
Para obter um exemplo, consulte GlobalAlloc.
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 |