WDM
読み:ダブリューディーエム
外語:WDM: Win32 Driver Model

 Microsoft Windowsで使われるデバイスドライバーの規格。
目次

Win32 Driver Model
 元々はWindows 98Windows 2000以降で搭載される、Win32用デバイスドライバーの統一規格のことを指した。
 Windows 95 OSR2で、Windows 98に先立って実装されている。

Windows 95での問題
 Windows 95は、DOS用ドライバー、Windows 3.1用ドライバー (拡張子.386)に加え、VxDと呼ばれるWindows 95用のドライバー(拡張子.vxd)をサポートしている。これらはWindows 3.1からの継承品でモノリシックドライバーであった。
 これらはWindows NT系列のマイクロカーネル思想からは相容れない構造である。周辺機器の高度化、Windowsの機能強化に伴いドライバーの開発そのものが難しくなってきていた。
 また、新たに登場したUSBIEEE 1394をサポートするにあたって、そのコントローラーを担当するドライバーと、それに接続される周辺機器に対するドライバーに分離して開発する必要があったが、モノリシックドライバーではそのようなサポートは不可能だった。Windows 95でUSBやIEEE 1394のサポートがすぐに実現できなかった理由もここにある。

Windows NT系列での問題
 Microsoftは将来的にWindowsのメインストリームをNT系列とすることを決定していたが、当時はパソコンの能力不足からそれは叶わず、信頼性を落とす代わりにパフォーマンスアップを図り、Windows 3.1とある程度の互換性があるWindows 95をメインストリームとしていた。
 しかし、前述したとおりWindows 95ではドライバーの構造に難があり、同じものをWindows NTで使うことは出来ない(Windows NTのドライバーは最初から階層構造である)。
 そのため、周辺機器メーカーはメインストリームであるWindows 95用ドライバーの開発に注力し、Windows NTのドライバーの開発は停滞してしまう、結果としてNTは普及しない、というジレンマを抱えていた。

転機
 そこでMicrosoftは、Windows 2000のドライバーモデルを開発するにあたって、次のような野心的な(しかし無謀な)プランを立てた。
 これにより、ドライバーモデルは近代的なものになり、Windows 2000における周辺機器のサポートも充実するという一石二鳥の効果が狙えると考えられた。

理想と現実
 Microsoftの掲げた理想は高かったが、現実問題としてWindows 98とWindows 2000との間で完全に同じドライバーを使いまわすことはできなかった。オペレーティングシステム(OS)の構造があまりにも違いすぎたのである。
 それでも、Windowsのドライバーモデルのほとんどが共通化されたという点で大きな進歩であり、これ以降Windows 2000のドライバーも数多く出回るようになった。これが、Windows 98からWindows 2000へユーザーを移行させる大きな力ともなった。

Windows Driver Model
 だが、最終的にMicrosoftはWDMのバイナリ互換性については放棄せざるを得なくなった。OSが64ビット化する時代が訪れたからである。
 現状では、64ビットマイクロプロセッサーのサポート開始と共にドライバーモデルはソースコード互換性に切り替えられ、それに伴いWin32 Driver ModelはWindows Driver Modelと改称された。

再検索