Windows Driver Essentials
Click Here for Seminar Outline (PDF)
This seminar is designed to help system designers, managers (dev leads, test leads, and marketing professionals), and support engineers understand the world of Windows drivers. The seminar presents a top to bottom view of the Windows device and driver ecosystem, addressing topics that range from "When is a custom driver necessary and why" to "Why is driver development typically so difficult" to "What needs to be done to gain the Designed For Windows logo."
The seminar begins with an overview of Windows architecture, with a particular emphasis on where drivers "fit in." It then moves to a moderately technical discussion of how Windows Plug-and-Play works, how it chooses which driver to load for a device, and how drivers receive and process I/O requests.
The seminar next shifts its focus to a discussion of the many, varied, types of drivers that can be written for Windows. Students are often surprised to learn that a given device can be supported by several different driver architectures under Windows, and choosing the best architecture from the available options is one of the primary challenges in writing a good Windows driver.
Next, the driver testing and debugging processes are discussed, including "best in class" practices. Available tools, and test suites are covered, as are possible test lab configurations.
The seminar discusses the process of obtaining the Designed For Windows logo, including the process of testing and submitting results to Windows Hardware Quality Labs (WHQL). The requirements for kernel-mode code signing with Authenticode signatures for non-logoed drivers on certain versions of Windows are also discussed.
The seminar concludes with a discussion of common driver problems. Microsoft's Online Crash Analysis (OCA) program is discussed, including ways that vendors can participate in this process.
Details
Length: 2 days
Format: Lecture
Cost: $1,450
Applicable Discounts: 2 week advanced payment - $200 off regular price; Multi-registration - contact a seminar coordinator
Current Schedule
Windows Driver Essentials
Please contact an OSR Seminar Coordinator OR
Target Audience
System designers, managers, testers and support staff who need a solid introduction to Windows driver development, including design, implementation, and testing options.
Prerequisites
Students attending this seminar will be most comfortable if they arrive at the seminar with a basic understanding of general O/S concepts.
Seminar Outline
- Windows System Architecture Overview A brief overview of the general architecture of the Windows operating system, with particular emphasis on the I/O Subsystem.
- Device Stacks A discussion of how the PnP Manager works with drivers to build stacks of devices through the enumeration process. The role of Function Drivers, Bus Drivers, and Filter Drivers is discussed. How file systems are instantiated. Filter drivers and software drivers are also described. As well as, how I/O requests are processed in Windows by forwarding them from driver to driver down the "device tree."
- Types of Drivers We discuss some of the basic categories of Windows drivers. We start with discussing various types of hardware devices (storage adapters, network adapters, etc.) and the options for creating drivers for each type of hardware. We also discuss filter drivers for devices and file systems, and the motivations for and models available for implementing each. Software only drivers, and the different ways those can be implemented, are also discussed. User-mode driver alternatives, including UMDF and WinUSB are also discussed. Guidelines are presented describing when each model/architecture is most appropriate.
- Testing and Debugging Tools for testing and debugging. Begin with a review of the different categories of test tools: Debuggers, driver verifiers, and verification tests. We discuss how WinDbg is used to debug drivers, and the necessary setup for driver debugging. We discuss driver verifier (for both WDM and KMDF) and how this is best used for testing. Driver Test Manger (DTM) is also discussed, including common test setups that are applicable to both small and large organizations. "Best in Class" test procedures are described for each tool or tool suite.
- Driver Installation, Logos and Signing The end-user driver installation experience is discussed, including ways it can be altered, customized and value-added. How the PnP Manager finds the right driver for a device. What drivers require signing? Advantages gained by drivers that have received the Designed For Windows logo by WHQL. The process (and cost) of getting the WHQL logo.
- Practical Challenges and Common Problems A review of common driver problems. How drivers can be "fixed in the field." The Windows Update (WU) process, and how drivers can qualify.

