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 die COM-Speicherzuweisungsfunktionen IAtlMemMgr .
Wichtig
Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.
Syntax
class CComHeap : public IAtlMemMgr
Member
Öffentliche Methoden
| Name | Beschreibung |
|---|---|
CComHeap::Allocate |
Rufen Sie diese Methode auf, um einen Speicherblock zu belegen. |
CComHeap::Free |
Rufen Sie diese Methode auf, um einen Speicherblock freizugeben, der von diesem Speicher-Manager zugewiesen wurde. |
CComHeap::GetSize |
Rufen Sie diese Methode auf, um die zugewiesene Größe eines Speicherblocks abzurufen, der von diesem Speicher-Manager zugewiesen wurde. |
CComHeap::Reallocate |
Rufen Sie diese Methode auf, um den von diesem Speicher-Manager zugeordneten Arbeitsspeicher neu zuzuordnen. |
Hinweise
CComHeapimplementiert Speicherzuweisungsfunktionen mithilfe der COM-Zuordnungsfunktionen, einschließlich CoTaskMemAlloc, CoTaskMemFree, und IMalloc::GetSizeCoTaskMemRealloc. Die maximale Speichermenge, die zugewiesen werden kann, ist gleich INT_MAX (2147483647) Bytes.
Beispiel
Ein Beispiel hierfür finden Sie unter IAtlMemMgr.
Vererbungshierarchie
IAtlMemMgr
CComHeap
Anforderungen
Header: ATLComMem.h
CComHeap::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 CComHeap::Free den von dieser Methode zugewiesenen Speicher auf oder CComHeap::Reallocate geben Sie ihn frei.
Implementiert mit CoTaskMemAlloc.
CComHeap::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 CoTaskMemFree.
CComHeap::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 IMalloc::GetSize.
CComHeap::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 CComHeap::Free auf, um den von dieser Methode zugewiesenen Speicher freizugeben.
Implementiert mit CoTaskMemRealloc.
Siehe auch
DynamicConsumer-Beispiel
Klassenübersicht
CWin32Heap Klasse
CLocalHeap Klasse
CGlobalHeap Klasse
CCRTHeap Klasse
IAtlMemMgr Klasse