EXT_ANALYSIS_PLUGIN función de devolución de llamada (extsfns.h)
Al escribir un de extensión de análisis de, debe implementar un EXT_ANALYSIS_PLUGIN exportado como (_EFN_Analyze). Cuando se ejecuta el comando !analyze depurador, llama a la _EFN_Analyze en cada fase para 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 tener acceso a otras interfaces del depurador, como legacy (IDebug*
), Debug Host (IDebugHost*
), Data Model (IDataModel*
), etc., 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, el pre-bucketing y el post-bucketing.
[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_*: se produjo un error. !analyze notificará el error a través de Clave/Valor mediante una cadena de clave de Plugin.Exception."Phase"."DLL"
y Cadena de valor de HRESULT en formato "0x%08x".
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Escritorio |
encabezado de | extsfns.h |
Consulte también
escribir la extensión custom Analysis Debugger
escribir un complemento de extensión de análisis para ampliar !analyze