CGlobalHeap – třída
Tato třída implementuje IAtlMemMgr pomocí funkcí globální haldy Win32.
Důležité
Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.
Syntaxe
class CGlobalHeap : public IAtlMemMgr
Členové
Veřejné metody
Název | Popis |
---|---|
CGlobalHeap::Přidělení | Voláním této metody přidělte blok paměti. |
CGlobalHeap::Free | Voláním této metody uvolníte blok paměti přidělený tímto správcem paměti. |
CGlobalHeap::GetSize | Voláním této metody získáte přidělenou velikost bloku paměti přiděleného tímto správcem paměti. |
CGlobalHeap::Reallocate | Voláním této metody relokuje paměť přidělenou tímto správcem paměti. |
Poznámky
CGlobalHeap
implementuje funkce přidělování paměti pomocí funkcí globální haldy Win32.
Poznámka:
Globální funkce haldy jsou pomalejší než jiné funkce správy paměti a neposkytují tolik funkcí. Nové aplikace by proto měly používat funkce haldy. Jsou k dispozici ve třídě CWin32Heap . Globální funkce stále používají DDE a funkce schránky.
Příklad
Podívejte se na příklad pro IAtlMemMgr.
Hierarchie dědičnosti
IAtlMemMgr
CGlobalHeap
Požadavky
Hlavička: atlmem.h
CGlobalHeap::Přidělení
Voláním této metody přidělte blok paměti.
virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();
Parametry
nBajty
Požadovaný počet bajtů v novém bloku paměti.
Návratová hodnota
Vrátí ukazatel na začátek nově přiděleného bloku paměti.
Poznámky
Volání CGlobalHeap::Free nebo CGlobalHeap::Reallocate uvolnit paměť přidělenou touto metodou.
Implementováno pomocí GlobalAlloc s parametrem příznaku GMEM_FIXED.
CGlobalHeap::Free
Voláním této metody uvolníte blok paměti přidělený tímto správcem paměti.
virtual void Free(void* p) throw();
Parametry
p
Ukazatel na paměť dříve přidělený tímto správcem paměti. NULL je platná hodnota a nic nedělá.
Poznámky
Implementováno pomocí GlobalFree.
CGlobalHeap::GetSize
Voláním této metody získáte přidělenou velikost bloku paměti přiděleného tímto správcem paměti.
virtual size_t GetSize(void* p) throw();
Parametry
p
Ukazatel na paměť dříve přidělený tímto správcem paměti.
Návratová hodnota
Vrátí velikost přiděleného bloku paměti v bajtech.
Poznámky
Implementováno pomocí GlobalSize.
CGlobalHeap::Reallocate
Voláním této metody relokuje paměť přidělenou tímto správcem paměti.
virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();
Parametry
p
Ukazatel na paměť dříve přidělený tímto správcem paměti.
nBajty
Požadovaný počet bajtů v novém bloku paměti.
Návratová hodnota
Vrátí ukazatel na začátek nově přiděleného bloku paměti.
Poznámky
Volání CGlobalHeap::Free uvolnit paměť přidělenou touto metodou.
Implementováno pomocí GlobalReAlloc.
Viz také
Přehled třídy
CComHeap – třída
CWin32Heap – třída
CLocalHeap – třída
CCRTHeap – třída
IAtlMemMgr – třída