Tas
Un tas suit un groupe d’allocations libérées en tant qu’unité.
Cela vous permet d’éviter des modèles complexes d’allocation et d’allocation de mémoire lorsque vous utilisez WWSAPI.
Il existe un tas associé à chaque message. À mesure qu’un message est envoyé ou qu’un message est reçu, le tas du message est utilisé pour toutes les allocations relatives à ce message particulier. Une fois qu’un message est envoyé ou reçu, le tas est réinitialisé (ce qui nettoie toutes les allocations liées au message particulier).
Les segments de mémoire peuvent également être utilisés pour stocker des données de message séparément de la durée de vie d’un message. La plupart des API permettent la spécification du tas à utiliser lors de la lecture de données donnent un contrôle explicite sur la durée de vie de toutes les données lues.
Les allocations d’un tas sont garanties d’être alignées sur au moins une limite de 8 octets.
Les allocations d’octets zéro retournent un pointeur non NULL.
Dans Windows 7, si PageHeap est activé, un tas retourné par HeapCreate est utilisé pour gérer la mémoire. Dans ce cas, WsAlloc mappe directement à HeapAlloc et WsResetHeap mappe à HeapDestroy.
L’énumération suivante est utilisée avec le tas :
Les fonctions suivantes sont utilisées avec le tas :
- WsAlloc
- WsCreateHeap
- WsFreeHeap
- WsGetHeapProperty
- WsResetHeap
Le handle suivant est utilisé avec le tas :
Les structures suivantes sont utilisées avec le tas :