Partilhar via


IDiaStackWalkHelper3::get_registerValue

Recupera o valor do registo especificado.

Sintaxe

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

Parâmetros

index

[dentro] Um valor da CV_HREG_e enumeração que especifica de que registo obter o valor. Este valor de parâmetro destina-se principalmente aos registos SVE ARM64.

cbData

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

pcbData

[fora] Recebe o tamanho, em bytes, do valor do registo. Quando pbData é nullptr e cbData0é , pcbData é definido para o tamanho necessário para o valor do registo.

pbData

[fora, opcional] Buffer alocado pelo chamador que recebe o valor do registo. Pode ser nullptr para consultar apenas o tamanho exigido.

Valor de retorno

Se for bem-sucedido, devolve S_OK; caso contrário, devolve um código de erro.

Observações

Pode passar pbData = nullptr com cbData = 0 para consultar apenas o tamanho exigido do valor do registo. O método define pcbData para o número de bytes necessários. Aloque um buffer desse tamanho e ligue novamente para recuperar o valor.

Os tamanhos dos registos podem variar entre arquiteturas de CPU. Este método suporta registos de tamanho variável, incluindo registos vetoriais grandes como o ARM64 SVE.

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

Consulte também