Jenis Driver WDM
Ada tiga jenis driver WDM: pengemudi bus, driver fungsi, dan driver filter.
- Pengemudi bus mengendarai perangkat bus I/O individual dan menyediakan fungsionalitas per slot yang independen untuk perangkat. Pengemudi bus juga mendeteksi dan melaporkan perangkat anak yang terhubung ke bus.
- Driver fungsi menggerakkan perangkat individual.
- Driver filter memfilter permintaan I/O untuk perangkat, kelas perangkat, atau bus.
Dalam konteks ini, bus adalah perangkat apa pun tempat perangkat fisik, logis, atau virtual lainnya terpasang; bus mencakup bus tradisional seperti SCSI dan PCI, serta port paralel, port serial, dan port i8042.
Penting bagi pengembang driver untuk memahami berbagai jenis driver WDM dan untuk mengetahui jenis driver mana yang mereka tulis. Misalnya, apakah driver menangani setiap Plug and Play IRP dan cara menangani IRP tersebut tergantung pada jenis driver yang sedang ditulis (driver bus, driver fungsi, atau driver filter).
Gambar berikut menunjukkan hubungan antara driver bus, driver fungsi, dan driver filter untuk perangkat.
Setiap perangkat biasanya memiliki driver bus untuk bus I/O induk, driver fungsi untuk perangkat, dan nol atau lebih driver filter untuk perangkat. Desain driver yang membutuhkan banyak driver filter tidak menghasilkan performa optimal.
Driver pada gambar sebelumnya adalah sebagai berikut:
Pengemudi bus melayani pengontrol bus, adaptor, atau penghubung. Sopir bus diperlukan pengemudi; ada satu sopir bus untuk setiap jenis bus di mesin. Microsoft menyediakan driver bus untuk bus yang paling umum. IHV dan OEM dapat menyediakan driver bus lainnya.
Driver filter bus biasanya menambahkan nilai ke bus dan disediakan oleh Microsoft atau OEM sistem. Mungkin ada sejumlah sopir filter bus untuk bus.
Driver filter tingkat bawah biasanya memodifikasi perilaku perangkat keras perangkat. Mereka bersifat opsional dan biasanya disediakan oleh IHV. Mungkin ada sejumlah driver filter tingkat bawah untuk perangkat.
Driver fungsi adalah driver utama untuk perangkat. Driver fungsi biasanya ditulis oleh vendor perangkat dan diperlukan (kecuali perangkat digunakan dalam mode mentah).
Driver filter tingkat atas biasanya menyediakan fitur nilai tambah untuk perangkat. Mereka bersifat opsional dan biasanya disediakan oleh IHV.
Topik berikut menjelaskan tiga jenis umum driver WDM—driver bus, driver fungsi, driver filter—secara rinci. Juga disertakan adalah contoh lapisan driver WDM yang menggunakan driver USB sampel.