Partager via


Méthode IDebugRegisters2 ::GetValues2 (dbgeng.h)

La méthode GetValues2 extrait la valeur de plusieurs registres de la cible.

Syntaxe

HRESULT GetValues2(
  [in]           ULONG        Source,
  [in]           ULONG        Count,
  [in, optional] PULONG       Indices,
  [in]           ULONG        Start,
  [out]          PDEBUG_VALUE Values
);

Paramètres

[in] Source

Spécifie la source de registre à interroger.

Les valeurs possibles sont répertoriées dans le tableau suivant.

Valeur Inscrire la source
DEBUG_REGSRC_DEBUGGEE Récupérez les informations de registre à partir de la cible.
DEBUG_REGSRC_EXPLICIT Récupérez les informations de registre à partir du contexte de registre explicite actuel.
DEBUG_REGSRC_FRAME Récupérez les informations de registre du contexte de registre de l’étendue actuelle.
Note Le déroulement de la pile ne garantit pas la mise à jour exacte du contexte de registre, de sorte que le contexte de registre de la trame d’étendue peut ne pas être exact dans tous les cas.
 

[in] Count

Spécifie le nombre de registres dont les valeurs sont demandées.

[in, optional] Indices

Spécifie un tableau qui contient les index des registres à partir desquels obtenir les valeurs. Le nombre d’éléments dans ce tableau est Count. Si Index a la valeur NULL, Start est utilisé à la place.

[in] Start

Si Index a la valeur NULL, les registres sont lus consécutivement à partir de cet index. Sinon, il est ignoré.

[out] Values

Reçoit les valeurs des registres. Le nombre d’éléments que contient ce tableau est Count. Consultez DEBUG_VALUE pour obtenir une description de ce type de paramètre.

Valeur retournée

Cette liste ne contient pas toutes les erreurs qui peuvent se produire. Pour obtenir la liste des erreurs possibles, consultez Valeurs HRESULT.

Code de retour Description
S_OK
La méthode a réussi.
E_INVALIDARG
La valeur de l’index de l’un des registres est supérieure au nombre de registres sur l’ordinateur cible. Des résultats partiels ont peut-être été obtenus ; les registres qui n’ont pas pu être lus auront le type DEBUG_VALUE_INVALID.

Remarques

Si la valeur de retour n’est pas S_OK, certains registres ont peut-être été lus. Si la cible n’était pas accessible, le type de retour est E_UNEXPECTED et Les valeurs sont inchangées. Sinon, les valeurs contiennent des résultats partiels et les registres qui n’ont pas pu être lus ont le type DEBUG_VALUE_INVALID. L’ambiguïté dans le cas de la valeur de retour E_UNEXPECTED peut être évitée en définissant la mémoire de Valeurs sur zéro avant d’appeler cette méthode.

La méthode GetValues effectue la même tâche que cette méthode, mais utilise toujours la cible comme source de registre.

Pour obtenir une vue d’ensemble de l’interface IDebugRegisters et d’autres méthodes liées au registre, consultez Registres.

Configuration requise

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

Voir aussi

GetValue

GetValues

IDebugRegisters2