Sdílet prostřednictvím


CComHeap Třída

Tato třída implementuje IAtlMemMgr pomocí funkcí přidělení paměti modelu COM.

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 CComHeap : public IAtlMemMgr

Členové

Veřejné metody

Název Popis
CComHeap::Allocate Voláním této metody přidělte blok paměti.
CComHeap::Free Voláním této metody uvolníte blok paměti přidělený tímto správcem paměti.
CComHeap::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.
CComHeap::Reallocate Voláním této metody relokuje paměť přidělenou tímto správcem paměti.

Poznámky

CComHeap implementuje funkce přidělování paměti pomocí funkcí přidělení modelu COM, včetně CoTaskMemAlloc, CoTaskMemFree, IMalloc::GetSizea CoTaskMemRealloc. Maximální velikost paměti, kterou lze přidělit, se rovná INT_MAX bajtům (2147483647).

Příklad

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

Hierarchie dědičnosti

IAtlMemMgr

CComHeap

Požadavky

Hlavička: ATLComMem.h

CComHeap::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

nBytes
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í CComHeap::Free nebo CComHeap::Reallocate uvolnění paměti přidělené touto metodou.

Implementováno pomocí CoTaskMemAlloc.

CComHeap::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í CoTaskMemFree.

CComHeap::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í IMalloc::GetSize.

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

nBytes
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í CComHeap::Free uvolnit paměť přidělenou touto metodou.

Implementováno pomocí CoTaskMemRealloc.

Viz také

Ukázka DynamicConsumer
Přehled třídy
CWin32Heap Třída
CLocalHeap Třída
CGlobalHeap Třída
CCRTHeap Třída
IAtlMemMgr Třída