PDEBUG_EXTENSION_CALL fonction de rappel (dbgeng.h)
Les fonctions de rappel du type PDEBUG_EXTENSION_CALL sont appelées par le moteur pour exécuter des commandes d’extension. Vous pouvez donner à ces fonctions le nom de votre choix, tant qu’elles ne contiennent pas de lettres majuscules.
Syntaxe
PDEBUG_EXTENSION_CALL PdebugExtensionCall;
HRESULT PdebugExtensionCall(
[in] PDEBUG_CLIENT Client,
[in, optional] PCSTR Args
)
{...}
Paramètres
[in] Client
Spécifie un pointeur d’interface vers le client. Cela peut être utilisé pour interagir avec le moteur. En règle générale, il s’agit du client par lequel la commande d’extension a été émise.
[in, optional] Args
Spécifie les arguments passés à la commande d’extension. En particulier, si la commande d’extension a été appelée à partir d’une ligne de commande, Args contient le reste de la ligne de commande. Il peut être NULL ou vide.
Valeur retournée
Code de retour | Description |
---|---|
|
La fonction a réussi. |
|
Indique que la fonction ne peut pas gérer la commande ou que d’autres implémentations de la même commande dans d’autres DLL d’extension doivent également s’exécuter. Le moteur doit continuer à rechercher d’autres DLL d’extension pour une autre fonction pour gérer la commande. Par exemple, cela peut être utilisé pour que toutes les fonctions d’aide s’exécutent si chacune retourne CONTINUE_SEARCH. |
Toutes les autres valeurs de retour sont ignorées par le moteur.
Remarques
Le nom de la fonction devient le nom de la commande d’extension. Lors de l’exécution d’une commande d’extension, le moteur recherche à son tour chacune des DLL d’extension chargées, à la recherche d’une fonction exportée portant le même nom que la commande. Par exemple, lors de l’exécution de la commande !stack, le moteur recherche une fonction exportée nommée stack dans chaque DLL d’extension chargée. Pour plus d’informations sur l’ordre dans lequel les DLL d’extension sont recherchées, consultez Utilisation de commandes d’extension de débogueur.
La fonction d’extension doit utiliser le client qui lui a été transmis dans Client pour toutes les interactions avec le moteur, sauf si elle a une raison spécifique d’utiliser un autre client. La fonction d’extension ne doit pas conserver le pointeur vers l’objet client une fois qu’il a terminé.
DebugExtensionCall est appelé PDEBUG_EXTENSION_CALL dans le fichier d’en-tête Dbgeng.h.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | dbgeng.h |