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