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) |