_CrtDoForAllClientObjects
ヒープ内のすべての _CLIENT_BLOCK
型に対して、アプリケーションによって提供される関数を呼び出します (デバッグ バージョンのみ)。
構文
void _CrtDoForAllClientObjects(
void ( * pfn )( void *, void * ),
void *context
);
パラメーター
pfn
アプリケーションによって提供された関数コールバック関数へのポインター。 この関数の最初のパラメーターは、データを指します。 2 番目のパラメーターは、 _CrtDoForAllClientObjects
の呼び出しに渡されるコンテキスト ポインターです。
context
アプリケーションによって提供される関数に渡す、アプリケーションによって提供されるコンテキストへのポインター。
解説
_CrtDoForAllClientObjects
関数は、ヒープのリンク リストで _CLIENT_BLOCK
型のメモリ ブロックを検索し、この型のブロックがある場合は、アプリケーションによって提供される関数を呼び出します。 見つかったブロックと context
パラメーターは、アプリケーションによって提供される関数に引数として渡されます。 デバッグ中に、アプリケーションはメモリを割り当てるためのデバッグ ヒープ関数を明示的に呼び出し、ブロックに _CLIENT_BLOCK
ブロック型を割り当てるように指定することによって、割り当ての特定のグループを追跡できます。 これらのブロックは個別に追跡し、リーク検出やメモリ状態のレポート時に異なる方法で報告できます。
フラグの _CRTDBG_ALLOC_MEM_DF
ビット フィールドが _crtDbgFlag
オンになっていない場合は、 _CrtDoForAllClientObjects
すぐに戻ります。 _DEBUG
が定義されていない場合、_CrtDoForAllClientObjects
の呼び出しは前処理で削除されます。
_CLIENT_BLOCK
型と、それが他のデバッグ関数によってどのように使用されるかの詳細については、「デバッグ ヒープ上のメモリ ブロックの型」を参照してください。 基本ヒープのデバッグ バージョンでのメモリ ブロックの割り当て、初期化、および管理方法については、CRT デバッグ ヒープの詳細を参照してください。
有効な場合pfn
はNULL
、「パラメーターの検証」の説明に従って、無効なパラメーター ハンドラーが呼び出されます。 実行の続行が許可され、 errno
, , _doserrno
, _sys_errlist
が _sys_nerr
設定 EINVAL
され、関数が返されます。
必要条件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
_CrtDoForAllClientObjects |
<crtdbg.h>、<errno.h> |
互換性の詳細については、「 Compatibility」を参照してください。
ライブラリ: ユニバーサル C ランタイム ライブラリのデバッグ バージョンのみ。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示