Sdílet prostřednictvím


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