Compartir a través de


IDiaStackWalkHelper3::get_registerValue

Recupera el valor del registro especificado.

Sintaxis

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

Parámetros

index

[in] Valor de la CV_HREG_e enumeración que especifica el registro del que se va a obtener el valor. Este valor de parámetro está pensado principalmente para los registros SVE de ARM64.

cbData

[in] Tamaño, en bytes, del búfer al que pbDataapunta . Puede ser 0 cuando pbData es nullptr.

pcbData

[out] Recibe el tamaño, en bytes, del valor de registro. Cuando pbData es nullptr y cbData es 0, pcbData se establece en el tamaño necesario para el valor de registro.

pbData

[out, optional] Búfer asignado por el autor de la llamada que recibe el valor de registro. Puede ser nullptr consultar solo el tamaño necesario.

Valor devuelto

Si se ejecuta correctamente, devuelve S_OK; de lo contrario, devuelve un código de error.

Observaciones

Puede pasar pbData = nullptr con cbData = 0 para consultar solo el tamaño necesario del valor de registro. El método establece pcbData el número de bytes necesarios. Asigne un búfer de ese tamaño y vuelva a llamar a para recuperar el valor.

Los tamaños de registro pueden diferir entre las arquitecturas de CPU. Este método admite registros de tamaño variable, incluidos los registros vectoriales grandes, como ARM64 SVE.

Para los registros de 64 bits o menos (por ejemplo, 1-8 bytes), use get_registerValue y put_registerValue en IDiaStackWalkHelper.

Consulte también