Windows Device Drivers : Windows Driver Framework (WDF)


Duration 3 days lecture + hands-on lab
Audience Product support engineers, hardware and software QA engineers, field application engineers, application developers and device driver developers
Pre-requisites Understanding of operating system concepts is required.
Description The Windows Driver Framework consists of a wrapper library Kernel Mode Driver Framework (KMDF) to greatly simplify development of kernel mode drivers. It also contains a set of OS components and interfaces User Mode Driver Framework (UMDF) to enable implementation of certain hardware drivers as user mode components. This course covers the design and implementation of kernel mode drivers using KMDF.
Through the hands-on labs, attendees re-enforce the theory by actually implementing, installing, testing and debugging KMDF drivers inside a Virtual Machine.
Upon completion of this intermediate level course, attendees will develop a good understanding of the components, features and interfaces of KMDF, understand KMDF driver source code and be able to design, implement and debug KMDF drivers.

Introduction to WDF
  • KMDF
  • UMDF
  • Framework Functionality
  • Framework Object Architecture
  • Common Framework Objects
  • Dynamic Memory Allocation
  • Unicode String Handling
Building, Installing and Debugging WDF Drivers
  • WDK and WDF Build Environments
  • Build Process
  • Build Files & Directories
  • WDF Driver Installation
  • WDF Versions
  • WDF Co-installer
  • WinDBG Debugger
  • Debugger Setup & Usage
  • Symbol Files
I/O Queues
  • Queue Architecture
  • Queue Dispatch Types
  • Queue Synchronization Model
  • Queue Operations
  • Queue States
I/O Requests
  • Request Architecture
  • Request Flow
  • Win32 I/O API
  • Request Handlers
  • Request Cancellation and Suspension
  • Request Data Transfer Types
I/O Targets
  • Device Tree
  • Driver and Device Types
  • Driver Layering
  • Request Formatting
  • Sending I/O Requests
  • Completion Routines
  • Controlling I/O Targets
PnP and Power Management
  • Device Arrival and Removal
  • Vetoing Graceful Device Removal
  • System & Device Power States
  • Handling Power State Changes
  • Device Wakeup
Hardware Interfacing
  • Hardware Resources
  • I/O Ports
  • Adapter Memory
  • Interrupt Handling
  • Deferred Procedure Calls
  • Timers
  • Work Items
  • Bus Master DMA
Driver Quality Tools
  • KMDF Verifier
  • Event Tracing for Windows(WPP Tracing)
  • IFR
  • PREFast
  • Static Driver Verifier (SDV)
  • Device Path Exerciser (DC2)