Sdílet prostřednictvím


CLocalHeap – třída

Tato třída implementuje IAtlMemMgr pomocí funkcí místní 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 CLocalHeap : public IAtlMemMgr

Členové

Veřejné metody

Jméno popis
CLocalHeap::Přidělení Voláním této metody přidělte blok paměti.
CLocalHeap::Free Voláním této metody uvolníte blok paměti přidělený tímto správcem paměti.
CLocalHeap::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.
CLocalHeap::Reallocate Voláním této metody relokuje paměť přidělenou tímto správcem paměti.

Poznámky

CLocalHeap implementuje funkce přidělování paměti pomocí funkcí místní haldy Win32.

Poznámka

Funkce místní 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 .

Příklad

Podívejte se na příklad pro IAtlMemMgr.

Hierarchie dědičnosti

IAtlMemMgr

CLocalHeap

Požadavky

Hlavička: atlmem.h

CLocalHeap::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.

Vrácená hodnota

Vrátí ukazatel na začátek nově přiděleného bloku paměti.

Poznámky

Volání CLocalHeap::Free nebo CLocalHeap::Reallocate uvolnit paměť přidělenou touto metodou.

Implementováno pomocí LocalAlloc s parametrem příznaku LMEM_FIXED.

CLocalHeap::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í LocalFree.

CLocalHeap::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.

Vrácená hodnota

Vrátí velikost přiděleného bloku paměti v bajtech.

Poznámky

Implementováno pomocí localSize.

CLocalHeap::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.

Vrácená hodnota

Vrátí ukazatel na začátek nově přiděleného bloku paměti.

Poznámky

Volání CLocalHeap::Free uvolnit paměť přidělenou touto metodou.

Implementováno pomocí LocalReAlloc.

Viz také

Přehled třídy
CComHeap – třída
CWin32Heap – třída
CGlobalHeap – třída
CCRTHeap – třída
IAtlMemMgr – třída