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:
CComHeap
implementa funzioni di allocazione di memoria usando le funzioni di allocazione COM, tra cui CoTaskMemAlloc
, CoTaskMemFree
IMalloc::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