IMallocSpy::P reRealloc 方法 (objidl.h)
执行调用 IMalloc::Realloc 之前所需的操作。
语法
SIZE_T PreRealloc(
[in] void *pRequest,
[in] SIZE_T cbRequest,
[out] void **ppNewRequest,
[in] BOOL fSpyed
);
parameters
[in] pRequest
指向调用 IMalloc::Realloc 中指定的内存块的指针。
[in] cbRequest
在对 IMalloc::Realloc 的原始调用中指定的内存块的字节计数。
[out] ppNewRequest
指针变量的地址,该变量接收指向要重新分配的内存块的指针。 如果 PreRealloc 的实现扩展或修改了重新分配,则这可能不同于 pRequest 中的指针。 这是指针应始终由 PreRealloc 存储。
[in] fSpyed
指示此间谍处于活动状态时是否分配了内存块。
返回值
要传递给 IMalloc::Realloc 的字节计数。
注解
PreRealloc 实现可以扩展和/或修改分配,以使用分配存储特定于调试的信息。 因此, ppNewRequest 参数可能与 pRequest 不同,pRequest 是指向对 Realloc 的原始调用中指定的请求的指针。
PreRealloc 可以通过返回 0 来强制内存分配失败,从而允许测试以确保应用程序在所有情况下都能正常处理分配失败。 在这种情况下,不调用 PostRealloc , 并且 Realloc 返回 NULL。 但是,如果 Realloc 遇到实际内存故障并返回 NULL,则调用 PostRealloc 。 仅当 cbRequest 不等于 0 时,强制分配失败才有效。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | objidl.h |