Classe CGlobalHeap

Essa classe implementa IAtlMemMgr usando as funções de heap global win32.

Importante

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

Sintaxe

class CGlobalHeap : public IAtlMemMgr

Membros

Métodos públicos

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

Comentários

CGlobalHeap implementa funções de alocação de memória usando as funções de heap global win32.

Observação

As funções de heap globais são mais lentas do que outras funções de gerenciamento de memória e não fornecem tantos recursos. Portanto, novos aplicativos devem usar as funções de heap. Eles estão disponíveis na classe CWin32Heap . As funções globais ainda são usadas pelo DDE e pelas funções da área de transferência.

Exemplo

Consulte o exemplo de IAtlMemMgr.

Hierarquia de herança

IAtlMemMgr

CGlobalHeap

Requisitos

Header: atlmem.h

CGlobalHeap::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 CGlobalHeap::Free ou CGlobalHeap::Reallocate para liberar a memória alocada por esse método.

Implementado usando GlobalAlloc com um parâmetro de sinalizador de GMEM_FIXED.

CGlobalHeap::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 este gerenciador de memória. NULL é um valor válido e não faz nada.

Comentários

Implementado usando GlobalFree.

CGlobalHeap::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 este gerenciador de memória.

Valor Retornado

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

Comentários

Implementado usando GlobalSize.

CGlobalHeap::Reallocate

Chame esse método para relocar 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 este 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 CGlobalHeap::Free para liberar a memória alocada por esse método.

Implementado usando GlobalReAlloc.

Confira também

Visão geral da classe
Classe CComHeap
Classe CWin32Heap
Classe CLocalHeap
Classe CVTHeap
Classe IAtlMemMgr