HOME

TheInfoList



OR:

User-Mode Driver Framework (UMDF) is a device-driver development platform first introduced with
Microsoft Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
's
Windows Vista Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
, and is also available for
Windows XP Windows XP is a major release of Microsoft's Windows NT operating system. It was release to manufacturing, released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Wind ...
. It facilitates the creation of drivers for certain classes of devices.Programming Drivers for the UMDF
/ref>


Overview

Standard device drivers can be difficult to write because they must handle a very wide range of system and device states, particularly in a multithreaded software environment. Badly written device drivers can cause severe damage to a system (e.g., BSoD or data corruption) since all standard drivers have high privileges when accessing the kernel directly. The User-Mode Driver Framework insulates the kernel from the problems of direct driver access, instead providing a new class of driver with a dedicated application programming interface at the user level of interrupts and memory management. If an error occurs, the new framework allows for an immediate driver restart without impacting the system. This is particularly useful for devices that are intermittently connected to the system or support
hot swapping Hot swapping is the replacement or addition of components to a computer system without stopping, shutting down, or rebooting the system; hot plugging describes the addition of components only. Components which have such functionality are sai ...
via a bus technology such as USB or
FireWire IEEE 1394 is an interface standard for a serial bus for high-speed communications and isochronous real-time data transfer. It was developed in the late 1980s and early 1990s by Apple in cooperation with a number of companies, primarily Sony a ...
. According to Microsoft, UMDF drivers are simpler to write and debug than kernel-mode drivers. However, UMDF would not be used for performance-intensive or highly stateful devices. The first version of the UMDF was shipped as part of
Windows Media Player Windows Media Player (WMP) is the first media player and media library application that was developed by Microsoft for playing audio, video and viewing images on personal computers running the Microsoft Windows operating system, as well as ...
version 10 on 2004-10-12. Code-named "Crescent", it was designed to support the
Media Transfer Protocol The Media Transfer Protocol (MTP) is an extension to the Picture Transfer Protocol (PTP) communications protocol that allows media files to be transferred automatically to and from portable devices. Whereas PTP was designed for downloading phot ...
driver, and no public interfaces or documentation were provided for it. Later, Microsoft decided to turn UMDF into a device driver development platform.


Version history

* User-Mode Driver Framework 1.5-1.9, supports
Windows XP Windows XP is a major release of Microsoft's Windows NT operating system. It was release to manufacturing, released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Wind ...
and newer. * User-Mode Driver Framework 1.11, supports
Windows Vista Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
and later, and
Windows Server 2008 Windows Server 2008 is the fourth release of the Windows Server operating system produced by Microsoft as part of the Windows NT family of the operating systems. It was released to manufacturing on February 4, 2008, and generally to retail on F ...
and later. * User-Mode Driver Framework 2.0, which supports Windows 8.1 and newer.


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


See also

*
Windows Driver Frameworks Windows Driver Frameworks (WDF, formerly Windows Driver Foundation), is a set of Microsoft tools and libraries that aid in the creation of device drivers for Windows 2000 and later versions of Windows. It complements Windows Driver Model, abstract ...
(WDF) * Kernel-Mode Driver Framework (KMDF)


References


External links

*
Peter Wieland's blog
– developer lead on the UMDF team at Microsoft {{Microsoft FOSS Device drivers Free and open-source software Microsoft application programming interfaces Microsoft free software Software using the MIT license Windows-only free software