WDK
(Windows Driver Kit)是一種完全集成的
驅動程式開發系統,它包含Windows Driver Device Kit (
DDK),用於測試 Windows 驅動器的可靠性和穩定性。
目前微軟最新版本為Windows Driver Kit 8 Consumer Preview 支持 Windows 8, Windows 7,和 Windows Vista.
包括:
Windows 驅動程式基礎 (WDF) 簡化了 Windows 驅動程式的開發和支持。
頭檔案重構(Windows Vista 和更高版本)通過提供更簡單的目錄結構、避免聲明衝突以及對所有支持的 Windows 版本使用單一頭檔案集,減小頭檔案的複雜性。
可安裝檔案系統 (IFS) 工具包將頭、庫、示例以及文檔作為 WDK 的一部分分發。
驗證程式和靜態分析工具(如 PREfast 和靜態
驅動程式驗證程式)幫助您在編譯時查找 bug。
WDK的使用:
一、原始碼編譯
在微軟官網上下載 WDK 開發包,裡面有 WDK 編譯器,
連結器,配置工具,如
NMAKE。然後,用記事本寫 C 或 C++ 檔案,編譯,連結就 OK 了。WDK 庫是一定要的,否則頭檔案,
導入庫都沒有,就無法編譯了。至於編譯器和連線器,其實就是普通的 cl.exe 和 link.exe 兩個工具,和 VS 中的 VC 編譯連結器是同一個。編譯的方法是:在自己的目錄如 c:\wdkdemo 中有個待編譯的 wdkdemo.c ,那么需要在這個目錄里加入兩個檔案,一個是 makefile (無後綴名)的固定檔案名稱,內容也是固定的:INCLUDE $(NTMAKEENV)\makefile.def另外一個檔案是 sources (無後綴名)的固定檔案名稱,內容為:targettype=drivertargetname=objsources=wdkdemo.c這兩個檔案都是讓nmake 工具配置用的,最終調用合適的編譯器和
連結器開關來編譯出 sys 。WDK包有個 build 命令行工具,當配置好了以上兩個檔案後。雙擊 build 工具,進入到 c:\wdkdemo 目錄,輸入命令 build 回車,然後只要 wdkdemo.c 原始碼正確,就會生成 sys 檔案了。
二、sys 檔案安裝
在網上下載個免費的驅動安裝工具,這個不難吧,一般調試用的驅動,建議在安裝的時候,千萬記得要選擇手動模式,因為自啟動模式,如果驅動有BUG ,會導致藍屏,重啟機器後,驅動因自啟動又被載入,導致再次藍屏。
三、調試
在微軟官網下個 windbg ,但 windbg 需要調試機和被調試機模式,因此 windbg 最好配合 vmware 來使用。我感覺,sys 檔案編譯是很麻煩的。不如編譯應用程式,只要一個 VS 可以搞定大部分的事情。驅動開發需要很多關於其他工具的知識。譬如,用記事本或者
NOTEPAD++編輯原始碼感覺很吃力,因為 VS 沒有驅動開發的項目,因此 VS 不直接支持驅動開發,當然,可以進行配置,但 VS 配置驅動是很麻煩的。另外, windbg 有很多的調試命令,當然常規的命令一般4、5個就夠用了。VMWARE 的配置也是很麻煩的,當初,我自己研究了很長時間,網上雖然有教程,但都是講得不全面,譬如要配置10個地方,網上都是只說7、8個,導致 VMWARE 配置不成功。驅動開發還有 DRIVER STUDIO 這么一個 IDE 可以使用,另外還有 IRPTRACE ,DEVICE TREE , DEBUG VIEWER 等工具。我開發驅動的工具是 VMWARE + VS2010 + WDK + WINDBG + WINOBJ + IRPTRACE + DEBUG VIEWER 這幾個。