Menggunakan Registri di Driver UMDF 1.x

Peringatan

UMDF 2 adalah versi terbaru UMDF dan supersedes UMDF 1. Semua driver UMDF baru harus ditulis menggunakan UMDF 2. Tidak ada fitur baru yang ditambahkan ke UMDF 1 dan ada dukungan terbatas untuk UMDF 1 pada versi Windows 10 yang lebih baru. Driver Universal Windows harus menggunakan UMDF 2.

Sampel UMDF 1 yang diarsipkan dapat ditemukan di Windows 11, versi 22H2 - Pembaruan Sampel Driver Mei 2022.

Untuk informasi selengkapnya, lihat Mulai menggunakan UMDF.

Driver berbasis UMDF dapat membaca dan menulis nilai dalam registri dengan menggunakan antarmuka objek penyimpanan properti.

Driver berbasis UMDF dapat mengakses empat jenis kunci registri. Driver dapat membuat, membaca, dan menulis subkunci dan nilai di bawah kunci ini. Jenis kunci registri berikut tersedia untuk driver berbasis UMDF:

  • Kunci perangkat keras

    Manajer PnP membuat kunci perangkat keras, atau kunci perangkat, untuk setiap perangkat, di mana ia menyimpan informasi identifikasi unik perangkat.

    Driver Anda dapat mengambil dan memodifikasi beberapa nilai properti di bawah kunci perangkat keras. Lokasi nilai yang disimpan tergantung pada metode yang Anda gunakan untuk mengaksesnya.

    Nilai properti yang dibuat menggunakan metode PropertyStore disimpan di subkunci \Parameter Perangkat , di bawah kunci perangkat keras. Untuk mengakses properti ini, driver Anda memanggil salah satu metode berikut untuk mendapatkan antarmuka penyimpanan properti.

    IWDFDevice::RetrieveDevicePropertyStore
    Mendapatkan pointer ke antarmuka IWDFNamedPropertyStore .

    IWDFDeviceInitialize::RetrieveDevicePropertyStore
    Mendapatkan pointer ke antarmuka IWDFNamedPropertyStore .

    IWDFPropertyStoreFactory::RetrieveDevicePropertyStore
    Mendapatkan pointer ke antarmuka IWDFNamedPropertyStore2 . Anda dapat menggunakan parameter SubkeyPath untuk menentukan nilai di bawah subkunci yang dibuat driver, seperti \Device Parameters\DriverServiceName\subkey.

    Driver memiliki akses baca-saja ke nilai dalam subkey \Parameter Perangkat , dan tidak dapat mengakses \Device Parameters\WDF atau \Device Parameters\WUDF.

    Nilai properti yang dibuat menggunakan model Properti Perangkat Terpadu disimpan di subkunci \Properti , di bawah kunci perangkat keras.

    Untuk mengakses properti ini, driver Anda memanggil IWDFUnifiedPropertyStoreFactory::RetrieveUnifiedDevicePropertyStore untuk mendapatkan antarmuka penyimpanan properti. Kemudian driver dapat menggunakan antarmuka IWDFUnifiedPropertyStore untuk memodifikasi dan mengambil pengaturan properti perangkat saat ini.

  • Kunci perangkat lunak

    Kunci perangkat lunak driver juga disebut kunci drivernya karena registri berisi kunci perangkat lunak untuk setiap driver. Registri berisi daftar semua kelas perangkat, dan kunci perangkat lunak setiap driver berada di bawah entri kelas perangkatnya. Sistem menyimpan informasi tentang setiap driver di bawah kunci perangkat lunaknya.

    Driver Anda dapat memanggil IWDFPropertyStoreFactory::RetrieveDevicePropertyStore untuk mendapatkan akses baca atau tulis ke nilai di bawah kunci perangkat lunaknya. Driver dapat membaca dan menulis informasi khusus driver yang tidak terkait dengan perangkat tertentu.

  • Kunci antarmuka perangkat

    Registri berisi kunci untuk semua kelas antarmuka perangkat yang telah dibuat driver. Di bawah masing-masing kunci ini adalah entri untuk setiap instans kelas antarmuka perangkat yang telah didaftarkan driver.

    Jika driver Anda telah mendaftarkan instans kelas antarmuka perangkat, driver dapat membaca dan menulis nilai di bawah entri registri untuk instans tersebut dengan memanggil IWDFPropertyStoreFactory::RetrieveDevicePropertyStore. Driver dapat membaca dan menulis informasi khusus instans tentang antarmuka perangkat.

  • Kunci DEVICEMAP

    Registri berisi kunci HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP yang digunakan oleh beberapa driver untuk teknologi lama, seperti port serial dan paralel. Jika driver Anda mendukung teknologi yang menggunakan kunci DEVICEMAP , driver dapat mengakses subkunci dan nilai di bawah kunci dengan memanggil IWDFPropertyStoreFactory::RetrieveDevicePropertyStore.

Setelah driver memanggil salah satu metode RetrieveDevicePropertyStore untuk membuka subkunci registri, driver dapat menggunakan metode yang diekspos oleh IWDFNamedPropertyStore, IWDFNamedPropertyStore2, atau IWDFUnifiedPropertyStore untuk membuat, membaca, dan menulis nilai di bawah subkunci. Antarmuka IWDFNamedPropertyStore2 juga memungkinkan driver untuk menghapus nilai.

Untuk informasi selengkapnya tentang kunci registri untuk driver, lihat Gambaran Umum Pohon dan Kunci Registri.