Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Driver monolitik harus membuat objek perangkat untuk setiap perangkat fisik, logis, atau virtual yang menangani permintaan I/O. Driver yang tidak membuat objek perangkat untuk sebuah perangkat tidak menerima IRP untuk perangkat tersebut.
Di beberapa area teknologi, driver mini yang terkait dengan driver kelas atau driver port tidak perlu membuat objek perangkatnya sendiri. Sebaliknya, driver kelas atau port membuat objek perangkat, dan menangani semua IRP untuk perangkat. Driver kelas atau port kemudian menggunakan metode khusus driver untuk meneruskan permintaan I/O ke minidriver. Lihat dokumentasi untuk area teknologi khusus Anda untuk menentukan apakah Microsoft menyediakan driver kelas atau port yang membuat objek perangkat atas nama driver Anda.
Driver memanggil IoCreateDevice atau IoCreateDeviceSecure untuk membuat objek perangkat mereka. Untuk informasi selengkapnya tentang rutinitas mana yang akan digunakan, lihat bagian berikut ini.
Membuat Objek Perangkat untuk Fungsi WDM dan Driver Filter
Membuat Objek Perangkat untuk Driver Bus WDM
Membuat Objek Perangkat untuk Driver Non-WDM
Saat driver membuat objek perangkat, driver menyediakan informasi berikut ke IoCreateDevice atau IoCreateDeviceSecure:
Ukuran ekstensi perangkat tersebut. Ekstensi perangkat adalah area penyimpanan yang dialokasikan sistem yang dapat digunakan driver untuk penyimpanan khusus perangkat. Untuk informasi selengkapnya, lihat ekstensi perangkat .
Konstanta yang ditentukan sistem, menunjukkan DeviceType yang diwakili oleh objek perangkat. Untuk informasi selengkapnya, lihat Menentukan Jenis Perangkat.
Satu atau beberapa konstanta yang digabungkan secara logika (OR) dan ditentukan oleh sistem untuk menunjukkan karakteristik perangkat. Untuk informasi selengkapnya, lihat Menentukan Karakteristik Perangkat.
Nilai Boolean, bernama Eksklusif, yang menentukan apakah sebuah bit di bendera objek perangkat harus diatur dengan DO_EXCLUSIVE, menunjukkan bahwa driver melayani perangkat eksklusif, seperti perangkat video, serial, paralel, atau suara. Driver WDM harus mengatur Eksklusif ke FALSE. Untuk informasi selengkapnya, lihat Menentukan Akses Eksklusif ke Objek Perangkat.
Sebuah pointer ke objek driver untuk pengemudi. Fungsi WDM atau driver filter menerima penunjuk ke objek drivernya sebagai parameter untuk rutinitas AddDevice-nya. Semua driver menerima pointer ke objek driver mereka dalam rutinitas DriverEntry mereka. Sistem menggunakan penunjuk ini untuk mengaitkan driver dengan objek perangkatnya.
Penunjuk opsional ke string Unicode (DeviceName) yang diakhiri dengan null yang menamai perangkat. Driver WDM, kecuali pengandar bus, tidak menyediakan nama perangkat; melakukan hal tersebut mengabaikan fitur keamanan pengelola PnP. Untuk informasi selengkapnya, lihat Objek Perangkat Bernama.
Jika panggilan ke IoCreateDevice atau IoCreateDeviceSecure berhasil, manajer I/O menyediakan penyimpanan untuk objek perangkat itu sendiri dan untuk semua struktur data lain yang terkait dengan objek perangkat, termasuk ekstensi perangkat, yang diinisialisasi dengan nol.
Membuat Objek Perangkat untuk Fungsi WDM dan Driver Filter
Driver WDM, selain pengemudi bus, memanggil IoCreateDevice untuk membuat objek perangkat mereka. Sebagian besar driver WDM membuat objek perangkat mereka dari dalam rutinitas AddDevice mereka. Beberapa driver, seperti driver disk yang harus merespons IOCTL tata letak drive, memanggil IoCreateDevice dari rutinitas pengiriman.
Kecuali jika bagian-bagian khusus jenis perangkat dalam dokumentasi Windows Driver Kit (WDK) menyatakan sebaliknya, driver Anda harus membuat objek perangkatnya dalam rutinitas AddDevice-nya. Untuk informasi selengkapnya, lihat Menulis Rutinitas AddDevice.
Membuat Objek Perangkat untuk Driver Bus WDM
Driver bus WDM membuat PDO saat menghitung perangkat baru sebagai respons terhadap permintaan IRP_MN_QUERY_DEVICE_RELATIONS , jika jenis relasinya adalah BusRelations.
Aturan berikut menentukan apakah driver bus memanggil IoCreateDevice atau IoCreateDeviceSecure untuk membuat objek perangkat:
Jika perangkat dapat digunakan dalam mode mentah, maka perangkat harus memanggil IoCreateDeviceSecure.
Jika perangkat tidak mampu mode mentah, maka driver bus dapat menggunakan IoCreateDevice atau IoCreateDeviceSecure. IoCreateDevice dapat digunakan ketika keamanan sistem default untuk perangkat di bus memadai; IoCreateDeviceSecure dapat digunakan untuk menentukan deskriptor keamanan yang lebih ketat. Untuk informasi selengkapnya, lihat Mengontrol Akses Perangkat.
Membuat Objek Perangkat untuk Driver Non-WDM
Driver non-WDM menggunakan IoCreateDevice untuk membuat objek perangkat yang tidak disebutkan namanya, dan IoCreateDeviceSecure untuk membuat objek perangkat bernama. Perhatikan objek perangkat yang tidak disebutkan namanya dari driver non-WDM tidak dapat diakses dari mode pengguna, sehingga driver biasanya harus membuat setidaknya satu objek bernama.