Partager via


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
S_OK
La fonction a réussi.
DEBUG_EXTENSION_CONTINUE_SEARCH
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

Voir aussi

IDebugClient