Partager via


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

La méthode GetValues2 extrait la valeur de plusieurs registres 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 d’inscription à interroger.

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

Valeur Inscrire la source
DEBUG_REGSRC_DEBUGGEE Récupérez les informations d’inscription à partir de la cible.
DEBUG_REGSRC_EXPLICIT Récupérez les informations d’inscription à partir du contexte de registre explicite actuel.
DEBUG_REGSRC_FRAME Récupérez les informations d’inscription à partir du contexte de registre de l’étendue actuelle.
Remarque Déroulement de la pile ne garantit pas la mise à jour précise du contexte de registre. Par conséquent, le contexte de registre du cadre d’étendue peut ne pas être précis 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 de ce tableau est Count. Si index est NULL, démarrer est utilisé à la place.

[in] Start

Si index est NULL, les registres sont lus consécutivement à partir de cet index. Sinon, elle est ignorée.

[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 de retour

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

Retourner le code Description
S_OK
La méthode a réussi.
E_INVALIDARG
La valeur de l’index d’un des registres est supérieure au nombre de registres sur l’ordinateur cible. Des résultats partiels peuvent avoir été obtenus ; ces 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 encore été lus. Si la cible n’a pas été accessible, le type de retour est E_UNEXPECTED et Valeurs est inchangé. Sinon, valeurs contiendra des résultats partiels et les registres qui n’ont pas pu être lus auront 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 d’inscription.

Pour obtenir une vue d’ensemble de l’interface IDebugRegisters et d’autres méthodes liées à l’inscription, consultez Registers.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête dbgeng.h (include DbgEng.h)

Voir aussi

GetValue

GetValues

IDebugRegisters2