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