Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La classe
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::GetSizeet 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 CoTaskMemAllocde .
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 CoTaskMemFreede .
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::GetSizede .
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 CoTaskMemReallocde .
Voir aussi
Exemple DynamicConsumer
Vue d’ensemble de la classe
CWin32Heap Classe
CLocalHeap Classe
CGlobalHeap Classe
CCRTHeap Classe
IAtlMemMgr Classe