Compartilhar via


IDiaStackWalkHelper3::get_registerValue

Recupera o valor do registro especificado.

Sintaxe

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

Parâmetros

index

[in] Um valor da CV_HREG_e enumeração que especifica de qual registro obter o valor. Esse valor de parâmetro destina-se principalmente aos registros SVE do ARM64.

cbData

[in] Tamanho, em bytes, do buffer apontado por pbData. Pode ser 0 quando pbData é nullptr.

pcbData

[out] Recebe o tamanho, em bytes, do valor do registro. Quando pbData é nullptr e cbData é 0, pcbData é definido como o tamanho necessário para o valor de registro.

pbData

[out, opcional] Buffer alocado pelo chamador que recebe o valor de registro. Pode ser nullptr para consultar apenas o tamanho necessário.

Valor de retorno

Se tiver êxito, retornará S_OK; caso contrário, retornará um código de erro.

Observações

Você pode passar pbData = nullptrcbData = 0 para consultar apenas o tamanho necessário do valor do registro. O método define pcbData o número de bytes necessários. Aloque um buffer desse tamanho e chame novamente para recuperar o valor.

Os tamanhos de registro podem ser diferentes entre arquiteturas de CPU. Esse método dá suporte a registros de tamanho variável, incluindo registros de vetores grandes, como o ARM64 SVE.

Para registros de 64 bits ou menos (por exemplo, 1 a 8 bytes), use get_registerValue e put_registerValue no IDiaStackWalkHelper.

Consulte também