Bagikan melalui


Menentukan Akses Eksklusif ke Objek Perangkat

Jika akses eksklusif ke perangkat diaktifkan, hanya satu pegangan ke perangkat yang dapat dibuka pada satu saat. Agar manajer I/O menerapkan akses eksklusif ke perangkat, properti eksklusif harus diatur untuk objek perangkat bernama di tumpukan perangkat.

Untuk tumpukan perangkat WDM yang memiliki PDO dan FDO, properti eksklusif hanya dapat diatur oleh file INF, dengan menggunakan arahan INF AddReg. PDO adalah objek bernama dalam tumpukan, tetapi driver bus (bukan driver fungsi itu sendiri) membuat PDO, atas nama driver fungsi. Satu-satunya cara untuk mengarahkan pengemudi bus untuk mengatur bendera eksklusif untuk PDO adalah dengan file INF kelas atau perangkat. (Panggilan ke rutinitas IoCreateDevice membuat FDO; mengatur bendera eksklusif untuk FDO tidak berpengaruh.)

Driver yang objek perangkatnya tidak ditumpuk, seperti driver dan perangkat non-WDM yang beroperasi dalam mode mentah, dapat menggunakan rutinitas IoCreateDeviceSecure untuk mengatur properti eksklusif untuk objek perangkat bernama mereka.

Manajer I/O menetapkan eksklusivitas berdasarkan nama pada objek perangkat dengan nama, terlepas dari nama tambahan. Misalnya, objek perangkat memiliki nama "\Device\DeviceName". Kemudian, manajer I/O memberlakukan pengecualian untuk permintaan membuka "\Device\DeviceName\Filename1" diikuti dengan "\Device\DeviceName\Filename2". Jika dua objek dalam stack perangkat diberi nama (yang tidak disarankan), manajer I/O memungkinkan satu handle dibuka untuk setiap objek. Dalam situasi seperti itu, driver harus memberlakukan eksklusivitas itu sendiri dalam fungsi panggilan balik DRIVER_DISPATCH mereka. Manajer I/O juga tidak memberlakukan eksklusivitas untuk pembukaan relatif terhadap pegangan berkas lainnya. Untuk informasi selengkapnya tentang permintaan buka file di namespace perangkat, lihat Mengontrol Akses Namespace Perangkat.