Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Esta classe é IAtlMemMgr implementada utilizando as funções de alocação de memória COM.
Importante
Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.
Sintaxe
class CComHeap : public IAtlMemMgr
Membros
Métodos públicos
| Nome | Description |
|---|---|
CComHeap::Allocate |
Chame este método para alocar um bloco de memória. |
CComHeap::Free |
Chame este método para libertar um bloco de memória alocado por este gestor de memória. |
CComHeap::GetSize |
Chame este método para obter o tamanho alocado de um bloco de memória alocado por este gestor de memória. |
CComHeap::Reallocate |
Chame este método para realocar a memória alocada por este gestor de memória. |
Observações
CComHeap implementa funções de alocação de memória usando as funções de alocação COM, incluindo CoTaskMemAlloc, CoTaskMemFree, IMalloc::GetSize, e CoTaskMemRealloc. A quantidade máxima de memória que pode ser alocada é igual a INT_MAX (2147483647) bytes.
Example
Veja o exemplo para IAtlMemMgr.
Hierarquia de herança
IAtlMemMgr
CComHeap
Requerimentos
Cabeçalho: ATLComMem.h
CComHeap::Allocate
Chame este método para alocar um bloco de memória.
virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();
Parâmetros
nBytes
O número pedido de bytes no novo bloco de memória.
Valor de retorno
Devolve um ponteiro para o início do bloco de memória recém-alocado.
Observações
Chamar CComHeap::Free ou CComHeap::Reallocate libertar a memória alocada por este método.
Implementado usando CoTaskMemAlloc.
CComHeap::Grátis
Chame este método para libertar um bloco de memória alocado por este gestor de memória.
virtual void Free(void* p) throw();
Parâmetros
p
Apontador para a memória previamente atribuída por este gestor de memória. NULL é um valor válido e não faz nada.
Observações
Implementado usando CoTaskMemFree.
CComHeap::GetSize
Chame este método para obter o tamanho alocado de um bloco de memória alocado por este gestor de memória.
virtual size_t GetSize(void* p) throw();
Parâmetros
p
Apontador para a memória previamente atribuída por este gestor de memória.
Valor de retorno
Devolve o tamanho do bloco de memória alocado em bytes.
Observações
Implementado usando IMalloc::GetSize.
CComHeap::Realocar
Chame este método para realocar a memória alocada por este gestor de memória.
virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();
Parâmetros
p
Apontador para a memória previamente atribuída por este gestor de memória.
nBytes
O número pedido de bytes no novo bloco de memória.
Valor de retorno
Devolve um ponteiro para o início do bloco de memória recém-alocado.
Observações
Chamada CComHeap::Free para libertar a memória alocada por este método.
Implementado usando CoTaskMemRealloc.
Consulte também
Amostra DynamicConsumer
Visão geral da classe
CWin32Heap Classe
CLocalHeap Classe
CGlobalHeap Classe
CCRTHeap Classe
IAtlMemMgr Classe