【Windows驅動】DDK與WDK

來源:互聯網
上載者:User

標籤:des   style   http   io   os   使用   ar   問題   sp   

1.What

  DDK和WDK是Windows驅動程式的開發包,就像開發Windows應用程式,我們需要Windows的SDK一樣。

2.Difference

  2000/XP/2003下,Windows採用WDM驅動模型(Windows Driver Model),對應開發包為:DDK。

  Vista及以後版本,採用了WDF驅動模型(Windows Driver Foudation),對應的開發包:WDK。

  WDK可以看做是DDK的升級版本。

3.WDM or WDF

  自Windows 2000開始,開發驅動程式是以WDM為基礎,開發難度比較大。為改善這種局面,微軟推出了新的驅動開發模型,以WDM為基礎進行了建模和封裝,顯著特點是降低了開發難度。

4.New Features in WDF

  1、將原來普通程式設計中基於對象的技術應用到了驅動開發中。WDM中雖也有物件模型,但與真正的基於對象技術根本就不是一回事。為了實現基於對象的技術,微軟精心設計了物件模型並進行了封裝。屬性、方法、事件等等“一個都不能少”。

  

2、無論核心模式的驅動程式或者使用者模式的驅動程式,都採用同一套物件模型構建,採用同一個基礎承載。這個基礎就是WDF。WDF雖然已經是經過封裝和定義的物件模型,但對核心模式和使用者模式對象來說,WDF又是兩者的父物件。換言之兩者都是繼承了WDF才得到的,或者都是從WDF派生而來的。相對於核心模式,派生出的對象稱為“KMD架構”即KMDF;相對於使用者模式,派生出的模型稱為“UMD架構”即UMDF。無論何種模式的架構,其內部封裝的方法、執行的行為其實還是用WDM完成的。

3、更重要的,也是微軟反覆炫耀的是封裝了驅動程式中的某些共同行為:例如隨插即用和電源管理就屬於這種共同行為。因為大多數驅動程式中都需要處理隨插即用和電源管理問題,據說這大概要上千行的代碼,況且,沒有相當水平還不一定能處理好。為了一勞永逸,WDF乾脆將隨插即用和電源管理封裝了進了對象之內,一舉成了對象的預設(預設)行為。

4、改變了作業系統核心與驅動程式之間的關係,WDM驅動程式中,一方面要處理硬體,另一方面要處理驅動程式與作業系統核心的互動。現在WDF則將驅動程式與作業系統核心之間進行了分離,驅動程式與作業系統互動工作交給架構內封裝的方法(函數)完成,這樣驅動開發人員只需專註處理硬體的行為即可。這不僅避免了顧此失彼兩面不周的弊端,也由於雙方的分離,對作業系統內的某些改動,硬體製造商配套驅動程式的開發都有莫大的好處。

5、兩種模式的驅動程式(KMDF、UMDF)都使用同一環境進行構建,這一環境稱為WDK。即KMDF,UMDF的開發環境為WDK。 把測試套件(test suites)整合進來,DDK 就成了WDK。WDK是針對微軟作業系統系列的磁碟機整合開發系統。它組合了Windows DDK和Hardware Compatibility Test (HCT) kits(硬體相容性測試載入器),同時提供了微軟內部用來測試Windows作業系統穩定性和可靠性的測試套件。

6、雖然經過封裝並引入基於對象的技術,所開發的驅動程式在執行效率上並不比原來遜色。WDF和WDM的關係有點類似於MFC和Windows SDK的關係。WDF只是在WDM上面加了一層,來簡化driver的開發,特別是PNP,power和IO
cancellation 等幾個方面有很大改進。

5.Codes

  Windows Driver Kit (WDK) 8.1 Samples

 

【Windows驅動】DDK與WDK

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.