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 |