DRV204 - Windows Driver Development for User Mode Driver Frameworks (UMDF 1.x)

This seminar describes how to write, package, install, and debug drivers using User Mode Driver Frameworks 1.x.

Level: Intermediate

Developers of drivers using User Mode Driver Frameworks. These will typically be functional and filter drivers for lower speed devices on USB.


In this seminar you will learn the common principles and interfaces used by all WDF device drivers, and the details of User Mode Driver Frameworks.

We start with a very simple " device" driver, and then fill in deeper and deeper layers of details and possibilities, ensuring that you understand each new idea in its proper context. This approach also provides needed repetition, so that you see the important points more than once and from different points of view.

  • Key operating system and Windows I/O subsystem principles
  • WDF and UMDF concepts
  • Introduction to COM
  • Introduction to UMDF data structures (objects) and interfaces
  • A "starter" UMDF driver
  • Device driver development environment
  • Plug and play basics; .INF files; driver installation
  • UMDF driver debugging
  • Handling simple I/O requests
  • Buffer handling
  • Implementing I/O requests on USB devices
  • Serialization and synchronization issues
  • Advanced I/O request queueing

DRV150, Windows Internals for Driver Developers, or equivalent knowledge and experience. (This may also be provided by any of our other Windows internals seminars.) 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 XP through Windows 8.0/Windows Server 2012.

Durations and formats: 5 days with 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. Each exercise builds on the ones preceding. A simple USB device is used as the "target" device for most of the example code and lab problems. All seminar attendees (both in the labs and lecture-only versions) will of course receive an electronic copy of complete, debugged and commented solutions for all of the lab problems.

Additional information:

Please note: This seminar covers UMDF 1.x. UMDF 2.0 is supported as of Windows 8.1 and later, and is strongly recommended for all future UMDF development, unless compatibility with earlier versions of Windows is required.