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