Partager via


Méthode IDebugEventCallbacksWide ::ChangeDebuggeeState (dbgeng.h)

La méthode de rappel ChangeDebuggeeState est appelée par le moteur lorsqu’il apporte ou détecte des modifications à la cible.

Syntaxe

HRESULT ChangeDebuggeeState(
  [in] ULONG   Flags,
  [in] ULONG64 Argument
);

Paramètres

[in] Flags

Spécifie le type de modifications apportées à la cible. Les indicateurs peuvent prendre l’une des valeurs suivantes :

Valeur Description
DEBUG_CDS_ALL Une modification générale de la cible s’est produite. Par exemple, la cible est en cours d’exécution ou le moteur vient d’être attaché à la cible.
DEBUG_CDS_REGISTERS Le registre du processeur pour la cible a changé.
DEBUG_CDS_DATA L’espace de données de la cible a changé.

[in] Argument

Fournit des informations supplémentaires sur la modification apportée à la cible. L’interprétation de la valeur d’Argument dépend de la valeur des indicateurs :

DEBUG_CDS_ALL
La valeur d’Argument est zéro.
DEBUG_CDS_REGISTERS
Si un registre unique a changé, la valeur d’Argument est l’index de ce registre. Sinon, la valeur d’Argument est DEBUG_ANY_ID.
DEBUG_CDS_DATA
La valeur d’Argument spécifie l’espace de données qui a été modifié. Le tableau suivant contient les valeurs possibles d’Argument.
Valeur Description
DEBUG_DATA_SPACE_VIRTUAL La mémoire virtuelle de la cible a changé.
DEBUG_DATA_SPACE_PHYSICAL La mémoire physique de la cible a changé.
DEBUG_DATA_SPACE_CONTROL La mémoire de contrôle de la cible a changé.
DEBUG_DATA_SPACE_IO Les ports d’E/S de la cible ont reçu une entrée ou une sortie.
DEBUG_DATA_SPACE_MSR Les registres de Model-Specific (MSR) de la cible ont changé.
DEBUG_DATA_SPACE_BUS_DATA La mémoire du bus de la cible a changé.
 

Valeur retournée

La valeur de retour est ignorée par le moteur, sauf si elle indique une erreur d’appel de procédure distante ; dans ce cas, le client, avec lequel cet objet IDebugEventCallbacksWide est inscrit, est désactivé.

Remarques

Le moteur appelle ChangeDebuggeeState uniquement si l’indicateur DEBUG_EVENT_CHANGE_DEBUGGEE_STATE est défini dans le masque retourné par IDebugEventCallbacksWide ::GetInterestMask.

Pour plus d’informations sur la gestion des événements, consultez Surveillance des événements. Pour plus d’informations sur la gestion de la mémoire de la cible, y compris les registres et les espaces de données, consultez Accès à la mémoire. Pour plus d’informations sur la mémoire virtuelle et physique de la cible, consultez Mémoire virtuelle et physique. Pour plus d’informations sur la mémoire de contrôle, les ports d’E/S, MSR et la mémoire de bus de la cible, consultez Autres espaces de données.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête dbgeng.h (inclure Dbgeng.h)