DRV205 - Windows Pseudodrivers and Operating System Interfaces

This seminar describes the required and optional routines of all device drivers, and presents the designs and operating system interfaces commonly used by filter drivers and pseudodrivers.

Level: Intermediate
Audience:

Driver Developers

Description:

When is a driver not a device driver? When it's a pseudodriver: a driver that doesn't control hardware. Kernel mode drivers are the only way to get foreign kernel-mode code into Windows, so pseudodrivers are commonly written to provide "hooks" into operating system interfaces and kernel mode data that are otherwise unavailable to user mode.

This seminar also describes filter drivers in detail. Filter drivers are drivers that modify the function of other drivers. We present both kernel mode driver and WDM interfaces for these two types of drivers.

Prerequisites:

DRV150, Windows Internals for Driver Developers, or equivalent knowledge and experience. Attendees should understand the basic principles of demand-paged, virtual memory, multitasking operating systems. Attendees must have at least a reading knowledge of the C programming language. Familiarity with device driver development on other platforms will be helpful, but is not essential.

Operating systems supported:

Windows 2000 through Windows 10/Windows Server 2012 R2

Durations and formats: 5 days with labs
Labs:

This seminar is only offered with hands-on labs. As with our other driver seminars, a lab exercise allowing you to immediately apply the material follows each key point or principle in the lecture presentation. Lab exercises begin with a simple " device driver" and then expand on this example to show how and when to use the various kernel mode operating system interfaces that are presented. All seminar attendees will of course receive complete, debugged and commented solutions for all of the lab problems.