Share via


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

Realiza las operaciones necesarias antes de llamar a IMalloc::Realloc.

Sintaxis

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

Parámetros

[in] pRequest

Puntero al bloque de memoria especificado en la llamada a IMalloc::Realloc.

[in] cbRequest

Recuento de bytes del bloque de memoria tal y como se especifica en la llamada original a IMalloc::Realloc.

[out] ppNewRequest

Dirección de la variable de puntero que recibe un puntero al bloque de memoria que se va a reasignar. Esto puede ser diferente del puntero en pRequest si la implementación de PreRealloc extiende o modifica la reasignación. PreRealloc siempre debe almacenar este puntero.

[in] fSpyed

Indica si el bloque de memoria se asignó mientras este espía estaba activo.

Valor devuelto

Recuento de bytes que se va a pasar a IMalloc::Realloc.

Comentarios

La implementación de PreRealloc puede extender o modificar la asignación para almacenar información específica de depuración con la asignación. Por lo tanto, el parámetro ppNewRequest puede diferir de pRequest, un puntero a la solicitud especificada en la llamada original a Realloc.

PreRealloc puede forzar el error de asignación de memoria devolviendo 0, lo que permite realizar pruebas para asegurarse de que la aplicación controla correctamente el error de asignación en todos los casos. En este caso, no se llama a PostRealloc y Realloc devuelve NULL. Sin embargo, si Realloc encuentra un error de memoria real y devuelve NULL, se llama a PostRealloc . Forzar el error de asignación solo es efectivo si cbRequest no es igual a 0.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado objidl.h

Consulte también

IMalloc::Realloc

IMallocSpy

IMallocSpy::P ostRealloc