Compartilhar via


CWin32Heap::CWin32Heap

o construtor.

CWin32Heap( ) throw( ); 
CWin32Heap(
   HANDLE hHeap 
) throw( );
CWin32Heap(
   DWORD dwFlags,
   size_t nInitialSize,
   size_t nMaxSize = 0 
);

Parâmetros

  • hHeap
    Um objeto existente da heap.

  • dwFlags
    Sinalizadores usados na criação do heap.

  • nInitialSize
    O tamanho inicial da heap.

  • nMaxSize
    O tamanho máximo do heap.

Comentários

Antes de atribuí-lo a memória, é necessário fornecer o objeto de CWin32Heap com um identificador válido no heap.A maneira mais simples para fazer isso é usar o heap do processo:

CWin32Heap MyHeap(GetProcessHeap());   

Também é possível fornecer um identificador existente da heap para o construtor, em esse caso o novo objeto não tem sobre a propriedade da heap.O identificador da heap original ainda será válido quando o objeto de CWin32Heap é excluído.

Um heap existente também pode ser anexado ao novo objeto, usando CWin32Heap::Attach.

Se um heap é necessário onde todas as operações são executadas de um único segmento, a melhor maneira é criar o objeto da seguinte maneira:

CWin32Heap MyHeap(HEAP_NO_SERIALIZE, SomeInitialSize);   

O parâmetro HEAP_NO_SERIALIZE especifica que a exclusão mútua não será usada quando as funções do heap de atributo e liberam a memória, com um aumento concessão de desempenho.

O terceiro parâmetro padrão é 0, que permite que o heap aumenta conforme necessário.Consulte HeapCreate para uma explicação sobre os tamanhos de memória e os sinalizadores.

Requisitos

Cabeçalho: atlmem.h

Consulte também

Referência

Classe de CWin32Heap

HeapCreate