Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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