Windows Driver Model (WDM)

The Windows Driver Model (WDM) is a driver framework or architecture that makes source code compatible with Windows 98, 2000, Me, XP and all later Microsoft Windows versions, i.e. all 32-bit versions of Windows. WDM was designed to replace “VxD,” the driver technology used on previous versions such as Windows 3.1, Windows 95 and Windows NT.

Also known as the Win32 Driver Model.

With less required source code, the Windows driver model is more efficient than VxD and it standardized code requirements. However, WDM drivers are not backward compatible with Windows versions prior to Windows 98, e.g. Windows 3.1, 95 and NT 4.0 or versions older than the OS they were originally written for. WDM is forward compatible with later versions. One problem this creates is that new OS features may, or may not, work using drivers written for previous OS versions.

WDM drivers are classified into three types:

  1. Function drivers are written for a specific device, such as a printer
  2. Bus drivers are for such common busses as PCI, SCSI and USB, and are designed for a bus controller, adapter or bridge (and software vendors may create their own bus drivers)
  3. Filter drivers, which may be non-device drivers, but when they do enable a device they add value to, or change the operation of, a given device or multiple devices.

Both WDM drivers and VxD drivers will function with Windows 98 OSs (Windows 98, Windows 98 Second Edition and Windows Me). However, usually the WDM drivers allow more features, e.g. a TV tuner card may capture higher resolution images.

Driver software developers have had a number of criticisms about the WDM, including:

  • That it is very complex to understand.
  • The interactions with plug-n-play and power management events are difficult.
  • Cancelling I/O (input/output) instructions is very problematic.
  • Every driver requires thousands of lines of support code.
  • There is no technical support for writing pure “user-mode drivers” (customized special use drivers).
  • The documentation and sample drivers are of questionable quality.

These issues caused Microsoft to release a replacement for WDM, called “Windows Driver Foundation,” in two versions: “Kernel-Mode Driver Framework” (KMDF) is for Windows 2000 and Windows XP; and “User-Mode Driver Framework” (UMDF) is for Windows XP and later versions.

Post a Comment

0 Comments