Condividi tramite


Metodo IMallocSpy::P reRealloc (objidl.h)

Esegue le operazioni necessarie prima di chiamare IMalloc::Realloc.

Sintassi

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

Parametri

[in] pRequest

Puntatore al blocco di memoria specificato nella chiamata a IMalloc::Realloc.

[in] cbRequest

Numero di byte del blocco di memoria specificato nella chiamata originale a IMalloc::Realloc.

[out] ppNewRequest

Indirizzo della variabile puntatore che riceve un puntatore al blocco di memoria da riallocare. Può essere diverso dal puntatore in pRequest se l'implementazione di PreRealloc estende o modifica la riallocazione. Questo puntatore deve essere sempre archiviato da PreRealloc.

[in] fSpyed

Indica se il blocco di memoria è stato allocato mentre questa spia era attiva.

Valore restituito

Numero di byte da passare a IMalloc::Realloc.

Commenti

L'implementazione di PreRealloc può estendere e/o modificare l'allocazione per archiviare informazioni specifiche del debug con l'allocazione. Di conseguenza, il parametro ppNewRequest può differire da pRequest, un puntatore alla richiesta specificata nella chiamata originale a Realloc.

PreRealloc può forzare l'errore di allocazione della memoria restituendo 0, consentendo di verificare che l'applicazione gestisca normalmente gli errori di allocazione in tutti i casi. In questo caso , PostRealloc non viene chiamato e Realloc restituisce NULL. Tuttavia, se Realloc rileva un errore di memoria reale e restituisce NULL, viene chiamato PostRealloc . L'errore di allocazione forzata è efficace solo se cbRequest non è uguale a 0.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione objidl.h

Vedi anche

IMalloc::Realloc

IMallocSpy

IMallocSpy::P ostRealloc