Develop a Windows Driver: Getting Started
Take advantage of the resources provided by Microsoft to provide high-quality drivers for devices that work with Windows systems.
Decide What Drivers Your Product Requires
Determine what driver, or drivers, you need to support your product.
- Read What is a Driver? and Choosing a Driver Model in the Windows Driver Kit (WDK) documentation.
Gather the Tools That You Need
Set up your development environment with the appropriate tools and documentation.
You can use the Windows 8 tools to develop drivers for Windows 8 Consumer Preview, Windows 7, and Windows Vista. You can run the Windows 8 tools on Windows 8 Consumer Preview and Windows 7.
Note: Debugging Tools for Windows is included in the WDK.
Locate the Documentation That You Need
Learn About Windows Drivers
Learn about the Windows platform and Windows driver basics.
- Read Getting Started with Windows Drivers and Concepts for All Driver Developers.
- Read “Do You Need a Driver” and “The Many Types of Drivers,” the first two sections in Getting Started with the Windows Driver Development Environment. This paper describes the driver development environment for Windows 7. However, these two sections are relevant for driver development for all versions of Windows.
- Read “Chapter 2: Windows Driver Fundamentals” in Developing Drivers with the Windows Driver Foundation.
- Read Windows Internals for in-depth Windows architecture information.
- Read Programming the Microsoft Windows Driver Model, Second Edition
Best Practices
- Implement software event tracing to facilitate troubleshooting
- Address security and reliability throughout development
- Ensure optimum driver performance
Windows 7 Tools
Windows You can use the Windows 7 tools to develop drivers for Windows XP. (You can also use the Windows 7 tools to develop drivers for Windows 7 and Windows Vista, but we recommend that you use the Windows 8 tools.)
- Install the Windows 7 version of the Windows Driver Kit (WDK), which includes header files, libraries, sample code, build tools, debugging tools, a testing framework, and documentation.
- Download and install the Windows 7 version of the WDK documentation.
- Install a text editor or a development environment such as Microsoft Visual Studio for developing your driver code.
- Verify your code by using tools such as compiler checks, PREfast, Static Driver Verifier, and ChkINF.
