Partager via


EXT_ANALYSIS_PLUGIN fonction de rappel (extsfns.h)

Lorsque vous écrivez une d’extension Analysis, vous devez implémenter un EXT_ANALYSIS_PLUGIN exporté en tant que (_EFN_Analyze). Lorsque la commande  !analyser commande de débogueur s’exécute, elle appelle votre _EFN_Analyze dans chaque phase, afin que vous puissiez participer à l’analyse.

La convention d’appel WINAPI (__stdcall) est requise. Aucune exception (noexcept) ne doit quitter la fonction.

Syntaxe

EXT_ANALYSIS_PLUGIN ExtAnalysisPlugin;

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

Paramètres

[in] Client

Pointeur vers une interface IDebugClient4. Utilisez cette interface pour accéder au débogueur. Utilisez QueryInterface pour accéder à d’autres interfaces de débogueur, telles que l’ancien (IDebug*), l’hôte de débogage (IDebugHost*), le modèle de données (IDataModel*), etc., les interfaces.

[in] CallPhase

Valeur de l’énumération FA_EXTENSION_PLUGIN_PHASE qui spécifie la phase de l’analyse en cours. Les phases d’analyse incluent l’initialisation, l’analyse de pile, le pré-compartimentage et le post-compartimentage.

[in] pAnalysis

Pointeur vers une interface IDebugFailureAnalysis2. Utilisez cette interface pour obtenir/définir les propriétés de l’analyse. Utilisez QueryInterface pour accéder à d’autres interfaces !analyze.

Valeur de retour

S_OK – Une modification a été apportée.

S_FALSE : aucune modification n’a été apportée.

E_* - Une erreur s’est produite. !analyser signale l’erreur via la clé/valeur à l’aide d’une chaîne de clé de Plugin.Exception."Phase"."DLL" et de chaîne valeur du HRESULT au format « 0x%08x».

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête extsfns.h

Voir aussi

écriture de l’extension de débogueur d’analyse personnalisée

écriture d’un plug-in d’extension d’analyse pour étendre !analyser