CLocalHeap, classe
Cette classe implémente IAtlMemMgr à l’aide des fonctions de tas locales 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 CLocalHeap : public IAtlMemMgr
Membres
Méthodes publiques
Nom | Description |
---|---|
CLocalHeap ::Allocate | Appelez cette méthode pour allouer un bloc de mémoire. |
CLocalHeap ::Free | Appelez cette méthode pour libérer un bloc de mémoire alloué par ce gestionnaire de mémoire. |
CLocalHeap ::GetSize | Appelez cette méthode pour obtenir la taille allouée d’un bloc de mémoire alloué par ce gestionnaire de mémoire. |
CLocalHeap ::Reallocate | Appelez cette méthode pour réallouer la mémoire allouée par ce gestionnaire de mémoire. |
Notes
CLocalHeap
implémente des fonctions d’allocation de mémoire à l’aide des fonctions de tas locales Win32.
Remarque
Les fonctions de tas locales 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 .
Exemple
Consultez l’exemple pour IAtlMemMgr.
Hiérarchie d'héritage
IAtlMemMgr
CLocalHeap
Spécifications
En-tête : atlmem.h
CLocalHeap ::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 CLocalHeap ::Free ou CLocalHeap ::Reallocate pour libérer la mémoire allouée par cette méthode.
Implémenté à l’aide de LocalAlloc avec un paramètre d’indicateur de LMEM_FIXED.
CLocalHeap ::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 LocalFree.
CLocalHeap ::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 LocalSize.
CLocalHeap ::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 CLocalHeap ::Free pour libérer la mémoire allouée par cette méthode.
Implémenté à l’aide de LocalReAlloc.
Voir aussi
Vue d’ensemble de la classe
CComHeap, classe
CWin32Heap, classe
CGlobalHeap, classe
CCRTHeap, classe
IAtlMemMgr, classe