Compartir a través de


EXT_ANALYSIS_PLUGIN función de devolución de llamada (extsfns.h)

Al escribir una extensión de análisis, debe implementar una EXT_ANALYSIS_PLUGIN exportada como (_EFN_Analyze). Cuando se ejecuta el comando !analyze debugger, llama a la _EFN_Analyze en cada fase, de modo que pueda participar en el análisis.

Se requiere la convención de llamada de WINAPI (__stdcall). Ninguna excepción (noexcept) debe dejar la función .

Sintaxis

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

Puntero a una interfaz IDebugClient4 . Use esta interfaz para acceder al depurador. Use QueryInterface para acceder a otras interfaces del depurador, como el heredado (IDebug*), el host de depuración (IDebugHost*), el modelo de datos (IDataModel*), etc., las interfaces.

[in] CallPhase

Valor de la enumeración FA_EXTENSION_PLUGIN_PHASE que especifica qué fase del análisis está actualmente en curso. Las fases de análisis incluyen la inicialización, el análisis de pila, la creación previa de depósitos y la creación posterior.

[in] pAnalysis

Puntero a una interfaz IDebugFailureAnalysis2 . Use esta interfaz para obtener o establecer propiedades del análisis. Use QueryInterface para acceder a otras interfaces !analyze.

Valor devuelto

S_OK : se realizó un cambio.

S_FALSE : no se realizaron cambios.

E_* : error. !analyze notificará el error a través de Key/Value mediante una cadena key de Plugin.Exception."Phase"."DLL" y Value de hrESULT en formato "0x%08x".

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado extsfns.h

Consulte también

Escritura de la extensión del depurador de análisis personalizado

Escribir un complemento de extensión de análisis para ampliar !analyze