Fungsi ZwQueryValueKey (wdm.h)
Rutinitas ZwQueryValueKey mengembalikan entri nilai untuk kunci registri.
Sintaks
NTSYSAPI NTSTATUS ZwQueryValueKey(
[in] HANDLE KeyHandle,
[in] PUNICODE_STRING ValueName,
[in] KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
[out, optional] PVOID KeyValueInformation,
[in] ULONG Length,
[out] PULONG ResultLength
);
Parameter
[in] KeyHandle
Tangani ke kunci untuk membaca entri nilai dari. Handel ini dibuat oleh panggilan yang berhasil ke ZwCreateKey atau ZwOpenKey.
[in] ValueName
Arahkan ke nama entri nilai untuk mendapatkan data.
[in] KeyValueInformationClass
Nilai KEY_VALUE_INFORMATION_CLASS yang menentukan jenis informasi yang dikembalikan dalam buffer KeyValueInformation .
[out, optional] KeyValueInformation
Arahkan ke buffer yang dialokasikan penelepon yang menerima informasi yang diminta.
[in] Length
Menentukan ukuran, dalam byte, dari buffer KeyValueInformation .
[out] ResultLength
Penunjuk ke variabel yang menerima ukuran, dalam byte, dari informasi utama. Jika rutinitas ZwQueryValueKey mengembalikan STATUS_SUCCESS, pemanggil dapat menggunakan nilai variabel ini untuk menentukan jumlah data yang dikembalikan. Jika rutinitas mengembalikan STATUS_BUFFER_OVERFLOW atau STATUS_BUFFER_TOO_SMALL, penelepon dapat menggunakan nilai variabel ini untuk menentukan ukuran buffer yang diperlukan untuk menyimpan informasi utama.
Nilai kembali
ZwQueryValueKey mengembalikan STATUS_SUCCESS pada keberhasilan, atau kode kesalahan yang sesuai tentang kegagalan. Kemungkinan nilai kode kesalahan meliputi:
Menampilkan kode | Deskripsi |
---|---|
STATUS_OBJECT_NAME_NOT_FOUND | Nilai registri tidak tersedia. |
STATUS_BUFFER_OVERFLOW | Buffer yang disediakan terlalu kecil, dan hanya sebagian data yang telah ditulis ke buffer. ResultLength diatur ke ukuran minimum yang diperlukan untuk menyimpan informasi yang diminta. |
STATUS_BUFFER_TOO_SMALL | Buffer yang disediakan terlalu kecil, dan tidak ada data yang ditulis ke buffer. ResultLength diatur ke ukuran minimum yang diperlukan untuk menyimpan informasi yang diminta. |
STATUS_INVALID_PARAMETER | Parameter KeyInformationClass bukan nilai KEY_VALUE_INFORMATION_CLASS yang valid. |
Keterangan
KeyHandle yang diteruskan ke ZwQueryValueKey harus dibuka dengan akses KEY_QUERY_VALUE. Ini dicapai dengan meneruskan KEY_QUERY_VALUE, KEY_READ, atau KEY_ALL_ACCESS sebagai parameter DesiredAccess ke ZwCreateKey atau ZwOpenKey.
Untuk informasi selengkapnya tentang bekerja dengan kunci registri, lihat Menggunakan Registri di Driver.
Jika panggilan ke fungsi ini terjadi dalam mode pengguna, Anda harus menggunakan nama "NtQueryValueKey" alih-alih "ZwQueryValueKey". Untuk panggilan dari driver mode kernel, versi NtXxx dan ZwXxx dari rutinitas Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menafsirkan parameter input. Untuk informasi selengkapnya tentang hubungan antara versi NtXxx dan ZwXxx dari rutinitas, lihat Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs(storport), IrqlZwPassive(wdm), PowerIrpDDis(wdm), ZwRegistryCreate(storport), ZwRegistryCreate(storport), ZwRegistryCreate(wdm), ZwRegistryOpen(storport), ZwRegistryOpen(storport), ZwRegistryOpen(wdm) |
Lihat juga
Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk