Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Classe
Essa classe implementa IAtlMemMgr usando as funções de alocação de memória COM.
Importante
Essa classe e os respectivos membros não podem ser usados em aplicativos 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 ter o tamanho alocado de um bloco de memória alocado por esse gerenciador de memória. |
CComHeap::Reallocate |
Chame esse método para realocar a memória alocada por esse gerenciador de memória. |
Comentários
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.
Exemplo
Confira o exemplo de 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 solicitado de bytes no novo bloco de memória.
Valor retornado
Retorna um ponteiro para o início do bloco de memória recém-alocado.
Comentários
Chame CComHeap::FreeuCComHeap::Reallocate para liberar a memória alocada por esse 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 ter 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::Reallocate
Chame esse método para realocar a 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 solicitado de bytes no novo bloco de memória.
Valor retornado
Retorna um ponteiro para o início do bloco de memória recém-alocado.
Comentários
Chame CComHeap::Free para liberar a memória alocada por esse método.
Implementado usando CoTaskMemRealloc.
Confira também
Exemplo de DynamicConsumer
Visão geral da aula
Classe CWin32Heap
Classe CLocalHeap
Classe CGlobalHeap
Classe CCRTHeap
Classe IAtlMemMgr