Partager via


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