HeapReAlloc

Prototypes

LPVOID HeapReAlloc(HANDLE HandleTas, DWORD Mode, LPVOID Adresse, SIZE_T Taille);

Description

Extension de la zone mémoire Adresse allouée dynamiquement, qui a été allouée depuis le tas identifié par le handle HandleTas, de la sorte à ce qu'elle contienne Taille octets.

Le mode Mode est généralement HEAP_NO_SERIALIZE en mono-thread et 0 sinon.

Le résultat est la zone allouée. Le contenu de la zone mémoire Adresse est recopié dans la zone allouée.

Exemple

#include <windows.h>
#include <winbase.h>

HANDLE HandleTas;
char *Chaine;

Chaine=(char *)HeapAlloc(HandleTas, 0, 100*sizeof(char));
if (!Chaine)
...
Chaine=(char *)HeapReAlloc(HandleTas, 0, Chaine, 200*sizeof(char));
if (!Chaine)
...
HeapFree(HandleTas, 0, Chaine);
...

Avertissement

Quand il y a plus de mémoire de disponible, le résultat est NULL.

Surtout ne pas étendre la zone mémoire sur un autre tas que celui d'allocation.

Surtout ne pas écrire ou lire au-delà de la zone mémoire parce que celle-ci serait trop courte.

Surtout ne pas supposer que la zone mémoire est initialisée à une suite d'octets nul.

Voir aussi

HeapAlloc pour allouer une zone mémoire. HeapFree pour libérer la zone mémoire allouée.