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