次の方法で共有


_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 を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。

参照

関連項目

デバッグ ルーチン

_CrtGetReportHook