Developing, Testing, and Deploying Drivers
Starting with Windows Driver Kit (WDK) 8, the Windows driver development environment and the Windows debuggers are integrated into Microsoft Visual Studio. In this integrated driver development environment, most of the tools you need for coding, building, packaging, deploying, debugging, and testing a driver are available in the Visual Studio user interface. This is a departure from previous releases of the Windows Driver Kit (WDK), where the various stages of the driver life cycle were performed as separate tasks with stand-alone tools.
This video demonstrates the integration of the WDK into Visual Studio.
To set up the integrated development environment, first install Visual Studio and then install the WDK. You can find information about how to get Visual Studio and the WDK here. Debugging Tools for Windows is included when you install the WDK. For more information, see Download and Install Debugging Tools for Windows.
WDK 8 uses MSBuild.exe, which is a different build utility from the one used in previous releases. (Previous releases used Build.exe, which was available only in a command-line environment.) MSBuild is available both in the Visual Studio user interface and as a command-line tool. Driver projects created with previous releases of the WDK used Sources (and possibly Dirs) files to describe a project or group of projects. Drivers created with the Visual Studio environment use Project and Solution files instead of Sources and Dirs files. The Visual Studio environment provides a tool for converting Sources and Dirs files to Project and Solution files.
The Visual Studio environment provides templates for:
- New drivers
- Driver packages
- New tests
- Enhancement of existing tests
- Custom driver deployment scripts
In the Visual Studio environment, you can configure the build process so that it automatically creates and signs a driver package. Static and run-time analysis tools are available in Visual Studio. You can configure a target computer for testing your driver and automatically deploy your driver to the target computer each time you rebuild. In Visual Studio you can establish a kernel-mode debugging session with a target computer. You can choose from an extensive set of run-time tests, and you can write your own tests.
These topics show you how to use Visual Studio to perform several of the tasks involved in driver development, deployment, and testing.
- Getting Started with Universal Drivers
- Validating Universal Drivers
- Installing a Universal Driver
- Driver convergence in Windows 10 Technical Preview
- Creating a New Device Function Driver
- Creating a New Filter Driver
- Creating a New Software Driver
- Creating a Driver From Existing Source Files
- Building a Driver with the WDK
- Analyzing a Driver Using Code Analysis and Verification Tools
- Preparing a Computer for Manual Driver Deployment
- What happens when you provision a computer (WDK 8.1)
- What happens when you provision a computer (WDK 8.0)
- Troubleshooting Configuration of Driver Deployment, Testing and Debugging
- Creating a Driver Package
- Creating a Device Metadata Package
- Signing a Driver
- Deploying a Driver to a Test Computer
- Debugging a Driver
- Testing a Driver
- Creating a driver verification log
- Distributing a driver package