CoTaskMemRealloc, fonction (combaseapi.h)

Modifie la taille d’un bloc de mémoire de tâche précédemment alloué.

Syntaxe

LPVOID CoTaskMemRealloc(
  [in, optional] LPVOID pv,
  [in]           SIZE_T cb
);

Paramètres

[in, optional] pv

Pointeur vers le bloc de mémoire à réallouer. Ce paramètre peut avoir la valeur NULL, comme indiqué dans Remarques.

[in] cb

Taille du bloc de mémoire à réallouer, en octets. Ce paramètre peut être 0, comme indiqué dans Remarques.

Valeur retournée

Si la fonction réussit, elle retourne le bloc de mémoire réalloué. Dans le cas contraire, elle retourne LA VALEUR NULL.

Remarques

Cette fonction modifie la taille d’un bloc de mémoire précédemment alloué de la même manière que IMalloc ::Realloc . Il n’est pas nécessaire d’appeler la fonction CoGetMalloc pour obtenir un pointeur vers l’allocateur OLE avant d’appeler CoTaskMemRealloc.

Le paramètre pv pointe vers le début du bloc de mémoire. Si pv a la valeur NULL, CoTaskMemRealloc alloue un nouveau bloc de mémoire de la même manière que la fonction CoTaskMemAlloc . Si pv n’a pas la valeur NULL, il doit s’agir d’un pointeur retourné par un appel précédent à CoTaskMemAlloc.

Le paramètre cb spécifie la taille du nouveau bloc. Le contenu du bloc est inchangé tant que la plus courte des tailles nouvelle et ancienne n’est pas atteinte, même si le nouveau bloc peut se trouver à un autre emplacement. Étant donné que le nouveau bloc peut se trouver dans un autre emplacement de mémoire, le pointeur retourné par CoTaskMemRealloc n’est pas garanti comme pointeur passé via l’argument pv . Si pv n’a pas la valeur NULL et que cb est 0, la mémoire pointée par pv est libérée.

CoTaskMemRealloc retourne un pointeur void vers le bloc de mémoire réalloué (et éventuellement déplacé). La valeur de retour est NULL si la taille est 0 et si l’argument de mémoire tampon n’est pas NULL, ou s’il n’y a pas suffisamment de mémoire disponible pour développer le bloc à la taille spécifiée. Dans le premier cas, le bloc d’origine est libéré ; dans le deuxième cas, le bloc d’origine est inchangé.

L’espace de stockage désigné par la valeur de retour est obligatoirement aligné correctement pour le stockage de tout type d’objet. Pour obtenir un pointeur vers un type autre que void, utilisez un cast de type sur la valeur de retour.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête combaseapi.h (inclure Objbase.h)
Bibliothèque Ole32.lib
DLL Ole32.dll

Voir aussi

CoTaskMemAlloc

CoTaskMemFree

IMalloc ::Realloc