A bus driver performs certain operations on behalf of the devices on its bus but usually does not handle reads and writes to the devices on its bus. (A device’s function driver handles reads and writes to a device.) A bus driver acts as a function driver for its controller, adapter, bridge, or other device.
Microsoft provides bus drivers for most common buses, including PCI, Plug and Play ISA, SCSI, and USB. Other bus drivers can be provided by IHVs or OEMs. A bus driver can be implemented as a driver/minidriver pair, the way a SCSI port/miniport pair drives a SCSI host adapter. In such driver pairs, one driver is linked to the second driver, and the second driver is a DLL.
The ACPI driver fulfills the role of both bus driver and function driver. ACPI allows the system to learn about devices that either do not have a standard way to enumerate themselves (that is, legacy devices) or are newly defined ACPI devices to be enumerated by ACPI (such as the LID device or the embedded controller device). ACPI also installs
WDM device drivers are usually the function driver/minidriver pair and filter drivers discussed in the WDM Interface for Plug and Play section above. In addition to providing the operational interface for its device, function drivers play an important role in a
The Windows 2000
In Windows 2000, these routines expose functionality from the
Windows 2000 provides APIs that applications can use for customized hardware event management and to create new hardware events.
Windows 2000 White Paper | 9 |