Compartir a través de


PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH función de devolución de llamada (werapi.h)

Informe de errores de Windows (WER) llama a esta función para permitirle personalizar las opciones de inicio del depurador y la cadena de inicio.

El tipo PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH define un puntero a esta función de devolución de llamada. Debe usar "OutOfProcessExceptionEventDebuggerLaunchCallback" como nombre de la función de devolución de llamada.

Sintaxis

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
)
{...}

Parámetros

[in] pContext

Puntero a información de contexto arbitraria que especificó cuando llamó a la función WerRegisterRuntimeExceptionModule para registrar el controlador de excepciones.

[in] pExceptionInformation

Estructura WER_RUNTIME_EXCEPTION_INFORMATION que contiene la información de excepción.

[out] pbIsCustomDebugger

Se establece en TRUE si el depurador personalizado especificado en el parámetro pwszDebuggerLaunch se usa para depurar el bloqueo; De lo contrario, establezca en FALSE para usar el depurador predeterminado. Si establece este parámetro en FALSE, no establezca el parámetro pwszDebuggerLaunch .

[out] pwszDebuggerLaunch

Búfer asignado por el autor de la llamada que se usa para especificar la cadena de inicio del depurador usada para iniciar el depurador. La cadena de inicio debe incluir la ruta de acceso completa al depurador y los argumentos. Si un argumento incluye varias palabras, use comillas para delimitar el argumento. La cadena del depurador debe cumplir el mismo protocolo que la cadena del depurador de AeDebug predeterminada (consulte Configuración de la depuración automática). La cadena debe contener dos especificadores de formato: %ld para el identificador de proceso de bloqueo y %ld para que el identificador de un objeto de evento se señale después de que el depurador personalizado se haya asociado al destino (para obtener una descripción de estos especificadores, consulte Habilitación de la depuración postmortem). Sin embargo, los depuradores personalizados pueden optar por omitir estos parámetros.

[in, out] pchDebuggerLaunch

Tamaño, en caracteres, del búfer pwszDebuggerLaunch .

[out] pbIsDebuggerAutolaunch

Establézcalo en TRUE si desea que WER inicie silenciosamente el depurador; de lo contrario, FALSE si desea que WER pida al usuario antes de iniciar el depurador.

Valor devuelto

Devuelve S_OK, incluso si no se va a usar ningún depurador de clientes. Si devuelve otros códigos de error, WER vuelve a su comportamiento predeterminado de informes de bloqueos.

Observaciones

Debe implementar esta función en el archivo DLL del controlador de excepciones.

WER usa esta función para determinar qué depurador se va a iniciar y si se debe iniciar el depurador automáticamente o preguntar al usuario antes de iniciar el depurador. Al especificar un depurador personalizado, se invalidará la cadena de inicio predeterminada (la clave del Registro AeDebug contiene la cadena de inicio predeterminada).

WER llama a esta función de devolución de llamada solo si establece el parámetro pbOwnershipClaimed de la función de devolución de llamada OutOfProcessExceptionEventCallback en TRUE.

Requisitos

   
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado werapi.h

Consulte también

WerRegisterRuntimeExceptionModule, Informe de errores de Windows