Compartilhar via


PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH função de retorno de chamada (werapi.h)

Relatório de Erros do Windows (WER) chama essa função para permitir que você personalize as opções de inicialização do depurador e inicie a cadeia de caracteres.

O tipo PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH define um ponteiro para essa função de retorno de chamada. Você deve usar "OutOfProcessExceptionEventDebuggerLaunchCallback" como o nome da função de retorno de chamada.

Sintaxe

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

Um ponteiro para informações de contexto arbitrárias que você especificou quando chamou a função WerRegisterRuntimeExceptionModule para registrar o manipulador de exceção.

[in] pExceptionInformation

Uma estrutura WER_RUNTIME_EXCEPTION_INFORMATION que contém as informações de exceção.

[out] pbIsCustomDebugger

Defina como TRUE se o depurador personalizado especificado no parâmetro pwszDebuggerLaunch for usado para depurar a falha; caso contrário, defina como FALSE para usar o depurador padrão. Se você definir esse parâmetro como FALSE, não defina o parâmetro pwszDebuggerLaunch .

[out] pwszDebuggerLaunch

Um buffer alocado pelo chamador que você usa para especificar a cadeia de caracteres de inicialização do depurador usada para iniciar o depurador. A cadeia de caracteres de inicialização deve incluir o caminho completo para o depurador e quaisquer argumentos. Se um argumento incluir várias palavras, use aspas para delimitar o argumento. A cadeia de caracteres do depurador deve aderir ao mesmo protocolo que a cadeia de caracteres padrão do depurador AeDebug (consulte Configurando a depuração automática). A cadeia de caracteres deve conter dois especificadores de formatação: %ld para a ID do processo de falha e %ld para o identificador para um objeto de evento a ser sinalizado depois que o depurador personalizado tiver anexado ao destino (para obter uma descrição desses especificadores, consulte Habilitando a depuração pós-morte). No entanto, os depuradores personalizados podem optar por ignorar esses parâmetros.

[in, out] pchDebuggerLaunch

O tamanho, em caracteres, do buffer pwszDebuggerLaunch .

[out] pbIsDebuggerAutolaunch

Defina como TRUE se você quiser que o WER inicie silenciosamente o depurador; caso contrário, FALSE se você quiser que o WER pergunte ao usuário antes de iniciar o depurador.

Retornar valor

Retorne S_OK, mesmo que nenhum depurador de cliente seja usado. Se você retornar outros códigos de falha, o WER reverterá para seu comportamento padrão de relatório de falhas.

Comentários

Você deve implementar essa função na DLL do manipulador de exceção.

O WER usa essa função para determinar qual depurador iniciar e se deve iniciar o depurador automaticamente ou perguntar ao usuário antes de iniciar o depurador. Especificar um depurador personalizado substituirá a cadeia de caracteres de inicialização padrão (a chave do Registro AeDebug contém a cadeia de caracteres de inicialização padrão).

O WER chamará essa função de retorno de chamada somente se você definir o parâmetro pbOwnershipClaimed da função de retorno de chamada OutOfProcessExceptionEventCallback como TRUE.

Requisitos

   
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho werapi.h

Confira também

WerRegisterRuntimeExceptionModule, Relatório de Erros do Windows