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