Jump to content

Talk:Windows Driver Model

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Ta bu shi da yu (talk | contribs) at 08:24, 3 May 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Can someone explain the difference between Windows 95 drivers and and WDM drivers ?

Yes. They usually charge a fee for doing so, too. 81.138.100.115 18:56, 6 Jan 2005 (UTC)
Thanks. - Omegatron

In researching windows audio, I have found a few sites that claim WDM to be an audio driver, like MME or ASIO. Then I found another one that says WDM is just a "wrapper" for all the other types. This article leads me to believe the latter is true. Is it? - Omegatron 17:10, Jan 6, 2005 (UTC)

Both claims are false. 81.138.100.115 18:56, 6 Jan 2005 (UTC)
Very informative. - Omegatron 03:57, Jan 8, 2005 (UTC)

OK, someone was giving Omegatron the run-around. WDM is basically an intermediary level driver model that was introduced to increase the functionality and ease of writing drivers for Windows. The WDM does not work in Windows 95 because WDM was designed to be binary compatible between Windows 98 and Windows 2000 (mainly, I think, to make it easier for equipment manufacturers to migrate from 98 to 2000). WDM consists of a few things:

  1. Class drivers: these can be thought of as built-in framework drivers (for lack of a better word) that miniport and other class drivers can be built on top of. According to my MCSE book (yes, I have one of these), the class drivers provide an interfaces between different levels of the WDM architecture. Common functionality between different classes of drivers can be written into the class driver and used by other class and miniport drivers. The lower edge of the class driver will have its interface exposed to the miniport driver, while the upper edge of top level class drivers (implying, I suppose, that class drivers can be layered) is operating system specific. Class drivers can be dynamically loaded and unloaded at will. They can do class specific functions that are not hardware or bus-specific (with the exception of bus-type class drivers) and in fact sometimes only do class specific functions like enumeration).
  2. Miniport drivers: these are USB, Audio, SCSI and network adapters. They (according to Microsoft at any rate) should be source and binary compatible between Windows 98 and Windows 2000 (and I would assume Windows XP and Windows Server 2003). They are hardware specific but control access to the hardware through a specific bus class driver.
  3. OS Services: this layer is all the operating system stuff that has been abstracted away from the miniport driver.
  4. Virtualisation drivers: have been part of Windows since v3.0. These are basically for legacy drivers - not really used anymore.

Anyway, HTH. - Ta bu shi da yu 08:16, 3 May 2005 (UTC)[reply]

P.S. the diagram is one I whipped up myself, but the info is from:
Finnel, Lynn (2000). MCSE Exam 70-215, Microsoft Windows 2000 Server. Chapter 1, Introduction to Microsoft Windows 2000, pg 13-18. Microsoft Press. ISBN 1-57231-903-8.
Forgot to note this. - Ta bu shi da yu 08:24, 3 May 2005 (UTC)[reply]