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 commandes d’extension. Vous pouvez donner à ces fonctions n’importe quel nom souhaité, tant qu’elle ne contient 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 via 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, contient le reste de la ligne de commande. Elle peut être NULL ou vide.

Valeur de retour

Retourner le code 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 chacun 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 effectue une recherche dans chacune des DLL d’extension chargées à son tour, en recherchant 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 pile 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 des 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 s’il 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’elle a terminé.

DebugExtensionCall est appelé PDEBUG_EXTENSION_CALL dans le fichier d’en-tête Dbgeng.h.

Exigences

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

Voir aussi

IDebugClient