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 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