Windows Win32Memóriakernel32.dllDepreciada
GlobalAlloc
Aloca memória do heap global — API legada, mantida por compatibilidade (ex.: com a área de transferência/Clipboard e OLE).
Descrição
Em Win32 moderno, é essencialmente um wrapper fino sobre o heap do processo; mantida sobretudo porque certas APIs (como a área de transferência) ainda exigem handles GlobalAlloc/HGLOBAL.
Header:
winbase.hDLL: kernel32.dllDepreciada
Para alocação de memória de propósito geral em código novo, prefira HeapAlloc ou o runtime C padrão (malloc/new) — GlobalAlloc existe majoritariamente por compatibilidade com APIs legadas.
Assinatura
HGLOBAL GlobalAlloc(UINT uFlags, SIZE_T dwBytes);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| uFlags | UINT | GMEM_FIXED, GMEM_MOVEABLE, GMEM_ZEROINIT. |
| dwBytes | SIZE_T | Tamanho do bloco a alocar. |
Valor de retorno
Um handle/ponteiro para o bloco alocado em sucesso; NULL em erro (consulte GetLastError).
Códigos de erro (GetLastError)
- ERROR_NOT_ENOUGH_MEMORY(8)
- Memória insuficiente para processar o comando.