Поделиться через


Метод 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

См. также раздел

IMalloc::Realloc

IMallocSpy

IMallocSpy::P ostRealloc