次の方法で共有


_CrtDoForAllClientObjects

すべての _CLIENT_BLOCK のアプリケーションに用意されたヒープ関数です (デバッグ バージョンだけ) を呼び出します。

void _CrtDoForAllClientObjects( 
   void ( * pfn )( void *, void * ),
   void *context
);

パラメーター

  • pfn
    アプリケーションが指定した関数のコールバック関数へのポインター。データのこの関数へのポインターへの最初のパラメーター。2 番目のパラメーターは _CrtDoForAllClientObjects の呼び出しに渡されたコンテキストのポインターです。

  • context
    アプリケーションが指定した関数に渡すアプリケーションが指定したコンテキストへのポインター。

解説

_CrtDoForAllClientObjects の関数は _CLIENT_BLOCK の型を持つメモリ ブロックをこの型のブロックがある場合はヒープのリンク リストを検索しアプリケーションが指定した関数を呼び出します。検索ブロックと context のパラメーターはアプリケーションが指定した関数に引数として渡されます。デバッグ中はアプリケーションがデバッグ ヒープ関数を呼び出すとブロックを _CLIENT_BLOCK ブロック型を割り当てることを指定することにより特定のグループをメモリを割り当てるために追跡できます。これらのブロックは個別に追跡されメモリ リークの検出やメモリ状態の報告時に異なる方法で表示できます。

_crtDbgFlag フラグの _CRTDBG_ALLOC_MEM_DF のビット フィールドが有効でない場合**_CrtDoForAllClientObjects** はすぐに制御を返します。_DEBUG が未定義の場合、_CrtDoForAllClientObjects の呼び出しはプリプロセスで削除されます。

_CLIENT_BLOCK の型の詳細については他のデバッグ機能がどのように使用するか デバッグ ヒープ上のメモリ ブロックの型 を参照してください。情報およびデバッグ バージョンのベース ヒープに対するメモリ管理のブロックが初期化方法に関する割り当てられているか メモリ管理とデバッグ ヒープ を参照してください。

pfn が NULL の場合は、「パラメーターの検証」に説明されているように、無効なパラメーター ハンドラーが呼び出されます。実行の継続が許可された場合、この関数は errno、_doserrno、_sys_errlist、および _sys_nerr を EINVAL に設定して処理を戻します。

必要条件

ルーチン

必須ヘッダー

_CrtDoForAllClientObjects

<crtdbg.h>、<errno.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

ライブラリ:CRT ライブラリの機能 のデバッグ バージョンのみ。

使用例

dfacobjs」を参照してください。

同等の .NET Framework 関数

該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

関連項目

デバッグ ルーチン

_CrtSetDbgFlag

_CrtReportBlockType

概念

ヒープの状態をレポートする関数