Sopir Bus
Pengemudi bus melayani pengontrol bus, adaptor, atau penghubung (lihat gambar Kemungkinan Lapisan Driver). Microsoft menyediakan driver bus untuk bus yang paling umum, seperti PCI, PnpISA, SCSI, dan USB. Pengemudi bus lainnya dapat disediakan oleh IHV atau OEM. Sopir bus diperlukan pengemudi; ada satu sopir bus untuk setiap jenis bus di mesin. Pengemudi bus dapat melayani lebih dari satu bus jika ada lebih dari satu bus dengan jenis yang sama pada mesin.
Tanggung jawab utama pengemudi bus adalah:
Menghitung perangkat di busnya.
Tanggapi Plug and Play IRP dan runtime integrasi manajemen daya.
Akses multipleks ke bus (untuk beberapa bus).
Mengelola perangkat secara umum di busnya.
Sopir bus pada dasarnya adalah pengemudi fungsi yang juga menghitung anak-anak.
Selama enumerasi, pengemudi bus mengidentifikasi perangkat di busnya dan membuat objek perangkat untuk mereka. (Untuk informasi tentang objek perangkat, lihat Objek Perangkat dan Tumpukan Perangkat.) Metode yang digunakan sopir bus untuk mengidentifikasi perangkat yang terhubung tergantung pada bus tertentu.
Pengemudi bus melakukan operasi tertentu atas nama perangkat di busnya, termasuk mengakses register perangkat untuk mengubah status daya perangkat secara fisik. Misalnya, ketika perangkat tidur, driver bus mengatur perangkat mendaftar untuk menempatkan perangkat dalam status daya perangkat yang tepat.
Namun, perhatikan bahwa pengemudi bus tidak menangani permintaan baca dan tulis untuk perangkat anak yang terhubung ke busnya. Permintaan baca dan tulis ke perangkat anak ditangani oleh driver fungsi perangkat anak. Hanya jika perangkat anak digunakan dalam mode mentah , driver bus induk menangani baca dan tulis untuk perangkat.
Karena driver bus bertindak sebagai driver fungsi untuk pengontrol, adaptor, atau jembatannya, ia juga mengelola kebijakan daya perangkat untuk komponen-komponen ini.
Pengemudi bus dapat diimplementasikan sebagai pasangan pengemudi/minidriver, cara pasangan driver port/miniport SCSI mengendarai adaptor bus host SCSI (HBA). Dalam pasangan driver tersebut, minidriver ditautkan ke driver kedua, yang merupakan DLL.