Fungsi WdfDeviceOpenRegistryKey (wdfdevice.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfDeviceOpenRegistryKey membuka kunci perangkat keras perangkat atau kunci perangkat lunak driver di registri dan membuat objek kunci registri kerangka kerja yang mewakili kunci registri.
Sintaks
NTSTATUS WdfDeviceOpenRegistryKey(
[in] WDFDEVICE Device,
[in] ULONG DeviceInstanceKeyType,
[in] ACCESS_MASK DesiredAccess,
[in, optional] PWDF_OBJECT_ATTRIBUTES KeyAttributes,
[out] WDFKEY *Key
);
Parameter
[in] Device
Handel ke objek perangkat kerangka kerja.
[in] DeviceInstanceKeyType
Menentukan kunci atau subkunjuk mana yang akan dibuka.
Catatan
UMDF tidak mendukung pembuatan subkunci.
Ini adalah bitwise ATAU dari bendera berikut (yang didefinisikan dalam Wdm.h).
Bendera DeviceInstanceKeyType | Makna | Kerangka Kerja |
---|---|---|
PLUGPLAY_REGKEY_DEVICE | Membuka kunci perangkat keras perangkat. | KMDF/UMDF |
PLUGPLAY_REGKEY_DRIVER | Membuka kunci perangkat lunak driver. Driver UMDF yang mengatur bendera ini juga harus mengatur DesiredAccess ke KEY_READ. Jika tidak, metode ini mengembalikan STATUS_ACCESS_DENIED. | KMDF/UMDF |
PLUGPLAY_REGKEY_CURRENT_HWPROFILE | Driver KMDF menggunakan bendera ini untuk membuka salinan kunci perangkat keras atau perangkat lunak yang ada di profil perangkat keras saat ini. | KMDF |
PLUGPLAY_REGKEY_DRIVER | WDF_REGKEY_DRIVER_SUBKEY | Driver UMDF menggunakan bendera ini bersama-sama untuk membuka subkunji ServiceName dari kunci perangkat lunak driver untuk akses baca/tulis. | UMDF |
PLUGPLAY_REGKEY_DEVICE | WDF_REGKEY_DEVICE_SUBKEY | Demikian pula, driver UMDF menggunakan bendera ini untuk membuka subkunci ServiceName dari kunci perangkat keras perangkat untuk akses baca/tulis. | UMDF |
[in] DesiredAccess
Nilai jenis ACCESS_MASK yang menentukan hak akses yang diminta driver untuk kunci registri yang ditentukan.
Driver KMDF biasanya meminta KEY_READ, KEY_WRITE, atau KEY_READ | KEY_WRITE.
Jika Anda menulis driver UMDF, gunakan tabel berikut.
DeviceInstanceKeyType | DesiredAccess |
---|---|
PLUGPLAY_REGKEY_DEVICE | KEY_READ |
PLUGPLAY_REGKEY_DEVICE | WDF_REGKEY_DEVICE_SUBKEY | KEY_READ atau KEY_READ | KEY_SET_VALUE |
PLUGPLAY_REGKEY_DRIVER | KEY_READ |
PLUGPLAY_REGKEY_DRIVER | WDF_REGKEY_DRIVER_SUBKEY | KEY_READ atau KEY_READ | KEY_SET_VALUE |
Sebagai praktik terbaik, mintalah hanya jenis akses yang dibutuhkan driver Anda.
[in, optional] KeyAttributes
Penunjuk ke struktur WDF_OBJECT_ATTRIBUTES yang berisi atribut yang disediakan driver untuk objek kunci registri baru. Parameter ini bersifat opsional dan dapat WDF_NO_OBJECT_ATTRIBUTES.
[out] Key
Penunjuk ke lokasi yang menerima handel ke objek kunci registri baru.
Mengembalikan nilai
WdfDeviceOpenRegistryKey mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode mungkin mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
WdfDeviceOpenRegistryKey tidak dipanggil di IRQL = PASSIVE_LEVEL. |
|
Parameter yang tidak valid ditentukan. Untuk UMDF, nilai pengembalian ini dapat menunjukkan hak akses yang tidak memadai. |
|
Objek kunci registri tidak dapat dialokasikan. |
|
Kunci registri yang ditentukan tidak ada. |
Untuk daftar nilai pengembalian lain yang mungkin dikembalikan oleh metode WdfDeviceOpenRegistryKey , lihat Kesalahan Pembuatan Objek Kerangka Kerja.
Metode ini mungkin mengembalikan nilai NTSTATUS lainnya.
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Keterangan
Jika driver Anda harus membuka kunci perangkat keras atau perangkat lunak sebelum disebut WdfDeviceCreate, driver harus memanggil WdfFdoInitOpenRegistryKey alih-alih WdfDeviceOpenRegistryKey.
Ketika driver telah selesai menggunakan kunci registri yang dibuka dengan WdfDeviceOpenRegistryKey, driver harus memanggil WdfRegistryClose.
Untuk informasi selengkapnya tentang registri, kunci perangkat keras dan perangkat lunak, dan objek registri, lihat Menggunakan Registri di driver Framework-Based.
Contoh
Untuk contoh kode yang menggunakan WdfDeviceOpenRegistryKey, lihat WdfRegistryCreateKey, WdfRegistryOpenKey, dan WdfRegistryQueryValue.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfdevice.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | AccessHardwareKey(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |
Lihat juga
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