Windows Win32Memóriakernel32.dll
HeapReAlloc
Redimensiona um bloco de memória previamente alocado, preservando seu conteúdo até o menor dos dois tamanhos.
Descrição
Equivalente funcional ao `realloc(3)` da libc, mas operando sobre um heap explícito do Windows.
Header:
heapapi.hDLL: kernel32.dllAssinatura
LPVOID HeapReAlloc(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem, SIZE_T dwBytes);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| hHeap | HANDLE | Handle do heap. |
| dwFlags | DWORD | HEAP_ZERO_MEMORY, HEAP_REALLOC_IN_PLACE_ONLY. |
| lpMem | LPVOID | Ponteiro para o bloco a redimensionar. |
| dwBytes | SIZE_T | Novo tamanho desejado. |
Valor de retorno
Ponteiro para o bloco (possivelmente movido) em sucesso; NULL em erro.
Códigos de erro (GetLastError)
- ERROR_NOT_ENOUGH_MEMORY(8)
- Memória insuficiente para processar o comando.