Condividi tramite


Classe CComHeap

Questa classe implementa IAtlMemMgr usando le funzioni di allocazione della memoria COM.

Importante

Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.

Sintassi

class CComHeap : public IAtlMemMgr

Membri

Metodi pubblici

Nome Descrizione
CComHeap::Allocate Chiamare questo metodo per allocare un blocco di memoria.
CComHeap::Free Chiamare questo metodo per liberare un blocco di memoria allocato da questo gestore di memoria.
CComHeap::GetSize Chiamare questo metodo per ottenere le dimensioni allocate di un blocco di memoria allocato da questo gestore di memoria.
CComHeap::Reallocate Chiamare questo metodo per riallocare la memoria allocata da questo gestore di memoria.

Osservazioni:

CComHeapimplementa funzioni di allocazione di memoria usando le funzioni di allocazione COM, tra cui CoTaskMemAlloc, CoTaskMemFreeIMalloc::GetSize, e CoTaskMemRealloc. La quantità massima di memoria che può essere allocata è uguale a INT_MAX (2147483647) byte.

Esempio

Vedere l'esempio per IAtlMemMgr.

Gerarchia di ereditarietà

IAtlMemMgr

CComHeap

Requisiti

Intestazione: ATLComMem.h

CComHeap::Allocate

Chiamare questo metodo per allocare un blocco di memoria.

virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();

Parametri

nBytes
Numero di byte necessari nel nuovo blocco di memoria.

Valore restituito

Restituisce un puntatore all'inizio del blocco di memoria allocata.

Osservazioni:

Chiamare CComHeap::Free o CComHeap::Reallocate per liberare la memoria allocata da questo metodo.

Implementazione tramite CoTaskMemAlloc.

CComHeap::Free

Chiamare questo metodo per liberare un blocco di memoria allocato da questo gestore di memoria.

virtual void Free(void* p) throw();

Parametri

p
Puntatore alla memoria precedentemente allocata dal gestore di memoria. NULL è un valore valido e non esegue alcuna operazione.

Osservazioni:

Implementazione tramite CoTaskMemFree.

CComHeap::GetSize

Chiamare questo metodo per ottenere le dimensioni allocate di un blocco di memoria allocato da questo gestore di memoria.

virtual size_t GetSize(void* p) throw();

Parametri

p
Puntatore alla memoria precedentemente allocata dal gestore di memoria.

Valore restituito

Restituisce le dimensioni del blocco di memoria allocato in byte.

Osservazioni:

Implementazione tramite IMalloc::GetSize.

CComHeap::Reallocate

Chiamare questo metodo per riallocare la memoria allocata da questo gestore di memoria.

virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();

Parametri

p
Puntatore alla memoria precedentemente allocata dal gestore di memoria.

nBytes
Numero di byte necessari nel nuovo blocco di memoria.

Valore restituito

Restituisce un puntatore all'inizio del blocco di memoria allocata.

Osservazioni:

Chiamare CComHeap::Free per liberare la memoria allocata da questo metodo.

Implementazione tramite CoTaskMemRealloc.

Vedi anche

Esempio DynamicConsumer
Cenni preliminari sulla classe
CWin32Heap Classe
CLocalHeap Classe
CGlobalHeap Classe
CCRTHeap Classe
IAtlMemMgr Classe