Professional Documents
Culture Documents
Umdf Intro
Umdf Intro
Framework
Outline
What is UMDF?
When should I use UMDF?
When shouldnt I use UMDF?
What does UMDF give me?
What kind of drivers can I write?
What can my drivers do?
What next?
Goals
How UMDF fits into WDF
Understand UMDFs capabilities
WDM Features
Asynchronous, packet-based I/O
I/O Cancellation
Layering of drivers
Dynamic loading and unloading of drivers
Plug and Play & Power management
Low-level high-performance interfaces
WDM Advantages
Large device coverage
Flexible
Current Model
Display Adapters
Video port
Network Adapters
NDIS
Video Capture
AvStream
Audio Adapters
AVStream, PortCls
FS Mini filter
Printers
UniDrv
Scanners,Cameras
WIA
WDM
Biometric Devices
WDM
WDM
Keyboard/Mouse Filters
WDM
WDM
WMDM
No support
Others
WDM
Current Model
Display Adapters
Video port
Network Adapters
NDIS
Video Capture
AvStream
Audio Adapters
AVStream, PortCls
FS Mini filter
Printers
UniDrv
Scanners,Cameras
WIA
WDM
Biometric Devices
WDM
WDM
Keyboard/Mouse Filters
WDM
WDM
WMDM
No support
Others
WDM
What is UMDF?
Implementation of the WDF Driver Model
Provides ...
The infrastructure to run a device driver in user-mode
The WDF I/O Pipeline and PnP/PM State Machine
The core WDF objects
Devices, Files, Queues, Requests, I/O Targets, etc...
User
UM
UM driver
driver
Framework
Framework
CoInstaller
Host Process
Kernel
Reflector
Kernel Driver
Provided by:
Microsoft
...
Kernel Driver
Device Stack
ISV
IHV
Software-only drivers
Filter drivers, virtualized serial port, etc
Current Devices
Portable Media Players, Cell Phones,
PDAs/ActiveSync, Auxiliary Display, Cameras
Future Devices
Devices on future protocol busses
Devices where driver can be split into ...
Small kernel-mode component to do hardware access
Larger user-mode driver to provide complex functionality
Increased security
Compromised driver does not crash the system
Lower privileges restrain a compromised driver
Recoverability
System can recover after a driver crash
no blue-screens
The driver can be restarted without rebooting
Common Concerns
Will a user-mode driver be fast enough?
UMDF driver can already flood a portable media device
UMDF may increase latency, but throughput remains high
Whats Next?
Development platform is the WDK/LDK
Currently allows developing drivers for Longhorn
But we know thats not enough
Plan to support Windows XP in Longhorn time-frame
Versioning support
Support for side-by-side installation
Beta program
Windows Driver Foundation Beta Program Invitation
http://www.microsoft.com/whdc/driver/wdf/beta.mspx
Call To Action
Install the Windows Driver Kit
Join the WDF Beta Program
At http://beta.microsoft.com
Guest ID: Guest4WDF
Additional Resources
Web Resources:
WDF Information:
http://www.microsoft.com/whdc/driver/wdf/default.mspx
Windows Debugger:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
External Resources
Introduction to the Windows Driver Foundation: How To Develop
Device Drivers Using the Kernel Mode Driver Framework from OSR
Press
Release date is September 2005
Focuses on KMDF but provides general WDF information as well