CWin32Heap::CWin32Heap

Der -Konstruktor.

CWin32Heap( ) throw( ); 
CWin32Heap(
   HANDLE hHeap 
) throw( );
CWin32Heap(
   DWORD dwFlags,
   size_t nInitialSize,
   size_t nMaxSize = 0 
);

Parameter

  • hHeap
    Ein vorhandenes Heapobjekt.

  • dwFlags
    Flags verwendet, wenn der Heap erstellt wird.

  • nInitialSize
    Die ursprüngliche Größe des Heaps.

  • nMaxSize
    Die maximale Größe des Heaps.

Hinweise

Vor dem Speicher belegt ist es notwendig, das CWin32Heap-Objekt mit einem gültigen Heaphandle bereitzustellen.Die einfachste Möglichkeit, dies zu erreichen, ist der Prozessheap zu verwenden:

CWin32Heap MyHeap(GetProcessHeap());   

Es ist auch möglich, ein vorhandenes Heaphandle an den Konstruktor in bereitstellen, in diesem Fall das neue Objekt nicht Besitzer des Heaps angewendet wird.Das ursprüngliche Heaphandle ist weiterhin gültig, wenn das Objekt CWin32Heap gelöscht wird.

Ein vorhandener Heap kann das neue Objekt, mit CWin32Heap::Attach auch angefügt werden.

Wenn ein Heap erforderlich ist, wobei alle Operationen von einem einzigen Thread ausgeführt werden, ist die beste Möglichkeit, das Objekt zu erstellen, wie folgt:

CWin32Heap MyHeap(HEAP_NO_SERIALIZE, SomeInitialSize);   

Der Parameter HEAP_NO_SERIALIZE gibt an, dass gegenseitige Ausschluss nicht, wenn die Heapfunktionen Arbeitsspeicher zuordnen und freigeben, mit einer Übereinstimmungszunahme der Leistung verwendet wird.

Der dritte Parameter führt zu 0, das dem Heap ermöglicht, nach Bedarf vergrößert.Siehe HeapCreate für eine Erklärung der Speichergrößen und der Flags.

Anforderungen

Header: atlmem.h

Siehe auch

Referenz

CWin32Heap-Klasse

HeapCreate