Windows Driver Model

Source: Internet
Author: User

Http://en.wikipedia.org/wiki/Windows_Driver_Model

In computing, the Windows Driver Model (WDM)-also known at one point as the Win32 Driver model-is a framework for device drivers is introduced with Windows 98 and Windows $ to replace VxD, which was used On older versions of Windows such as Windows up and Windows 3.1, as well as the Windows NT Driver Model.

Contents[Hide]
  • 1 Overview
    • 1.1 Device Function Drivers
    • 1.2 Bus Drivers
    • 1.3 Filter Drivers
  • 2 VxD, WDM and Windows 98
  • 3 Criticism
  • 4 See also
  • 5 References
  • 6 External Links

overview[edit]

WDM drivers is layered in a complex hierarchy and communicate with each other via I/O request packets (IRPs). The Microsoft Windows Driver Model Unified Driver models for the Windows 98 and Windows $ product lines by Standardizin g requirements and reducing the amount of code that needed to be written. WDM drivers won't run on operating systems earlier than Windows 98 or Windows 4.0, such as Windows, Windows NT and Windows 3.1. By conforming to WDM, drivers can is binary compatible and source-compatible across Windows 98, Windows 98 Second Edition, Windows Me, Windows $, Windows XP, Windows Server 2003 and Windows Vista (for backwards compatibility) on X86-based Co Mputers. WDM drivers is designed to being forward-compatible so, a WDM driver can run on a version of Windows newer than what the Driver is initially written for, but doing that would mean so the driver cannot take advantage of any new features int Roduced with the new version. WDM is generally not backwaRd-compatible, that's, a WDM driver is no guaranteed to run on any older version of Windows. For example, Windows XP can use a driver written for Windows $ but would not do use of any of the new WDM features tha T were introduced in Windows XP. However, a driver written for Windows XP could or may not be load on Windows 2000.

WDM exists in the intermediary layer of Windows kernel-mode drivers and is introduced to increase the functionality and ease of writing drivers for Windows. Although WDM is mainly designed to be binary and source compatible between Windows 98 and Windows $, this may not alwa Ys be desired and so specific drivers can is developed for either operating system. WDM drivers can classified into the following types and sub-types:

Device function Drivers[edit]

A function driver is the main driver for a device. A function driver is typically written by the device vendor and are required (unless the device is being used in raw mode). A function driver can service one or more devices.

  • Class Drivers: These is a type of function drivers and can be thought of as built-in fr Amework drivers that miniport and other class drivers can is built on top of. The class drivers provide interfaces between different levels of the WDM architecture. Common functionality between different classes of drivers can be written to the class driver and used by other class and Miniport drivers. The lower edge of the class driver'll has its interface exposed to the miniport driver and while the upper edge of top Lev El class drivers is operating system specific. Class drivers can dynamically loaded and unloaded at would. They can do class specific functions that is not hardware or bus-specific (with the exception of Bus-type class drivers) And in the fact sometimes only does class specific functions like enumeration.
  • Miniport Drivers: These is also function drivers for USB, audio, SCSI and network adapters. They should usually be source and binary compatible between Windows 98 and Windows $ and is hardware specific but cont Rol access to the hardware through a specific bus class driver.
Bus Drivers[edit]

A bus driver Services A bus controller, adapter, or bridge. Microsoft provides bus drivers for most common buses, such as PCI, Pnpisa, SCSI, USB and FireWire. Each software vendor can create their own bus drivers if needed. A bus driver can service more than one bus if there are more than one bus of the the same type on the machine.

Filter Drivers[edit]

Filter drivers is optional drivers that add value to or modify the behavior of a device and could be non-device Dr Ivers. A Filter driver can also service one or more devices. Upper level filter drivers sit above the primary driver for the device (the function driver), while lower level filter DRI Vers sit below the function driver and above the bus driver.

    • Driver Service: This is a type of Kernel-level filter driver implemented as a Windows service the enables applications to work with Devic Es.
VxD, WDM and Windows 98[edit]

Windows 98 based operating systems (Windows 98, Windows 98 Second Edition, and Windows Me) is able to use both WDM and Vx D (Virtual device driver) driver standards. Both drivers models can provide unique and different features for the same hardware. However, usually the newer WDM standard provides more features. For example, if a TV tuner card using a VxD driver are able to capture images at a resolution of 384 x 288 pixels, the same TV Tuner card with the WDM driver model is able to capture at a resolution of 768 x 576 pixels. This can being attributed to the new broadcast Driver Architecture model which are part of WDM.

criticism[edit]

The Windows Driver model, while a significant improvement over the VxD and Windows NT Driver model used before it, have bee N criticised by driver software developers [1], most significantly for the following:

    • Interactions with power management events and Plug and Play is difficult. This leads to a variety of situations where Windows machines cannot go to sleep or wake up correctly due to bugs in driver Code.
    • I/O cancellation is almost impossible to get right.
    • Thousands of lines of support code is required for every driver.
    • No support for writing pure User-mode drivers.

There were also a number of concerns about the quality of documentation and samples that Microsoft provided.

Because of these issues, Microsoft have released a new framework to replace WDM, called the Windows Driver Foundation, whic H includes Kernel-mode Driver framework (KMDF) and User-mode Driver Framework (UMDF). Windows Vista supports both WDM and the newer Windows Driver Foundation. KMDF is also available for download for Windows XP and even Windows $, while UMDF was available for Windows XP and above .

See also[edit]
    • Windows Driver Foundation (WDF)
      • Kernel-mode Driver Framework (KMDF)
      • User-mode Driver Framework (UMDF)
    • Windows Display Driver Model (WDDM)
References[edit]
    • Finnel, Lynn (2000). MCSE Exam 70-215, Microsoft Windows Server. Microsoft Press. ISBN 1-57231-903-8.
    • Oney, Walter (2003). Programming the Windows Driver Model, Microsoft Press, ISBN 0-7356-1803-8.
External links[edit]
    • WDM Input Output concepts-this article gives a high level overview of the I/O concepts as defined in the Windows Driver Model.
    • Windows Driver API basics-this article informs you about the basics behind soundcard drivers such as WDM, ASIO, MME, Dir Ectx, etc.
    • Channel 9 Video-interview with the Device Management and installation team at Microsoft, primarily covering PLUG-AND-PLA Y.
    • Kernel Survival Guide-free Lecture Notes book fragment detailing basic creation of Windows Drivers, Kernel Mode Programm ING, and Memory management

Windows Driver Model

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.