Win32 API 日本語リファレンス
ホーム › System.ErrorReporting › PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH

PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH

コールバック

シグネチャ

HRESULT PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH(
    void* pContext,
    WER_RUNTIME_EXCEPTION_INFORMATION* pExceptionInformation,
    BOOL* pbIsCustomDebugger,
    LPWSTR pwszDebuggerLaunch,
    DWORD* pchDebuggerLaunch,
    BOOL* pbIsDebuggerAutolaunch
);

パラメーター

フィールド型説明
pContextvoid*例外ハンドラーを登録するために WerRegisterRuntimeExceptionModule 関数を呼び出したときに指定した、任意のコンテキスト情報へのポインターです。
pExceptionInformationWER_RUNTIME_EXCEPTION_INFORMATION*例外情報を格納する WER_RUNTIME_EXCEPTION_INFORMATION 構造体です。
pbIsCustomDebuggerBOOL*クラッシュのデバッグに pwszDebuggerLaunch パラメーターで指定したカスタムデバッガーを使用する場合は TRUE を設定します。既定のデバッガーを使用する場合は FALSE を設定します。このパラメーターに FALSE を設定する場合は、pwszDebuggerLaunch パラメーターを設定しないでください。
pwszDebuggerLaunchLPWSTRデバッガーの起動に使用するデバッガー起動文字列を指定するための、呼び出し元が割り当てたバッファーです。起動文字列には、デバッガーへの完全なパスとすべての引数を含める必要があります。引数が複数の単語から成る場合は、引用符で引数を区切ってください。デバッガー文字列は、既定の AeDebug デバッガー文字列と同じ規約に従う必要があります (自動デバッグの構成 を参照してください)。この文字列には 2 つの書式指定子を含める必要があります。1 つはクラッシュしたプロセスの ID を表す %ld、もう 1 つはカスタムデバッガーが対象にアタッチした後にシグナル状態にするイベントオブジェクトのハンドルを表す %ld です (これらの指定子の説明については、事後デバッグの有効化 を参照してください)。ただし、カスタムデバッガーはこれらのパラメーターを無視することもできます。
pchDebuggerLaunchDWORD*pwszDebuggerLaunch バッファーのサイズ (文字数)。
pbIsDebuggerAutolaunchBOOL*WER にデバッガーを通知なしで起動させる場合は TRUE を設定します。デバッガーを起動する前にユーザーに確認させる場合は FALSE を設定します。

公式ドキュメント

Windows エラー報告 (WER) は、デバッガーの起動オプションと起動文字列をカスタマイズできるようにするため、この関数を呼び出します。

PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH 型は、このコールバック関数へのポインターを定義します。コールバック関数の名前には "OutOfProcessExceptionEventDebuggerLaunchCallback" を使用する必要があります。

戻り値

カスタムデバッガーを使用しない場合でも、S_OK を返してください。それ以外の失敗コードを返すと、WER は既定のクラッシュ報告動作に戻ります。

解説(Remarks)

この関数は、例外ハンドラー DLL 内で実装する必要があります。

WER はこの関数を使用して、どのデバッガーを起動するか、およびデバッガーを自動的に起動するかユーザーに確認してから起動するかを判断します。カスタムデバッガーを指定すると、既定の起動文字列 (既定の起動文字列は AeDebug レジストリキーに格納されています) が上書きされます。

WER がこのコールバック関数を呼び出すのは、OutOfProcessExceptionEventCallback コールバック関数の pbOwnershipClaimed パラメーターに TRUE を設定した場合のみです。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)