Aracılığıyla paylaş


IDiaStackWalkHelper3::get_registerValue

Belirtilen yazmaç değerini alır.

Sözdizimi

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

Parametreler

index

[in] Numaralandırmadan CV_HREG_e değerin alınacağını belirten bir değer. Bu parametre değeri öncelikle ARM64 SVE yazmaçları için tasarlanmıştır.

cbData

[in] tarafından işaret edilen pbDataarabelleğin bayt cinsinden boyutu. olduğunda pbDatanullptrolabilir0.

pcbData

[out] Yazmaç değerinin bayt cinsinden boyutunu alır. ve cbData olduğunda nullptrpbData0, pcbData yazmaç değeri için gerekli boyuta ayarlanır.

pbData

[out, isteğe bağlı] Yazmaç değerini alan çağıran tarafından ayrılan arabellek. Yalnızca gerekli boyutu sorgulamak için olabilir nullptr .

Dönüş Değeri

Başarılı olursa döndürür S_OK; aksi takdirde bir hata kodu döndürür.

Açıklamalar

ile ile pbData = nullptrcbData = 0 yalnızca yazmaç değerinin yalnızca gerekli boyutunu sorgulayabilirsiniz. yöntemi gereken bayt sayısına ayarlar pcbData . Bu boyutta bir arabellek ayırın ve değeri almak için yeniden çağırın.

Yazmaç boyutları CPU mimarileri arasında farklılık gösterebilir. Bu yöntem, ARM64 SVE gibi büyük vektör yazmaçları da dahil olmak üzere değişken boyutlu yazmaçları destekler.

64 bit veya daha küçük yazmaçlar için (örneğin, 1-8 bayt), ve put_registerValuedosyasını IDiaStackWalkHelper içinde kullanınget_registerValue.

Ayrıca bakınız