Bus Driver Development Based on KMDF
Updated: October 21, 2008
This paper provides information about how to write bus drivers that are based on the kernel-mode driver framework (KMDF) for the Windows family of operating systems. It describes when developing a new bus driver is appropriate, shows how to implement common features of a bus driver, and provides tips for testing and debugging a bus driver.
The paper assumes that you have experience developing kernel-mode drivers that are based on KMDF. Some familiarity with the Windows Driver Model (WDM) is also helpful.
This information applies for the following operating systems:
Windows Server 2008
Windows Vista
Windows Server 2003
Windows XP
Windows 2000
Included in this white paper:
| • | When to Write a Bus Driver |
| • | Bus Drivers, Device Objects, and the Device Stack |
| • | KMDF Support for Bus Drivers |
| • | Parent Bus FDO |
| • | Enumeration Models |
| • | Static Enumeration |
| • | Dynamic Enumeration |
| • | Using a Raw PDO |
| • | Optional PDO Event Callback Functions |
| • | Handling I/O Requests for the PDO |
| • | Handling Device Errors |
| • | Tips for Testing and Debugging a Bus Driver |
| • | Resources |
See also
Architecture of the Windows Driver Foundation
Kernel-Mode Driver Framework (KMDF)