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
再割り当てするメモリ ブロックへのポインターを受け取るポインター変数のアドレス。 PreRealloc の実装が再割り当てを拡張または変更する場合、これは pRequest のポインターとは異なる場合があります。 これは、ポインターは常に PreRealloc によって格納される必要があります。
[in] fSpyed
このスパイがアクティブな間にメモリ ブロックが割り当てられたかどうかを示します。
戻り値
IMalloc::Realloc に渡されるバイト数。
解説
PreRealloc の実装では、割り当てを使用してデバッグ固有の情報を格納するように割り当てを拡張または変更できます。 したがって、ppNewRequest パラメーターは、Realloc の元の呼び出しで指定された要求へのポインターである pRequest とは異なる場合があります。
PreRealloc は、0 を返すことによってメモリ割り当てエラーを強制できます。これにより、すべてのケースでアプリケーションが割り当てエラーを正常に処理するようにテストできます。 この場合、 PostRealloc は呼び出されず、 Realloc は NULL を返します。 ただし、 Realloc で実メモリエラーが発生し、 NULL が返された場合は、 PostRealloc が呼び出されます。 強制割り当てエラーは、 cbRequest が 0 と等しくない場合にのみ有効です。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | objidl.h |