Mengontrol Akses Perangkat (WDM)

Akses ke perangkat dikendalikan oleh deskriptor keamanan (dan ACL yang ada di dalamnya). Deskriptor keamanan untuk objek perangkat dapat ditentukan saat objek perangkat dibuat, atau diatur dalam registri.

Mengontrol Akses Perangkat untuk Driver WDM

Ketika driver WDM (selain driver bus tertentu) membuat objek perangkat, manajer Plug and Play menentukan pendeskripsi keamanan untuk perangkat. Urutan operasi adalah sebagai berikut.

  1. Manajer PnP memanggil rutinitas AddDevice driver.

  2. Rutinitas AddDevice driver memanggil IoCreateDevice untuk membuat objek perangkat dan melampirkannya ke tumpukan objek perangkat.

  3. Manajer PnP memperbarui deskriptor keamanan untuk objek perangkat yang baru dibuat.

Untuk driver WDM, manajer PnP menentukan deskriptor keamanan untuk objek perangkat sebagai berikut.

  1. Jika perangkat memiliki pengaturan deskriptor keamanan di registri, itu diterapkan ke setiap objek di tumpukan perangkat.

  2. Jika tidak, jika kelas penyiapan perangkat memiliki pengaturan deskriptor keamanan di registri, itu diterapkan ke setiap objek di tumpukan perangkat.

  3. Jika tidak, manajer PnP membiarkan deskriptor keamanan default untuk setiap objek tidak berubah. Dalam hal ini, deskriptor keamanan default untuk tumpukan ditentukan oleh jenis perangkat dan karakteristik perangkat PDO.

Untuk sebagian besar jenis dan karakteristik perangkat, deskriptor keamanan default memberikan akses penuh (GENERIC_ALL) kepada administrator, serta membaca, menulis, dan menjalankan akses (GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE) akses ke orang lain.

Untuk informasi selengkapnya tentang cara mengatur deskriptor keamanan untuk kelas penyiapan perangkat atau perangkat di registri, lihat Mengatur Properti Objek Perangkat di Registri.

Jika perangkat dioperasikan dalam mode mentah, manajer PnP tidak dapat menentukan deskriptor keamanan untuk objek perangkat. Dalam hal ini, pengemudi bus harus memberikan pendeskripsi keamanan; lihat di bawah ini.

Mengontrol Akses Perangkat untuk Driver Bus WDM

Driver bus WDM harus memberikan pendeskripsi keamanan untuk PDO setiap perangkat yang dapat dioperasikan dalam mode mentah. Gunakan IoCreateDeviceSecure untuk membuat objek perangkat dengan deskriptor keamanan.

Jika driver bus tidak mengoperasikan perangkat dalam mode mentah, maka tidak diperlukan untuk menyediakan deskriptor keamanan. Manajer PnP menentukan deskriptor keamanan, seperti yang dijelaskan di atas. Driver bus dapat menyediakan deskriptor keamanan jika harus memastikan bahwa PDO-nya memiliki pengaturan keamanan yang lebih ketat daripada deskriptor default. Setiap deskriptor yang ditentukan oleh sopir bus ditimpa oleh pengaturan di registri.

Untuk informasi selengkapnya tentang membuat objek perangkat, lihat Membuat Objek Perangkat.

Mengontrol Akses Perangkat untuk Driver Non-WDM

Driver non-WDM harus menentukan deskriptor keamanan default dan GUID kelas untuk objek perangkat bernama yang mereka buat.

Gunakan rutinitas IoCreateDeviceSecure untuk membuat objek perangkat bernama dan untuk menentukan deskriptor keamanan default dan GUID kelas untuk perangkat tersebut. Deskriptor keamanan ditentukan dalam subset SDDL. Untuk informasi selengkapnya, lihat SDDL untuk Objek Perangkat.

Sistem mengambil alih deskriptor keamanan default dengan pengaturan keamanan apa pun di registri untuk GUID kelas yang ditentukan. Driver harus menentukan GUID uniknya sendiri untuk perangkat. Gunakan alat GuidGen untuk menghasilkan GUID yang unik. (GuidGen disertakan dalam Microsoft Windows SDK.)