Home | FAQ | Contact

Private Seminars
Public Seminars
Course Descriptions
Instructors
Resources

APP210
CMB221
DBG211
DBG214
DBG311
DRV101
DRV150
DRV201
DRV202
DRV203
DRV204
DRV205
DRV211
DRV221
DRV222
DRV231
DRV232
DRV233
DRV251
DRV264
DRV274
DRV301
DRV350
DRV360
INT150
INT151
INT201
INT205
INT250
INT410
OFF201
SEC230
SEC240
WSC150
WSC250

DRV204: Windows Driver Development for User Mode Driver Frameworks (UMDF)

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

Level

Intermediate

Audience

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

Description

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 "null 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.

Topics

  • 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

Prerequisites

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. 

Windows versions

Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP, Windows 2000

Duration 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. 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.

Copyright © 2000-2012 by Azius LLC