Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Klasse implementiert IAtlMemMgr mithilfe der lokalen Win32-Heapfunktionen.
Wichtig
Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.
Syntax
class CLocalHeap : public IAtlMemMgr
Member
Öffentliche Methoden
| Name | Beschreibung |
|---|---|
| CLocalHeap::Assigned | Rufen Sie diese Methode auf, um einen Speicherblock zu belegen. |
| CLocalHeap::Free | Rufen Sie diese Methode auf, um einen Speicherblock freizugeben, der von diesem Speicher-Manager zugewiesen wurde. |
| CLocalHeap::GetSize | Rufen Sie diese Methode auf, um die zugewiesene Größe eines Speicherblocks abzurufen, der von diesem Speicher-Manager zugewiesen wurde. |
| CLocalHeap::Reallocate | Rufen Sie diese Methode auf, um den von diesem Speicher-Manager zugeordneten Arbeitsspeicher neu zuzuordnen. |
Hinweise
CLocalHeap implementiert Speicherzuordnungsfunktionen mithilfe der lokalen Win32-Heap-Funktionen.
Hinweis
Die lokalen Heap-Funktionen sind langsamer als andere Speicherverwaltungsfunktionen und bieten nicht so viele Features. Daher sollten neue Anwendungen die Heap-Funktionen verwenden. Diese sind in der CWin32Heap-Klasse verfügbar.
Beispiel
Sehen Sie sich das Beispiel für IAtlMemMgr an.
Vererbungshierarchie
IAtlMemMgr
CLocalHeap
Anforderungen
Kopfzeile: atlmem.h
CLocalHeap::Assigned
Rufen Sie diese Methode auf, um einen Speicherblock zu belegen.
virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();
Parameter
nBytes
Die angeforderte Anzahl von Bytes im neuen Speicherblock.
Rückgabewert
Gibt einen Zeiger auf den Anfang des neu belegten Speicherblocks zurück.
Hinweise
Rufen Sie CLocalHeap::Free oder CLocalHeap::Reallocate auf, um den von dieser Methode zugewiesenen Speicher freizugeben.
Implementiert mithilfe von LocalAlloc mit einem Flag-Parameter von LMEM_FIXED.
CLocalHeap::Free
Rufen Sie diese Methode auf, um einen Speicherblock freizugeben, der von diesem Speicher-Manager zugewiesen wurde.
virtual void Free(void* p) throw();
Parameter
p
Ein Zeiger auf den Arbeitsspeicher, der zuvor von diesem Speicher-Manager zugeordnet wurde. NULL ist ein gültiger Wert und führt nichts aus.
Hinweise
Implementiert mit LocalFree.
CLocalHeap::GetSize
Rufen Sie diese Methode auf, um die zugewiesene Größe eines Speicherblocks abzurufen, der von diesem Speicher-Manager zugewiesen wurde.
virtual size_t GetSize(void* p) throw();
Parameter
p
Ein Zeiger auf den Arbeitsspeicher, der zuvor von diesem Speicher-Manager zugeordnet wurde.
Rückgabewert
Gibt die Größe des zugeordneten Speicherblocks in Bytes zurück.
Hinweise
Implementiert mit LocalSize.
CLocalHeap::Reallocate
Rufen Sie diese Methode auf, um den von diesem Speicher-Manager zugeordneten Arbeitsspeicher neu zuzuordnen.
virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();
Parameter
p
Ein Zeiger auf den Arbeitsspeicher, der zuvor von diesem Speicher-Manager zugeordnet wurde.
nBytes
Die angeforderte Anzahl von Bytes im neuen Speicherblock.
Rückgabewert
Gibt einen Zeiger auf den Anfang des neu belegten Speicherblocks zurück.
Hinweise
Rufen Sie CLocalHeap::Free auf, um den von dieser Methode zugewiesenen Speicher freizugeben.
Implementiert mithilfe von LocalReAlloc.
Siehe auch
Klassenübersicht
CComHeap-Klasse
CWin32Heap-Klasse
CGlobalHeap-Klasse
CComHeap-Klasse
IAtlMemMgr-Klasse