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::GetSize
a 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