Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengambil nilai register yang ditentukan.
Syntax
HRESULT get_registerValue(
DWORD index,
DWORD cbData,
DWORD* pcbData,
BYTE* pbData
);
Parameter-parameternya
index
[di] Nilai dari CV_HREG_e enumerasi yang menentukan register mana yang akan mendapatkan nilainya. Nilai parameter ini terutama ditujukan untuk register ARM64 SVE.
cbData
[di] Ukuran, dalam byte, dari buffer yang diacu oleh pbData. Mungkin ketika 0pbData adalah nullptr.
pcbData
[out] Menerima ukuran, dalam byte, dari nilai register. Ketika pbData adalah nullptr dan cbData , 0pcbData diatur ke ukuran yang diperlukan untuk nilai register.
pbData
[out, opsional] Buffer yang dialokasikan pemanggil yang menerima nilai register. Mungkin untuk mengkueri nullptr ukuran yang diperlukan saja.
Mengembalikan Nilai
Jika berhasil, mengembalikan S_OK; jika tidak, mengembalikan kode kesalahan.
Komentar
Anda dapat meneruskan pbData = nullptrcbData = 0 untuk mengkueri hanya ukuran nilai register yang diperlukan. Metode ini diatur pcbData ke jumlah byte yang diperlukan. Alokasikan buffer dengan ukuran tersebut dan panggil lagi untuk mengambil nilai.
Ukuran register dapat berbeda antara arsitektur CPU. Metode ini mendukung register berukuran variabel, termasuk register vektor besar seperti ARM64 SVE.
Untuk mendaftarkan 64-bit atau kurang (misalnya, 1-8 byte), gunakan get_registerValue dan put_registerValue di IDiaStackWalkHelper.