Driver Lifecycle Fundamentals: OverviewCreating and delivering a Windows-based driver involves a commitment for the life of the driver (or service) and its device. You must: Design your driver for Windows compatibility, reliability, security, and serviceability from the beginning. Develop your driver by using the Windows Driver Kit (WDK) and advanced frameworks that are provided through Windows Driver Foundation to help you build reliable, stable, and secure drivers. Verify and test your driver by using the best tools available. Instrument your drivers by using tools such as PREfast and Static Driver Verifier to find problems at compile time, and then test, test, and retest throughout the driver's life. Digitally sign and install your driver based on best practices for minimal user intervention. Maintain your driver throughout its life in the marketplace by using best practices for reliability, security, and serviceability. Take advantage of Windows Error Reporting (WER) data to understand any driver failures that your customers encounter.
Featured Content for Windows 8The fundamentals of developing drivers for Windows remain the same for Windows 8 and the Windows Developer Preview as for Windows 7 and previous versions of the OS. Changes to specific concepts, best practices, and tools for Windows Developer Preview are highlighted on the following pages linked from this page. Discover all new content provided by Microsoft in support of the next release of Windows: Drivers: Getting StartedDesign Your DriverKey Driver Concepts Whatever the driver model and device class for your driver, you need a good understanding of Windows system internals such as memory management, I/O flow, and I/O request packets (IRPs). Windows Driver Foundation (WDF) WDF implements the fundamental features of a Windows driver and enables you to focus on the specific details of your hardware or filter. WDF defines a single driver model that you can use to create object-oriented, event-driven drivers for either kernel mode or user mode. Driver Performance: Best Practices A high-quality driver runs reliably and causes no slowing of the entire system. Creating drivers for Windows that perform well requires effort throughout design and development. | Driver Design You must design a driver carefully to build in reliability, serviceability, and the feature-based functionality needed to support the driver’s device. Plug and Play and Power Management for Drivers For the best possible user experience, a driver must cooperate with Windows components so that it loads automatically and participates in system power management. |
Develop Your DriverWindows Driver Kit (WDK) The WDK is a fully integrated driver development system that contains headers, libraries, build tools, build environments, code samples, documentation, and other tools for creating drivers and kernel software. | Getting Started with the Windows Driver Development Environment Getting started with Microsoft Windows device drivers can be difficult, even for experienced developers. This paper presents an overview of the debugging and testing tools that developers use to create a device driver for Windows operating systems. |
Verify and Test Your DriverAbout Debugging Tools for Windows Debugging Tools for Windows is a set of extensible tools for debugging drivers, applications, and services on Windows systems. | About Tools for Verifying and Testing Drivers The WDK includes a broad set of compile-time tools for verifying code during development to ensure a more reliable, more serviceable driver. The WDK also includes a broad set of testing, tracing, simulation and debugging tools that make it easier to find problems early in the development cycle. |
Digitally Sign and Install Your DriverDevice and Driver Installation To ensure the best possible user experience, installation of both a hardware device and its software driver should run as seamlessly as possible with minimal user intervention. Use Microsoft-supplied tools and guidelines to create successful installation packages. | Windows Logo Program The Windows logo signifies the compatibility and reliability of systems and devices with the Windows operating system. It gives customers confidence that your product is thoroughly tested with Microsoft-provided tools and ensures a good user experience. |
Maintain Your DriverDriver Reliability, Security, and Maintenance Create high-quality drivers, reduce support costs, and ensure a better user experience by addressing security and reliability throughout the product development cycle. Use Windows Error Reporting data to monitor your hardware and drivers. Distribute updated drivers on Windows Update to ensure that users find the latest drivers. | |
| |