Partilhar via


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