Freigeben über


EXT_ANALYSIS_PLUGIN Rückruffunktion (extsfns.h)

Wenn Sie eine Analysis Extensionschreiben, müssen Sie eine EXT_ANALYSIS_PLUGIN als (_EFN_Analyze) implementieren. Wenn der !analyze Debuggerbefehl ausgeführt wird, ruft er ihre _EFN_Analyze in jeder Phase auf, sodass Sie an der Analyse teilnehmen können.

Die WINAPI-Aufrufkonvention (__stdcall) ist erforderlich. Keine Ausnahmen (noexcept) sollten die Funktion verlassen.

Syntax

EXT_ANALYSIS_PLUGIN ExtAnalysisPlugin;

HRESULT ExtAnalysisPlugin(
  [in] PDEBUG_CLIENT4 Client,
  [in] FA_EXTENSION_PLUGIN_PHASE CallPhase,
  [in] PDEBUG_FAILURE_ANALYSIS2 pAnalysis
)
{...}

Parameter

[in] Client

Ein Zeiger auf eine IDebugClient4 Schnittstelle. Verwenden Sie diese Schnittstelle, um auf den Debugger zuzugreifen. Verwenden Sie QueryInterface, um auf andere Debuggerschnittstellen zuzugreifen, z. B. legacy (IDebug*), DebugHost (IDebugHost*), Datenmodell (IDataModel*), usw. Schnittstellen.

[in] CallPhase

Ein Wert in der FA_EXTENSION_PLUGIN_PHASE-Aufzählung, der angibt, welche Phase der Analyse derzeit ausgeführt wird. Analysephasen umfassen Initialisierung, Stapelanalyse, Vorab-Bucketing und Post-Bucketing.

[in] pAnalysis

Ein Zeiger auf eine IDebugFailureAnalysis2 Schnittstelle. Verwenden Sie diese Schnittstelle, um die Eigenschaften der Analyse abzurufen/festzulegen. Verwenden Sie QueryInterface, um auf andere !analyze-Schnittstellen zuzugreifen.

Rückgabewert

S_OK – Eine Änderung wurde vorgenommen.

S_FALSE – Es wurden keine Änderungen vorgenommen.

E_* – Fehler. !analyze meldet den Fehler über Schlüssel/Wert mithilfe einer Schlüsselzeichenfolge von Plugin.Exception."Phase"."DLL" und Wertzeichenfolge des HRESULT im Format "0x%08x".

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- extsfns.h

Siehe auch

Schreiben benutzerdefinierter Analysedebuggererweiterungen

Schreiben eines Analysis Extension Plug-Ins zum Erweitern von !analyze