Windows Win32Memóriakernel32.dll
HeapAlloc
Aloca um bloco de memória de um heap.
Descrição
Nível mais baixo exposto pela Win32 API para alocação de memória de propósito geral — o runtime C (malloc/new) do Windows é tipicamente implementado por cima desta função, usando o heap padrão do processo.
Header:
heapapi.hDLL: kernel32.dllAssinatura
LPVOID HeapAlloc(HANDLE hHeap, DWORD dwFlags, SIZE_T dwBytes);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| hHeap | HANDLE | Handle do heap (ex.: obtido de GetProcessHeap ou HeapCreate). |
| dwFlags | DWORD | HEAP_ZERO_MEMORY, HEAP_NO_SERIALIZE. |
| dwBytes | SIZE_T | Tamanho do bloco a alocar. |
Valor de retorno
Ponteiro para o bloco alocado em sucesso; NULL em erro (a menos que HEAP_GENERATE_EXCEPTIONS esteja definido, caso em que uma exceção é lançada).
Códigos de erro (GetLastError)
- ERROR_NOT_ENOUGH_MEMORY(8)
- Memória insuficiente para processar o comando.
Relacionadas
Equivalente em Linux x86_64