La classe CComHeap
Cette classe implémente IAtlMemMgr
l’utilisation des fonctions d’allocation de mémoire COM.
Important
Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.
Syntaxe
class CComHeap : public IAtlMemMgr
Membres
Méthodes publiques
Nom | Description |
---|---|
CComHeap::Allocate |
Appelez cette méthode pour allouer un bloc de mémoire. |
CComHeap::Free |
Appelez cette méthode pour libérer un bloc de mémoire alloué par ce gestionnaire de mémoire. |
CComHeap::GetSize |
Appelez cette méthode pour obtenir la taille allouée d’un bloc de mémoire alloué par ce gestionnaire de mémoire. |
CComHeap::Reallocate |
Appelez cette méthode pour réallouer la mémoire allouée par ce gestionnaire de mémoire. |
Notes
CComHeap
implémente des fonctions d’allocation de mémoire à l’aide des fonctions d’allocation COM, notamment CoTaskMemAlloc
, CoTaskMemFree
, IMalloc::GetSize
et CoTaskMemRealloc
. La quantité maximale de mémoire pouvant être allouée est égale à INT_MAX
(2147483647) octets.
Exemple
Consultez l’exemple pour IAtlMemMgr
.
Hiérarchie d’héritage
IAtlMemMgr
CComHeap
Spécifications
En-tête : ATLComMem.h
CComHeap ::Allocate
Appelez cette méthode pour allouer un bloc de mémoire.
virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();
Paramètres
nBytes
Nombre demandé d'octets dans le nouveau bloc de mémoire.
Valeur retournée
Retourne un pointeur vers le début du bloc de mémoire nouvellement alloué.
Notes
Appelez ou CComHeap::Reallocate
libérez CComHeap::Free
la mémoire allouée par cette méthode.
Implémenté à l’aide CoTaskMemAlloc
de .
CComHeap ::Free
Appelez cette méthode pour libérer un bloc de mémoire alloué par ce gestionnaire de mémoire.
virtual void Free(void* p) throw();
Paramètres
p
Pointeur vers la mémoire précédemment allouée par ce gestionnaire de mémoire. NULL est une valeur valide et ne fait rien.
Notes
Implémenté à l’aide CoTaskMemFree
de .
CComHeap ::GetSize
Appelez cette méthode pour obtenir la taille allouée d’un bloc de mémoire alloué par ce gestionnaire de mémoire.
virtual size_t GetSize(void* p) throw();
Paramètres
p
Pointeur vers la mémoire précédemment allouée par ce gestionnaire de mémoire.
Valeur retournée
Retourne la taille du bloc de mémoire alloué en octets.
Notes
Implémenté à l’aide IMalloc::GetSize
de .
CComHeap ::Reallocate
Appelez cette méthode pour réallouer la mémoire allouée par ce gestionnaire de mémoire.
virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();
Paramètres
p
Pointeur vers la mémoire précédemment allouée par ce gestionnaire de mémoire.
nBytes
Nombre demandé d'octets dans le nouveau bloc de mémoire.
Valeur retournée
Retourne un pointeur vers le début du bloc de mémoire nouvellement alloué.
Notes
Appelez CComHeap::Free
pour libérer la mémoire allouée par cette méthode.
Implémenté à l’aide CoTaskMemRealloc
de .
Voir aussi
Exemple DynamicConsumer
Vue d’ensemble de la classe
CWin32Heap
Classe
CLocalHeap
Classe
CGlobalHeap
Classe
CCRTHeap
Classe
IAtlMemMgr
Classe