Windows User Mode Driver Framework

Windows User Mode Driver Framework is a device-driver development platform first introduced with Microsoft's Windows Vista operating system, and is also available for Windows XP. It facilitates the creation of drivers for certain classes of devices.

Contents

Overview

Badly written drivers can cause severe damage to a system since all drivers have high privileges when accessing the kernel directly. The User-Mode Driver Framework is not able to access the kernel directly but instead accesses it through a dedicated application programming interface. If an error occurs, the new framework allows for an immediate restart of the driver without impacting the system. Typically, devices are connected to the computer through a bus technology such as USB or Firewire.

The first version of the UMDF was shipped as part of Windows Media Player version 10. Code-named "Crescent", it was designed to support the Media Transfer Protocol driver, and no public interfaces or documentation were provided for it. Later, Microsoft decided to turn UMDF into a device driver development platform.[1]

The current version of the User-Mode Driver Framework is 1.9, which shipped as part of Windows Vista Service Pack 1 and Windows Server 2008, and is available for Windows XP Service Pack 2 and later, and Windows Server 2003 Service Pack 2 and later.[2]

Architecture

A UMDF Driver is a DLL based on Microsoft's Component Object Model (COM). However, UMDF does not use COM for loading, unloading, or controlling concurrency; it only uses COM as a programming pattern, for example exploiting COM's IUnknown interface. At startup, UMDF calls DllGetClassObject to get a pointer to an IClassFactory interface in the driver and then uses the CreateInstance method of the IClassFactory interface to create an instance of the driver object.

The driver object is an instance of the framework-provided IWDFDriver interface. The driver provides a set of callbacks via the IDriverEntry COM interface, which is the main entry point for driver customization.

References

  1. ^ Charles Torre, Peter Wieland (2006-09-18). "Peter Wieland: User Mode Driver Framework". Channel 9. Microsoft. http://channel9.msdn.com/showpost.aspx?postid=236023. Retrieved 2006-09-18. 
  2. ^ Tsigkogiannis, Ilias (December 13, 2007). "WDF 1.7 RC1 has been released!". Ilias Tsigkogiannis' Introduction to Windows Device Drivers. MSDN Blogs. http://blogs.msdn.com/iliast/archive/2007/12/13/wdf-1-7-rc1-has-been-released.aspx. Retrieved 2008-07-22. 

See also

External links