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)

Lihat juga

ACCESS_MASK

InitializeObjectAttributes

ZwCreateKey

ZwDeleteKey

ZwEnumerateKey

ZwEnumerateValueKey

ZwFlushKey

ZwQueryKey

ZwQueryValueKey

ZwSetValueKey