Condividi tramite


Heap

Un heap tiene traccia di un gruppo di allocazioni liberate come unità.

In questo modo è possibile evitare modelli complessi di allocazione e deallocazione della memoria quando si usa WWSAPI.

A ogni messaggio è associato un heap. Durante l'invio di un messaggio o quando viene ricevuto un messaggio, l'heap del messaggio viene usato per tutte le allocazioni relative a quel determinato messaggio. Dopo l'invio o la ricezione di un messaggio, l'heap viene reimpostato (che pulisce eventuali allocazioni correlate al messaggio specifico).

Gli heap possono essere usati anche per archiviare i dati dei messaggi separatamente dalla durata di un messaggio. Molte delle API consentono di specificare l'heap da usare durante la lettura dei dati, consentendo il controllo esplicito sulla durata di qualsiasi lettura dei dati.

Le allocazioni da un heap sono sicuramente allineate su almeno un limite di 8 byte.

Le allocazioni di byte zero restituiranno un puntatore non NULL.

In Windows 7, se PageHeap è abilitato, viene usato un heap restituito da HeapCreate per gestire la memoria. In questo caso, WsAlloc esegue il mapping diretto a HeapAlloc e WsResetHeap mappa a HeapDestroy.

L'enumerazione seguente viene usata con l'heap:

Le funzioni seguenti vengono usate con l'heap:

L'handle seguente viene usato con l'heap:

Le strutture seguenti vengono usate con l'heap: