本書特色
1.快速上手
為了讓讀者快速上手,筆者先講解兩個驅動程式的例子,這兩個例子分別代表Windows 兩類最基本的驅動程式--NT 式驅動程式和WDM 式驅動程式。書中詳細地介紹了驅動程式編譯、安裝、除錯的方法。編譯驅動程式一般使用build 工具,但是考慮到很多讀者都是VC 程式設計師,筆者特意介紹了如何用VC 編譯器編譯驅動程式。
2.內容詳實,實?豐富
本書詳細地介紹了PCI 驅動程式、USB 驅動程式、虛擬序列埠程式、虛擬攝影鏡頭程式、SDIO 驅動程式的開發,並輔以大量實例,使讀者可以邊學技術,邊進行實作。
3.介紹多種除錯技巧
驅動程式由於執行在核心模式下,很難像普通應用程式那樣可以方便地除錯,尤其對於VC 程式師來說,以前的那些除錯技巧,很多都不能用了。另外,莫名其妙的“藍色當機畫面”也會成為驅動程式開發人員的夢魘。筆者結合自己開發驅動程式多年的經驗,歸納了多種除錯驅動程式的高階技巧,這些包括用WinDbg 和VMWare 軟體對驅動程式進行原始碼級除錯、用WinDbg 除錯藍色當機畫面後的Dump 檔案等。
4.?活地使用一些工具
工欲善其事,必先利其器。書中工具軟體的說明讓我們更能地瞭解驅動程式內部的執行情況。本書將介紹很多實用的工具軟體,如除錯USB 驅動程式的BusHound軟體、查看IRP 的IRPTrace 軟體、查看除錯資訊的DebugView 軟體、載入NT 式驅動的DriverMoniter 軟體、載入WDM 式驅動的EzDriverInstaller 及查看裝置物件的DeviceTree工具等。
5.分析本質
本書對驅動程式的討論不是僅停留在“表面”,更多地方是帶領讀者深入到作業系統的底層。本書對驅動程式涉及的作業系統中各個元件都有深入的介紹。另外,本書詳細地介紹了驅動程式中的同步處理和非同步處理,正確處理同步與非同步,會使驅動程式更穩定,執行效率更高。
6.探討Windows 內核
驅動程式和Windows 的內核緊密相連,本書講述了很多Windows 內核的原理。由於Windows 不是開放原始碼的作業系統,所以很少有書籍涉及Windows 內核的原理,深入理解Windows 內核的構造與原理,將更好地?明程式師寫出穩定的驅動程式。
作者簡介
張帆
畢業於北京理工大學電子工程系,曾就職於威盛電子,現就職於北京創毅視訊科技有限公司。長期從事PCI、USB、SDIO、序列埠、攝影鏡頭等裝置的Windows驅動程式開發。對Windows作業系統內核有深入的研究,並有豐富的Windows驅動程式開發經驗。
史彩成
博士後,北京理大學資料科學技術學院副教授,資深電子系統專家,主要從事影像處理、雷射信號處理、資料融合及ASIC設計等領域的研究工作。