Voltar à lista
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âmetroTipoDescrição
flOptionsDWORDHEAP_NO_SERIALIZE, HEAP_GENERATE_EXCEPTIONS, HEAP_CREATE_ENABLE_EXECUTE.
dwInitialSizeSIZE_TTamanho inicial confirmado do heap, em bytes.
dwMaximumSizeSIZE_TTamanho 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.

Relacionadas