Share via


CWin32Heap::CWin32Heap

Constructeur.

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

Paramètres

  • hHeap
    Un objet heap existant.

  • dwFlags
    Balises utilisées lors de la création du tas.

  • nInitialSize
    La taille du tas.

  • nMaxSize
    La taille maximale du tas.

Notes

Avant d'allouer de la mémoire, il est nécessaire de fournir à l'objet d' CWin32Heap un handle valide du tas.La méthode la plus simple pour ce faire consiste à utiliser le tas de processus :

CWin32Heap MyHeap(GetProcessHeap());   

Il est également possible de fournir un handle existant du tas au constructeur, auquel cas le nouvel objet ne fournit pas la propriété du tas.Le handle d'origine du tas est toujours valide lorsque l'objet d' CWin32Heap est supprimé.

Un tas existant peut également être attaché au nouvel objet, à l'aide de CWin32Heap::Attach.

Si un tas est requis dans laquelle toutes les opérations sont exécutées d'un thread unique, la meilleure méthode consiste à créer l'objet comme suit :

CWin32Heap MyHeap(HEAP_NO_SERIALIZE, SomeInitialSize);   

Le paramètre HEAP_NO_SERIALIZE spécifie que l'exclusion mutuelle n'est pas utilisée lorsque les fonctions de tas allouent et la mémoire disponible, avec une augmentation s'accordante de performances.

Le troisième paramètre correspond par défaut à 0, qui permet au tas pour développer nécessaire.Consultez HeapCreate pour obtenir une explication des fonctions de stockage et des balises.

Configuration requise

Header: atlmem.h

Voir aussi

Référence

Classe de CWin32Heap

HeapCreate