Udostępnij za pośrednictwem


CComHeap Klasa

Ta klasa implementuje IAtlMemMgr funkcje alokacji pamięci COM.

Ważne

Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.

Składnia

class CComHeap : public IAtlMemMgr

Elementy członkowskie

Metody publiczne

Nazwa/nazwisko opis
CComHeap::Allocate Wywołaj tę metodę, aby przydzielić blok pamięci.
CComHeap::Free Wywołaj tę metodę, aby zwolnić blok pamięci przydzielony przez tego menedżera pamięci.
CComHeap::GetSize Wywołaj tę metodę, aby uzyskać przydzielony rozmiar bloku pamięci przydzielonego przez tego menedżera pamięci.
CComHeap::Reallocate Wywołaj tę metodę, aby ponownie przydzielić pamięć przydzieloną przez tego menedżera pamięci.

Uwagi

CComHeap implementuje funkcje alokacji pamięci przy użyciu funkcji alokacji MODELU COM, w tym CoTaskMemAlloc, CoTaskMemFree, IMalloc::GetSizei CoTaskMemRealloc. Maksymalna ilość pamięci, którą można przydzielić, jest równa INT_MAX (2147483647) bajtów.

Przykład

Zobacz przykład dla elementu IAtlMemMgr.

Hierarchia dziedziczenia

IAtlMemMgr

CComHeap

Wymagania

Nagłówek: ATLComMem.h

CComHeap::Przydziel

Wywołaj tę metodę, aby przydzielić blok pamięci.

virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();

Parametry

nBytes
Żądana liczba bajtów w nowym bloku pamięci.

Wartość zwracana

Zwraca wskaźnik na początek nowo przydzielonego bloku pamięci.

Uwagi

Wywołaj CComHeap::Free metodę lub CComHeap::Reallocate zwolnij pamięć przydzieloną przez tę metodę.

Zaimplementowano przy użyciu polecenia CoTaskMemAlloc.

CComHeap::Free

Wywołaj tę metodę, aby zwolnić blok pamięci przydzielony przez tego menedżera pamięci.

virtual void Free(void* p) throw();

Parametry

p
Wskaźnik do pamięci przydzielonej wcześniej przez tego menedżera pamięci. Wartość NULL jest prawidłową wartością i nic nie robi.

Uwagi

Zaimplementowano przy użyciu polecenia CoTaskMemFree.

CComHeap::GetSize

Wywołaj tę metodę, aby uzyskać przydzielony rozmiar bloku pamięci przydzielonego przez tego menedżera pamięci.

virtual size_t GetSize(void* p) throw();

Parametry

p
Wskaźnik do pamięci przydzielonej wcześniej przez tego menedżera pamięci.

Wartość zwracana

Zwraca rozmiar przydzielonego bloku pamięci w bajtach.

Uwagi

Zaimplementowano przy użyciu polecenia IMalloc::GetSize.

CComHeap::Reallocate

Wywołaj tę metodę, aby ponownie przydzielić pamięć przydzieloną przez tego menedżera pamięci.

virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();

Parametry

p
Wskaźnik do pamięci przydzielonej wcześniej przez tego menedżera pamięci.

nBytes
Żądana liczba bajtów w nowym bloku pamięci.

Wartość zwracana

Zwraca wskaźnik na początek nowo przydzielonego bloku pamięci.

Uwagi

Wywołaj metodę CComHeap::Free , aby zwolnić pamięć przydzieloną przez tę metodę.

Zaimplementowano przy użyciu polecenia CoTaskMemRealloc.

Zobacz też

Przykład DynamicConsumer
Omówienie klasy
CWin32Heap Klasa
CLocalHeap Klasa
CGlobalHeap Klasa
CCRTHeap Klasa
IAtlMemMgr Klasa