Partager via


CWin32Heap::CWin32Heap

Constructeur.

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

Paramètres

  • hHeap
    Objet de tas existant.

  • dwFlags
    Indicateurs utilisés pour créer le tas.

  • nInitialSize
    Taille initiale du tas.

  • nMaxSize
    Taille maximale du tas.

Notes

Avant d'allouer de la mémoire, il est nécessaire de fournir à l'objet CWin32Heap un handle de tas valide. La façon la plus simple d'y parvenir consiste à utiliser le tas du processus :

CWin32Heap MyHeap(GetProcessHeap());   

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

Un tas existant peut également être joint au nouvel objet via CWin32Heap::Attach.

Si un tas est requis lorsque des opérations sont toutes exécutées à partir d'un seul thread, il est préférable de créer l'objet comme suit :

CWin32Heap MyHeap(HEAP_NO_SERIALIZE, SomeInitialSize);   

Le paramètre HEAP_NO_SERIALIZE spécifie que l'exclusion mutuelle ne doit pas être utilisée lorsque les fonctions de tas allouent et libèrent de la mémoire, avec une augmentation correspondante des performances.

Le troisième paramètre est 0 par défaut, ce qui permet au tas de s'accroître en fonction des besoins. Consultez HeapCreate pour plus d'informations sur les tailles de mémoire et les indicateurs.

Configuration requise

En-tête : atlmem.h

Voir aussi

Autres ressources

HeapCreate