Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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