Klasa CLocalHeap
Ta klasa implementuje program IAtlMemMgr przy użyciu lokalnych funkcji stert win32.
Ważne
Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.
Składnia
class CLocalHeap : public IAtlMemMgr
Elementy członkowskie
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CLocalHeap::Przydziel | Wywołaj tę metodę, aby przydzielić blok pamięci. |
CLocalHeap::Free | Wywołaj tę metodę, aby zwolnić blok pamięci przydzielony przez tego menedżera pamięci. |
CLocalHeap::GetSize | Wywołaj tę metodę, aby uzyskać przydzielony rozmiar bloku pamięci przydzielonego przez tego menedżera pamięci. |
CLocalHeap::Reallocate | Wywołaj tę metodę, aby ponownie przydzielić pamięć przydzieloną przez tego menedżera pamięci. |
Uwagi
CLocalHeap
implementuje funkcje alokacji pamięci przy użyciu lokalnych funkcji sterty Win32.
Uwaga
Lokalne funkcje stert są wolniejsze niż inne funkcje zarządzania pamięcią i nie udostępniają tak wielu funkcji. W związku z tym nowe aplikacje powinny używać funkcji stert. Są one dostępne w klasie CWin32Heap .
Przykład
Zobacz przykład dla programu IAtlMemMgr.
Hierarchia dziedziczenia
IAtlMemMgr
CLocalHeap
Wymagania
Nagłówek: atlmem.h
CLocalHeap::Przydziel
Wywołaj tę metodę, aby przydzielić blok pamięci.
virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();
Parametry
nBajty
Żą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ę CLocalHeap::Free lub CLocalHeap::Reallocate , aby zwolnić pamięć przydzieloną przez tę metodę.
Zaimplementowano przy użyciu metody LocalAlloc z parametrem flagi LMEM_FIXED.
CLocalHeap::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 opcji LocalFree.
CLocalHeap::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 właściwości LocalSize.
CLocalHeap::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.
nBajty
Żą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ę CLocalHeap::Free , aby zwolnić pamięć przydzieloną przez tę metodę.
Zaimplementowano przy użyciu polecenia LocalReAlloc.
Zobacz też
Omówienie klasy
Klasa CComHeap
Klasa CWin32Heap
Klasa CGlobalHeap
Klasa CCRTHeap
Klasa IAtlMemMgr