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