_CrtSetReportHook
C ランタイムのデバッグ レポートのプロセス (デバッグ バージョンだけ) にフックすることによりクライアント定義のレポート関数を組み込む。
_CRT_REPORT_HOOK _CrtSetReportHook(
_CRT_REPORT_HOOK reportHook
);
パラメーター
- reportHook
C ランタイムのデバッグ レポートのプロセスにフックする新しいクライアント定義のレポート関数。
戻り値
前のクライアント定義のレポート関数を返します。
解説
15_CrtSetReportHook は C ランタイムのデバッグ ライブラリのビルド プロセスに専用のレポート関数を使用できます。その結果デバッグ レポートを生成するに _CrtDbgReport が呼び出されるたびにアプリケーションのレポート関数が最初に呼び出されます。この機能はデバッグ レポートをフィルター処理などの操作を実行するアプリケーションを使用して特定の割り当て型に重点を置く場合またはコピー先の案内に _CrtDbgReport を使用してレポートを送信できます。_DEBUG が未定義の場合、_CrtSetReportHook の呼び出しはプリプロセスで削除されます。
_CrtSetReportHook の堅牢なバージョンについては_CrtSetReportHook2 を参照してください。
_CrtSetReportHook の関数は reportHook で指定した新しいクライアント定義のレポート関数を組み込む前のクライアント定義フックを返します。クライアント定義されたレポート用のフック プロトタイプがどのようにする例を示しています :
int YourReportHook( int reportType, char *message, int *returnValue );
(_CRT_WARN_CRT_ERRORまたは _CRT_ASSERTreportType がデバッグ レポートの種類であり)message はレポートに含める完全に実行されるデバッグのユーザー定義メッセージです returnValue は _CrtDbgReport によって返される必要があるクライアントのレポート関数定義で指定された値になります。使用できるレポートの種類の詳細については_CrtSetReportMode の関数を参照してください。
それ以上レポートは必須ではありません。クライアント定義のレポート関数が完全にデバッグ メッセージを処理する場合そのうち TRUE 関数はを返します。レポートの種類モードとファイルの現在の設定を使用してデバッグ レポートを生成するには関数の戻り値 FALSE_CrtDbgReport が呼び出されたとき。またreturnValue で _CrtDbgReport の戻り値を指定することでアプリケーションがデバッグの中断が発生するかどうかを制御できます。詳細についてはデバッグ レポートがどのように構成され生成されるか_CrtSetReportMode_CrtSetReportFile と _CrtDbgReport を参照してください。
フックをサポートするその他のランタイム関数の使い方の詳細と、独自のクライアント定義フック関数の記述方法については、「デバッグ用フック関数の作成」を参照してください。
[!メモ]
アプリケーションがメインが終了した後にアプリケーションが /clr およびレポート関数を呼び出すとCLR はレポート関数が CRT 関数を呼び出すと例外がスローされます。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_CrtSetReportHook |
<crtdbg.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
ライブラリ
C ランタイム ライブラリのデバッグ バージョンのみ。
使用例
_CrtSetReportHook を使用する方法の例については レポート を参照してください。
同等の .NET Framework 関数
該当なし標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。