EXT_ANALYSIS_PLUGIN função de retorno de chamada (extsfns.h)
Ao escrever um de Extensão de Análise de, você deve implementar um EXT_ANALYSIS_PLUGIN exportado como (_EFN_Analyze). Quando o comando !analyze depurador é executado, ele chama seu _EFN_Analyze em cada fase, para que você possa participar da análise.
A convenção de chamada WINAPI (__stdcall) é necessária. Nenhuma exceção (noexcept) deve deixar a função.
Sintaxe
EXT_ANALYSIS_PLUGIN ExtAnalysisPlugin;
HRESULT ExtAnalysisPlugin(
[in] PDEBUG_CLIENT4 Client,
[in] FA_EXTENSION_PLUGIN_PHASE CallPhase,
[in] PDEBUG_FAILURE_ANALYSIS2 pAnalysis
)
{...}
Parâmetros
[in] Client
Um ponteiro para uma interface IDebugClient4. Use essa interface para acessar o depurador. Use QueryInterface para acessar outras interfaces do depurador, como as interfaces Legacy (IDebug*
), Debug Host (IDebugHost*
), Data Model (IDataModel*
), etc..
[in] CallPhase
Um valor na enumeração FA_EXTENSION_PLUGIN_PHASE que especifica qual fase da análise está em andamento no momento. As fases de análise incluem inicialização, análise de pilha, pré-bucketing e pós-bucketing.
[in] pAnalysis
Um ponteiro para uma interface IDebugFailureAnalysis2. Use essa interface para obter/definir as propriedades da análise. Use QueryInterface para acessar outras interfaces !analyze.
Valor de retorno
S_OK – foi feita uma alteração.
S_FALSE – nenhuma alteração foi feita.
E_* - Ocorreu um erro. !analyze relatará o erro por meio de Chave/Valor usando uma cadeia de caracteres chave de Plugin.Exception."Phase"."DLL"
e cadeia de caracteres Value do HRESULT no formato "0x%08x".
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | extsfns.h |
Consulte também
gravando de extensão do depurador de análise personalizada
escrever um plug-in de extensão de análise para estender !analisar