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