Partager via


IDiaStackWalkHelper3 ::get_registerValue

Récupère la valeur du registre spécifié.

Syntaxe

HRESULT get_registerValue(
    DWORD index,
    DWORD cbData,
    DWORD* pcbData,
    BYTE* pbData
);

Paramètres

index

[in] Valeur de l’énumération CV_HREG_e spécifiant le registre à partir duquel obtenir la valeur. Cette valeur de paramètre est principalement destinée aux registres ARM64 SVE.

cbData

[in] Taille, en octets, de la mémoire tampon pointée par pbData. Peut être 0 quand pbData est nullptr.

pcbData

[out] Reçoit la taille, en octets, de la valeur de registre. Quand pbData est nullptr et cbData est 0, pcbData est défini sur la taille requise pour la valeur de registre.

pbData

[out, facultatif] Mémoire tampon allouée par l’appelant qui reçoit la valeur de registre. Peut être nullptr d’interroger la taille requise uniquement.

Valeur de retour

Si elle réussit, retourne S_OK; sinon, retourne un code d’erreur.

Remarques

Vous pouvez transmettre pbData = nullptrcbData = 0 pour interroger uniquement la taille requise de la valeur de registre. La méthode définit pcbData le nombre d’octets nécessaires. Allouez une mémoire tampon de cette taille et appelez à nouveau pour récupérer la valeur.

Les tailles d’inscription peuvent différer entre les architectures du processeur. Cette méthode prend en charge les registres de taille variable, y compris les registres vectoriels volumineux tels que ARM64 SVE.

Pour les registres de 64 bits ou moins (par exemple, 1 à 8 octets), utilisez get_registerValue et put_registerValue dans IDiaStackWalkHelper.

Voir aussi