функция обратного вызова PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH (werapi.h)

отчеты об ошибках Windows (WER) вызывает эту функцию, чтобы настроить параметры запуска отладчика и строку запуска.

Тип PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH определяет указатель на эту функцию обратного вызова. В качестве имени функции обратного вызова необходимо использовать OutOfProcessExceptionEventDebuggerLaunchCallback.

Синтаксис

PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH PfnWerRuntimeExceptionDebuggerLaunch;

HRESULT PfnWerRuntimeExceptionDebuggerLaunch(
  [in]      PVOID pContext,
  [in]      const PWER_RUNTIME_EXCEPTION_INFORMATION pExceptionInformation,
  [out]     PBOOL pbIsCustomDebugger,
  [out]     PWSTR pwszDebuggerLaunch,
  [in, out] PDWORD pchDebuggerLaunch,
  [out]     PBOOL pbIsDebuggerAutolaunch
)
{...}

Параметры

[in] pContext

Указатель на произвольные сведения контекста, указанные при вызове функции WerRegisterRuntimeExceptionModule для регистрации обработчика исключений.

[in] pExceptionInformation

Структура WER_RUNTIME_EXCEPTION_INFORMATION , содержащая сведения об исключении.

[out] pbIsCustomDebugger

Задайте значение TRUE , если для отладки сбоя используется пользовательский отладчик, указанный в параметре pwszDebuggerLaunch ; в противном случае задайте значение FALSE , чтобы использовать отладчик по умолчанию. Если для этого параметра задано значение FALSE, не устанавливайте параметр pwszDebuggerLaunch .

[out] pwszDebuggerLaunch

Выделенный вызывающим объектом буфер, который используется для указания строки запуска отладчика, используемой для запуска отладчика. Строка запуска должна содержать полный путь к отладчику и любые аргументы. Если аргумент содержит несколько слов, используйте кавычки для разделения аргумента. Строка отладчика должна соответствовать тому же протоколу, что и строка отладчика AeDebug по умолчанию (см . раздел Настройка автоматической отладки). Строка должна содержать два описателя форматирования: %ld для идентификатора аварийного процесса и %ld для дескриптора объекта события, который будет сигнализировать после подключения пользовательского отладчика к целевому объекту (описание этих описателей см. в разделе Включение postmortem Debugging). Однако пользовательские отладчики могут игнорировать эти параметры.

[in, out] pchDebuggerLaunch

Размер буфера pwszDebuggerLaunch (в символах).

[out] pbIsDebuggerAutolaunch

Задайте значение TRUE , если требуется, чтобы wer автоматически запускал отладчик; В противном случае значение FALSE , если требуется, чтобы WER запрашивал у пользователя перед запуском отладчика.

Возвращаемое значение

Возвращать S_OK, даже если не используется отладчик клиента. Если вы возвращаете другие коды сбоев, WER вернется к поведению отчетов о сбоях по умолчанию.

Комментарии

Эту функцию необходимо реализовать в библиотеке DLL обработчика исключений.

WER использует эту функцию, чтобы определить, какой отладчик следует запускать и следует ли запускать отладчик автоматически или запрашивать у пользователя перед запуском отладчика. При указании пользовательского отладчика будет переопределяться строка запуска по умолчанию (раздел реестра AeDebug содержит строку запуска по умолчанию).

WER вызывает эту функцию обратного вызова, только если для параметра pbOwnershipClaimed функции обратного вызова OutOfProcessExceptionEventCallback задано значение TRUE.

Требования

   
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header werapi.h

См. также раздел

WerRegisterRuntimeExceptionModule, отчеты об ошибках Windows