簡介
WDM
WDM是WINDOWS2000認證的驅動程式,WIN2000由NT發展而來,所以對於設備的支持功能有限,同時為了最大限度的保障穩定性,所以推崇WDM驅動,但同時WDM驅動也就是功能最少的。因為設備廠商開發進度以及微軟的態度,可能會禁止某些功能,所以像8738和PCI128D這類音效卡在WIN2000中都是不能驅動四聲道的。
Windows驅動程式模型(Windows Driver Model,WDM)是Windows98和Windows2000使用的新的驅動程式設計規範。使用WDM使得硬體驅動程式更加穩定,讓作業系統對硬體更加有效地控制硬體。除了定義一個驅動程式與作業系統連線的標準接口以外,WDM也指明了驅動程式應該採用的更加模組化的設計。
WDM特性
動態構造WDM驅動程式堆疊是實現即插即用設備支持的關鍵
模組化的WDM體系結構中靈活統一的接口,使作業系統可以動態地配置不同的驅動程式模組來支持特定的設備。一個典型的驅動程式堆疊由通用設備、協定及特定協定和特定匯流排的微型驅動程式聯接的匯流排類驅動程式構成。動態構造WDM驅動程式堆疊是實現即插即用設備支持的關鍵。
WDM流媒體應用程式
對於流媒體應用程式,WDM在核心態提供了快速反應的接口來處理I/O流。WDM的流接口是通過標準的WDM類接口提供出的。
WDM支持硬體標準
WDM支持USB、IEEE 1394、ACPI等全新的硬體標準。而且以往在兩個平台上同時運行時需要編寫兩個截然不同的驅動程式,現在只需要編寫一個WDM驅動程式就可以了。
程式模型
WDM(Win32Driver Model),即Win32驅動程式模型,是Microsoft力推的全新驅動程式模式,旨在通過提供一種靈活的方式來簡化驅動程式的開發,在實現對新硬體支持的基礎上減少並降低所必須開發的驅動程式的數量和複雜性。
程式結構
除了通用的平台服務和擴展外,WDM還實現了一個模組化的、分層次類型的微型驅動程式結構。類型驅動程式實現了支持通用匯流排、協定或設備類所需的功能性接口。類型驅動程式的一般特性是為邏輯設備的命令設定、協定和代碼重用所需的匯流排接口實現標準化提供必要的條件。
基本上,WDM規範依靠一個標準化的類驅動程式來控制一類硬體的最常用和基本的功能。Windows2000為每一類硬體包括一個本地類驅動程式,然後,對應於某個特定廠商或者硬體型號的迷你驅動程式加入在類驅動中未包括的特殊或定製功能。廠商還可以更進一步地加入過濾器驅動程式來提供在類驅動的上層或底層進行的微調特性,以此來提供驅動程式本身和由硬體設備執行的任務最大的效率。在絕大多數情況下,這種設計將得到各方面均兼容於Windows2000的驅動程式,提供更好的性能,消耗更少的系統資源,並且對驅動程式大小的縮減經常達到90%。注意此處大小指的只是廠商/型號特定驅動程式,而不包括本地類驅動程式。
程式體系
在Windows2000中包括WDM不但擴展了支持設備的數量,也給微軟的主要網路作業系統帶來了即插即用能力。儘管Windows2000並不能支持市面上所有的硬體,它的硬體兼容性列表(Hardware Compatibility list,HCL)已經遠遠大於WindowsNT4.0的Windows2000的驅動程式體系包括類驅動程式,匯流排驅動程式,迷你驅動程式和過濾器驅動程式。
類驅動
類驅動是設計來控制一個硬體類別的常用、通用和基本的功能和能力的驅動程式。硬體類別有很多,例如鍵盤,滑鼠,顯示器,控制卡,視頻設備,CDROM,軟碟機,硬碟等等。
匯流排驅動
匯流排驅動程式是用來連線設備和計算機的控制器的驅動程式。
匯流排類型有周邊元件擴展接口(Peripheral Component Interconnect,PCI),通用串列匯流排(Universal Serial Bus,USB),IEEE(Instituteof Electricaland Electronics Engineers,國際電子電氣工程師協會)1394,小型計算機系統接口(Small Computer Systems Interface,SCSI),PC卡(PCMCIA)工業標準體系(Industrial Standard Architecture,ISA),擴展工業標準體系(Extended Industrial Standard Architecture,EISA),增強型集成設備電子接口(Enhanced Integrated Device Electronics,EIDE),擴展能力連線埠(Extended Capabilities Port,ECP)和COM連線埠等等。
迷你驅動
Windows2000包括控制這些控制器連線的驅動程式。匯流排設備的驅動程式既有標準類驅動程式,也有迷你驅動程式和過濾器驅動程式的廠商特定實現。
迷你驅動程式與類驅動和匯流排驅動相接口,提供作業系統對硬體的控制和存取,它定義了硬體和類驅動間的接口,並提供對類驅動不提供的特定或專有的功能和能力的控制機制。
過濾器驅動
過濾器驅動程式用於對設備能力限制或授予更廣泛的存取,通過安裝在類驅動程式的上層或下層實現。過濾器經常用來防止給設備傳送不支持的命令或者用來將命令由類驅動程式的語法翻譯為硬體設備要求的語法。
Windows Driver Model(WDM)架構有利於提升音效處理的效能:原來需要在影像、音效設備上的程式代碼,現在可以直接包含在作業系統中,因此能更快地與硬體同步更新。
支持三種
數據流類
支持數據流的高頻寬傳輸,得到更快的數據處理速度。這個類驅動程式經常與音頻連線埠類驅動程式結合使用,以支持實時的視頻和音頻。該類驅動也負責多任務時序,直接記憶體存取(DMA),記憶體最佳化,即插即用和I/O緩衝區管理。
輸入設備類
管理多種匯流排(如USB)間的數據與指令語法翻譯。大多數時候,本類驅動控制由用戶互動接口傳來的數據,如鍵盤,滑鼠和遊戲桿等。
音頻連線埠類
支持多媒體的實時流式回放。它依靠數據流類驅動程式,直接控制硬體,該驅動程式主要使用COM1(I/O地址03F8-03FF)COM2(I/O地址02F8-02FF)</P