Partager via


CGlobalHeap, classe

Cette classe implémente IAtlMemMgr à l’aide des fonctions de tas globales Win32.

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.

Syntaxe

class CGlobalHeap : public IAtlMemMgr

Membres

Méthodes publiques

Nom Description
CGlobalHeap ::Allocate Appelez cette méthode pour allouer un bloc de mémoire.
CGlobalHeap ::Free Appelez cette méthode pour libérer un bloc de mémoire alloué par ce gestionnaire de mémoire.
CGlobalHeap ::GetSize Appelez cette méthode pour obtenir la taille allouée d’un bloc de mémoire alloué par ce gestionnaire de mémoire.
CGlobalHeap ::Reallocate Appelez cette méthode pour réallouer la mémoire allouée par ce gestionnaire de mémoire.

Notes

CGlobalHeap implémente des fonctions d’allocation de mémoire à l’aide des fonctions de tas globales Win32.

Remarque

Les fonctions de tas globales sont plus lentes que d’autres fonctions de gestion de la mémoire et ne fournissent pas autant de fonctionnalités. Par conséquent, les nouvelles applications doivent utiliser les fonctions de tas. Ceux-ci sont disponibles dans la classe CWin32Heap . Les fonctions globales sont toujours utilisées par DDE et les fonctions du Presse-papiers.

Exemple

Consultez l’exemple pour IAtlMemMgr.

Hiérarchie d'héritage

IAtlMemMgr

CGlobalHeap

Spécifications

En-tête : atlmem.h

CGlobalHeap ::Allocate

Appelez cette méthode pour allouer un bloc de mémoire.

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

Paramètres

octets
Nombre demandé d'octets dans le nouveau bloc de mémoire.

Valeur de retour

Retourne un pointeur vers le début du bloc de mémoire nouvellement alloué.

Notes

Appelez CGlobalHeap ::Free ou CGlobalHeap ::Reallocate pour libérer la mémoire allouée par cette méthode.

Implémenté à l’aide de GlobalAlloc avec un paramètre d’indicateur de GMEM_FIXED.

CGlobalHeap ::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 de GlobalFree.

CGlobalHeap ::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 de retour

Retourne la taille du bloc de mémoire alloué en octets.

Notes

Implémenté à l’aide de GlobalSize.

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

octets
Nombre demandé d'octets dans le nouveau bloc de mémoire.

Valeur de retour

Retourne un pointeur vers le début du bloc de mémoire nouvellement alloué.

Notes

Appelez CGlobalHeap ::Free pour libérer la mémoire allouée par cette méthode.

Implémenté à l’aide de GlobalReAlloc.

Voir aussi

Vue d’ensemble de la classe
CComHeap, classe
CWin32Heap, classe
CLocalHeap, classe
CCRTHeap, classe
IAtlMemMgr, classe