Метод IMallocSpy::P reRealloc (objidl.h)
Выполняет операции, необходимые перед вызовом IMalloc::Realloc.
Синтаксис
SIZE_T PreRealloc(
[in] void *pRequest,
[in] SIZE_T cbRequest,
[out] void **ppNewRequest,
[in] BOOL fSpyed
);
Параметры
[in] pRequest
Указатель на блок памяти, указанный в вызове IMalloc::Realloc.
[in] cbRequest
Число байтов блока памяти, указанное в исходном вызове IMalloc::Realloc.
[out] ppNewRequest
Адрес переменной указателя, получающей указатель на перераспределенный блок памяти. Это может отличаться от указателя в pRequest , если реализация PreRealloc расширяет или изменяет перераспределение. Это указатель всегда должен храниться PreRealloc.
[in] fSpyed
Указывает, был ли выделен блок памяти во время активности этого шпиона.
Возвращаемое значение
Число байтов, передаваемое в IMalloc::Realloc.
Комментарии
Реализация PreRealloc может расширить и (или) изменить выделение для хранения отладочной информации с выделением. Таким образом, параметр ppNewRequest может отличаться от pRequest, указателя на запрос, указанный в исходном вызове Realloc.
PreRealloc может принудительно привести к сбою выделения памяти, возвращая значение 0, что позволяет проверить, что приложение корректно обрабатывает сбои выделения во всех случаях. В этом случае PostRealloc не вызывается, и Realloc возвращает значение NULL. Однако если Realloc обнаруживает реальный сбой памяти и возвращает значение NULL, вызывается PostRealloc . Сбой принудительного выделения действует только в том случае , если cbRequest не равен 0.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | objidl.h |