Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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 met behulp van de COM-geheugentoewijzingsfuncties IAtlMemMgr .
Belangrijk
Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
Syntaxis
class CComHeap : public IAtlMemMgr
Leden
Openbare methoden
| Naam | Description |
|---|---|
CComHeap::Allocate |
Roep deze methode aan om een blok geheugen toe te wijzen. |
CComHeap::Free |
Roep deze methode aan om een blok geheugen vrij te maken dat door deze geheugenbeheerder is toegewezen. |
CComHeap::GetSize |
Roep deze methode aan om de toegewezen grootte op te halen van een geheugenblok dat door deze geheugenbeheerder is toegewezen. |
CComHeap::Reallocate |
Roep deze methode aan om geheugen dat door deze geheugenbeheerder is toegewezen, opnieuw toe te wijzen. |
Opmerkingen
CComHeap implementeert geheugentoewijzingsfuncties met behulp van de COM-toewijzingsfuncties, waaronder CoTaskMemAlloc, CoTaskMemFree, IMalloc::GetSizeen CoTaskMemRealloc. De maximale hoeveelheid geheugen die kan worden toegewezen, is gelijk aan INT_MAX (2147483647) bytes.
Example
Zie het voorbeeld voor IAtlMemMgr.
Overnamehiërarchie
IAtlMemMgr
CComHeap
Requirements
Header: ATLComMem.h
CComHeap::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 CComHeap::Free aan of CComHeap::Reallocate maak het geheugen vrij dat door deze methode is toegewezen.
Geïmplementeerd met behulp van CoTaskMemAlloc.
CComHeap::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 behulp van CoTaskMemFree.
CComHeap::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 behulp van IMalloc::GetSize.
CComHeap::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
Aanroep CComHeap::Free om het geheugen vrij te maken dat door deze methode is toegewezen.
Geïmplementeerd met behulp van CoTaskMemRealloc.
Zie ook
DynamicConsumer-voorbeeld
Overzicht van klassen
CWin32Heap klasse
CLocalHeap klasse
CGlobalHeap klasse
CCRTHeap klasse
IAtlMemMgr klasse