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
, CoTaskMemFree
IMalloc::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