Windows Win32Memóriakernel32.dll
HeapCreate
Cria um novo heap privado dentro do processo chamador.
Descrição
Permite isolar alocações de um subsistema em seu próprio heap (útil para desempenho ou para liberar tudo de uma vez destruindo o heap inteiro), algo sem equivalente direto no malloc(3) padrão do Linux, mas parecido em espírito a arenas customizadas de alocadores como jemalloc.
Header:
heapapi.hDLL: kernel32.dllNative API: NtCreateHeap (ntdll interno)Assinatura
HANDLE HeapCreate(
DWORD flOptions,
SIZE_T dwInitialSize,
SIZE_T dwMaximumSize
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| flOptions | DWORD | HEAP_NO_SERIALIZE, HEAP_GENERATE_EXCEPTIONS, HEAP_CREATE_ENABLE_EXECUTE. |
| dwInitialSize | SIZE_T | Tamanho inicial confirmado do heap, em bytes. |
| dwMaximumSize | SIZE_T | Tamanho máximo, ou 0 para um heap que cresce conforme necessário. |
Valor de retorno
Um handle para o novo heap em sucesso; NULL em erro (consulte GetLastError).
Códigos de erro (GetLastError)
- ERROR_NOT_ENOUGH_MEMORY(8)
- Memória insuficiente para processar o comando.