CWin32Heap::CWin32Heap

Costruttore.

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

Parametri

  • hHeap
    Un oggetto esistente dell'heap.

  • dwFlags
    Flag utilizzati nella creazione dell'heap.

  • nInitialSize
    La dimensione iniziale dell'heap.

  • nMaxSize
    La dimensione massima dell'heap.

Note

Prima di allocare memoria, è necessario assegnare l'oggetto CWin32Heap con un handle valido dell'heap.Il modo più semplice per ottenere questo risultato consiste di utilizzare l'heap processo:

CWin32Heap MyHeap(GetProcessHeap());   

È anche possibile fornire un handle esistenti dell'heap al costruttore, nel qual caso il nuovo oggetto non assume la direzione della proprietà dell'heap.L'handle originali dell'heap verranno ancora valide quando l'oggetto CWin32Heap viene eliminato.

Un heap esistente può essere associata al nuovo oggetto, utilizzando CWin32Heap::Attach.

Se un heap è richiesta in cui tutte le operazioni vengono eseguite da un singolo thread, la migliore consiste nel creare l'oggetto come segue:

CWin32Heap MyHeap(HEAP_NO_SERIALIZE, SomeInitialSize);   

Il parametro HEAP_NO_SERIALIZE specifica che il mutex non verrà utilizzata quando le funzioni heap allocano e liberano memoria, con un aumento di base delle prestazioni.

La terza impostazioni predefinite di parametro su 0, che consente all'heap si sviluppi come richiesto.Vedere HeapCreate per una spiegazione delle capacità di memoria e di flag.

Requisiti

Header: atlmem.h

Vedere anche

Riferimenti

Classe di CWin32Heap

HeapCreate