Udostępnij za pośrednictwem


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

Członkowie

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