Share via


CGlobalHeap-klasse

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze klasse implementeert IAtlMemMgr met behulp van de globale heap-functies van Win32.

Belangrijk

Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.

Syntaxis

class CGlobalHeap : public IAtlMemMgr

Leden

Openbare methoden

Naam Description
CGlobalHeap::Toewijzen Roep deze methode aan om een blok geheugen toe te wijzen.
CGlobalHeap::Free Roep deze methode aan om een blok geheugen vrij te maken dat door deze geheugenbeheerder is toegewezen.
CGlobalHeap::GetSize Roep deze methode aan om de toegewezen grootte op te halen van een geheugenblok dat door deze geheugenbeheerder is toegewezen.
CGlobalHeap::Reallocate Roep deze methode aan om geheugen dat door deze geheugenbeheerder is toegewezen, opnieuw toe te wijzen.

Opmerkingen

CGlobalHeap implementeert geheugentoewijzingsfuncties met behulp van de globale heap-functies van Win32.

Opmerking

De globale heap-functies zijn langzamer dan andere geheugenbeheerfuncties en bieden niet zoveel functies. Daarom moeten nieuwe toepassingen gebruikmaken van de heap-functies. Deze zijn beschikbaar in de klasse CWin32Heap . Globale functies worden nog steeds gebruikt door DDE en de klembordfuncties.

Example

Zie het voorbeeld voor IAtlMemMgr.

Overnamehiërarchie

IAtlMemMgr

CGlobalHeap

Requirements

Koptekst: atlmem.h

CGlobalHeap::Toewijzen

Roep deze methode aan om een blok geheugen toe te wijzen.

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

Parameterwaarden

nBytes
Het aangevraagde aantal bytes in het nieuwe geheugenblok.

Retourwaarde

Retourneert een aanwijzer naar het begin van het zojuist toegewezen geheugenblok.

Opmerkingen

Roep CGlobalHeap::Free of CGlobalHeap::Reallocate aan om het geheugen vrij te maken dat door deze methode is toegewezen.

Geïmplementeerd met behulp van GlobalAlloc met een vlagparameter van GMEM_FIXED.

CGlobalHeap::Free

Roep deze methode aan om een blok geheugen vrij te maken dat door deze geheugenbeheerder is toegewezen.

virtual void Free(void* p) throw();

Parameterwaarden

p
Aanwijzer naar geheugen dat eerder door deze geheugenbeheerder is toegewezen. NULL is een geldige waarde en doet niets.

Opmerkingen

Geïmplementeerd met GlobalFree.

CGlobalHeap::GetSize

Roep deze methode aan om de toegewezen grootte op te halen van een geheugenblok dat door deze geheugenbeheerder is toegewezen.

virtual size_t GetSize(void* p) throw();

Parameterwaarden

p
Aanwijzer naar geheugen dat eerder door deze geheugenbeheerder is toegewezen.

Retourwaarde

Retourneert de grootte van het toegewezen geheugenblok in bytes.

Opmerkingen

Geïmplementeerd met GlobalSize.

CGlobalHeap::Reallocate

Roep deze methode aan om geheugen dat door deze geheugenbeheerder is toegewezen, opnieuw toe te wijzen.

virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();

Parameterwaarden

p
Aanwijzer naar geheugen dat eerder door deze geheugenbeheerder is toegewezen.

nBytes
Het aangevraagde aantal bytes in het nieuwe geheugenblok.

Retourwaarde

Retourneert een aanwijzer naar het begin van het zojuist toegewezen geheugenblok.

Opmerkingen

Roep CGlobalHeap::Gratis aan om het geheugen vrij te maken dat door deze methode is toegewezen.

Geïmplementeerd met GlobalReAlloc.

Zie ook

Overzicht van klassen
CComHeap-klasse
CWin32Heap-klasse
CLocalHeap-klasse
CCRTHeap-klasse
IAtlMemMgr-klasse