Partilhar via


CComHeap Classe

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