Partager via


Méthode IMallocSpy::P reRealloc (objidl.h)

Effectue les opérations requises avant d’appeler IMalloc::Realloc.

Syntaxe

SIZE_T PreRealloc(
  [in]  void   *pRequest,
  [in]  SIZE_T cbRequest,
  [out] void   **ppNewRequest,
  [in]  BOOL   fSpyed
);

Paramètres

[in] pRequest

Pointeur vers le bloc de mémoire spécifié dans l’appel à IMalloc::Realloc.

[in] cbRequest

Nombre d’octets du bloc de mémoire spécifié dans l’appel d’origine à IMalloc::Realloc.

[out] ppNewRequest

Adresse de la variable pointeur qui reçoit un pointeur vers le bloc de mémoire à réallouer. Cela peut être différent du pointeur dans pRequest si l’implémentation de PreRealloc étend ou modifie la réaffectation. Ce pointeur doit toujours être stocké par PreRealloc.

[in] fSpyed

Indique si le bloc de mémoire a été alloué pendant que cet espion était actif.

Valeur retournée

Nombre d’octets à passer à IMalloc::Realloc.

Notes

L’implémentation de PreRealloc peut étendre et/ou modifier l’allocation pour stocker des informations spécifiques au débogage avec l’allocation. Par conséquent, le paramètre ppNewRequest peut différer de pRequest, pointeur vers la requête spécifiée dans l’appel d’origine à Realloc.

PreRealloc peut forcer l’échec de l’allocation de mémoire en retournant 0, ce qui permet aux tests de s’assurer que l’application gère correctement l’échec d’allocation dans tous les cas. Dans ce cas, PostRealloc n’est pas appelé et Realloc retourne NULL. Toutefois, si Realloc rencontre une défaillance de mémoire réelle et retourne NULL, PostRealloc est appelé. Le forçage de l’échec d’allocation n’est effectif que si cbRequest n’est pas égal à 0.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête objidl.h

Voir aussi

IMalloc::Realloc

IMallocSpy

IMallocSpy::P ostRealloc