Partager via


EXT_ANALYSIS_PLUGIN fonction de rappel (extsfns.h)

Lorsque vous écrivez une extension d’analyse, vous devez implémenter une EXT_ANALYSIS_PLUGIN exportée en tant que (_EFN_Analyze). Lorsque la commande !analyze 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 les interfaces héritées (IDebug*), Hôte de débogage (IDebugHost*), Modèle de données (IDataModel*), etc..

[in] CallPhase

Valeur dans 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 la 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 retournée

S_OK : une modification a été apportée.

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

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

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
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 !analyze