Compartilhar via


EXT_ANALYSIS_PLUGIN função de retorno de chamada (extsfns.h)

Ao escrever uma Extensão de Análise, você deve implementar um EXT_ANALYSIS_PLUGIN exportado como (_EFN_Analyze). Quando o comando !analyze debugger é 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 Herdada (IDebug*), Host de Depuração (IDebugHost*), Modelo de Dados (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 propriedades da análise. Use QueryInterface para acessar outras interfaces !analyze.

Retornar valor

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
Plataforma de Destino Área de Trabalho
Cabeçalho extsfns.h

Confira também

Gravando a extensão do depurador de análise personalizada

Gravando um plug-in de extensão de análise para estender !analisar