Partilhar 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 do heap.

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

  • nInitialSize
    O tamanho inicial do heap.

  • nMaxSize
    O tamanho máximo do heap.

Comentários

Antes de alocar memória, é necessário fornecer o objeto CWin32Heap com um identificador de heap válido. A maneira mais simples de fazer isso é usar o heap de processo:

CWin32Heap MyHeap(GetProcessHeap());   

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

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

Se um heap for necessário onde todas as operações são executadas de um único thread, o melhor modo é criar o objeto como segue:

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 alocarem e liberarem memória, com um aumento no desempenho consistente.

O terceiro parâmetro é padronizado como 0, o que permite que o heap aumente conforme necessário. Consulte HeapCreate para obter uma explicação dos tamanhos de memória e dos sinalizadores.

Requisitos

Cabeçalho: atlmem.h

Consulte também

Outros recursos

HeapCreate