Classe CComHeap

Essa classe implementa IAtlMemMgr usando as funções de alocação de memória com.

Importante

Essa classe e seus membros não podem ser usados em aplicativos que são executados no Windows Runtime.

Sintaxe

class CComHeap : public IAtlMemMgr

Membros

Métodos públicos

Nome Descrição
CComHeap::Allocate Chame esse método para alocar um bloco de memória.
CComHeap::Free Chame esse método para liberar um bloco de memória alocado por esse Gerenciador de memória.
CComHeap::GetSize Chame esse método para obter o tamanho alocado de um bloco de memória alocado por esse Gerenciador de memória.
CComHeap::Reallocate Chame esse método para realocar memória alocada por esse Gerenciador de memória.

Comentários

CComHeap implementa as funções de alocação de memória usando as funções de alocação com, incluindo CoTaskMemAlloc , CoTaskMemFreeIMalloc::GetSize , e CoTaskMemRealloc . A quantidade máxima de memória que pode ser alocada é igual a INT_MAX (2147483647) bytes.

Exemplo

Consulte o exemplo para IAtlMemMgr .

Hierarquia de herança

IAtlMemMgr

CComHeap

Requisitos

Cabeçalho: ATLComMem. h

CComHeap:: Allocate

Chame esse método para alocar um bloco de memória.

virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();

Parâmetros

nBytes
O número de bytes solicitado no novo bloco de memória.

Valor retornado

Retorna um ponteiro para o início do bloco de memória alocado recentemente.

Comentários

Chame CComHeap::Free ou CComHeap::Reallocate para liberar a memória alocada por este método.

Implementado usando CoTaskMemAlloc .

CComHeap:: Free

Chame esse método para liberar um bloco de memória alocado por esse Gerenciador de memória.

virtual void Free(void* p) throw();

Parâmetros

p
Ponteiro para a memória alocada anteriormente por esse Gerenciador de memória. NULL é um valor válido e não faz nada.

Comentários

Implementado usando CoTaskMemFree .

CComHeap::GetSize

Chame esse método para obter o tamanho alocado de um bloco de memória alocado por esse Gerenciador de memória.

virtual size_t GetSize(void* p) throw();

Parâmetros

p
Ponteiro para a memória alocada anteriormente por esse Gerenciador de memória.

Valor retornado

Retorna o tamanho do bloco de memória alocado em bytes.

Comentários

Implementado usando IMalloc::GetSize .

CComHeap:: realocar

Chame esse método para realocar memória alocada por esse Gerenciador de memória.

virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();

Parâmetros

p
Ponteiro para a memória alocada anteriormente por esse Gerenciador de memória.

nBytes
O número de bytes solicitado no novo bloco de memória.

Valor retornado

Retorna um ponteiro para o início do bloco de memória alocado recentemente.

Comentários

Chame CComHeap::Free para liberar a memória alocada por este método.

Implementado usando CoTaskMemRealloc .

Confira também

Exemplo de DynamicConsumer
Visão geral da classe
CWin32Heap Classes
CLocalHeap Classes
CGlobalHeap Classes
CCRTHeap Classes
IAtlMemMgr Classes