Fungsi ZwOpenKey (wdm.h)
Rutinitas ZwOpenKey membuka kunci registri yang ada.
Sintaks
NTSYSAPI NTSTATUS ZwOpenKey(
[out] PHANDLE KeyHandle,
[in] ACCESS_MASK DesiredAccess,
[in] POBJECT_ATTRIBUTES ObjectAttributes
);
Parameter
[out] KeyHandle
Arahkan ke variabel HANDLE yang menerima handel ke kunci.
[in] DesiredAccess
Menentukan nilai ACCESS_MASK yang menentukan akses yang diminta ke objek. Untuk informasi selengkapnya, lihat parameter DesiredAccess dari ZwCreateKey.
[in] ObjectAttributes
Arahkan ke struktur OBJECT_ATTRIBUTES yang menentukan nama objek dan atribut lainnya. Gunakan InitializeObjectAttributes untuk menginisialisasi struktur ini. Jika pemanggil tidak berjalan dalam konteks utas sistem, pemanggil harus mengatur atribut OBJ_KERNEL_HANDLE saat memanggil InitializeObjectAttributes.
Nilai kembali
ZwOpenKey mengembalikan STATUS_SUCCESS jika kunci yang diberikan dibuka. Jika tidak, ini dapat mengembalikan status kesalahan, termasuk yang berikut ini:
STATUS_INVALID_HANDLE
STATUS_ACCESS_DENIED
Keterangan
ZwOpenKey menyediakan handel yang dapat digunakan pemanggil untuk memanipulasi kunci registri. Rutinitas ini menyediakan subset fungsionalitas ZwCreateKey. Untuk informasi selengkapnya, lihat Menggunakan Registri di Driver.
Jika kunci yang ditentukan tidak ada, ZwOpenKey mengembalikan status kesalahan dan tidak mengembalikan handel kunci.
Setelah handel yang ditunjukkan oleh KeyHandle tidak lagi digunakan, driver harus memanggil ZwClose untuk menutupnya.
ZwOpenKey mengabaikan informasi keamanan dalam struktur yang ditunjukkan parameter ObjectAttributes .
Jika pemanggil tidak berjalan dalam konteks utas sistem, pemanggil harus memastikan bahwa setiap handel yang dibuatnya adalah handel privat. Jika tidak, handel dapat diakses oleh proses dalam konteks driver yang berjalan. Untuk informasi selengkapnya, lihat Penanganan Objek.
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 "NtOpenKey" alih-alih "ZwOpenKey".
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), ZwRegistryOpen(storport), ZwRegistryOpen(storport), ZwRegistryOpen(wdm) |