Compartilhar via


HeapFree

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função libera um bloco memória de um heap. Bloco de memória foi alocado pelo HeapAlloc ou a função HeapReAlloc.

Syntax

BOOL HeapFree(
  HANDLE hHeap,
  DWORD dwFlags,
  LPVOID lpMem 
);

Parameters

  • hHeap
    [no] Identificador para o heap cujo bloco memória é liberado por essa função. Este parâmetro é um identificador retornado pelo HeapCreate ou a função GetProcessHeap.

    Se este parâmetro for definido como NULL, o padrão inválido parâmetro código de erro é retornado. Para informações de erro estendidas get, chamar GetLastError.

  • dwFlags
    [no] Controláveis aspectos de liberar um bloco memória. Somente um sinalizador é definido no momento; No entanto, todos os outros valores sinalizador são reservados para uso futuro.

    Especificar HEAP_NO_SERIALIZE substitui o correspondente sinalizador especificado na flOptions parâmetro quando o heap foi criado usando o HeapCreate função. Este sinalizador especifica que a exclusão mútua é ser usado ao HeapFree está acessando o heap.

    Fazer não especificar esse sinalizador quando estiver acessando o heap processo. O sistema pode criar segmentos adicionais dentro processo do aplicativo o que simultaneamente acessar heap de processo.

    Este sinalizador será ignorado.

  • lpMem
    [no] Ponteiro válido para bloco de memória para ser liberado.

    Esse ponteiro é retornado pelo HeapAlloc Ou HeapReAlloc função.

Return Value

Nonzero indica sucesso. Zero indica falha. Para informações de erro estendidas get, chamar GetLastError.

Remarks

Garante a serialização de exclusão mútua quando dois ou mais segmentos tentar alocar simultaneamente ou livre bloqueia a partir de heap mesmo. Há um custo desempenho pequeno, mas ele deve ser usado quando múltiplo alocar segmentos e livre memória a partir de heap mesmo.

Um crítico seção sempre é usada para acessar serializar para um individual heap. Há um crítico seção por heap para proteger acessar para cada heap.

Tentar pegar um crítico seção que não seja pertencente é uma operação caminho rápido que gera pouca sobrecarga. Isso é semelhante a usar o sinalizador HEAP_NO_SERIALIZE se somente um segmento nunca foi acessando um heap específico.

Se houver contenção para o crítico seção e, portanto, o heap, uma nova solicitação segmento alocar espaço heap será serializar.

Se NULL é passado como o hHeap parâmetro, o padrão inválido parâmetro código de erro é retornado. Para informações de erro estendidas get, chamar GetLastError.

Requirements

Header winbase.h
Library coredll.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

Memory Management Functions
GetProcessHeap
HeapAlloc
HeapCreate
HeapDestroy
HeapReAlloc
HeapSize