Partager via


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::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