windows驅動開發學習

2021-08-03 00:09:48 字數 2943 閱讀 5430

序言] 

很多人都對驅動開發有興趣,但往往找不到正確的學習方式.當然這跟驅動開發的本土化資

料少有關係.大多學的驅動開發資料都以英文為主,這樣讓很多驅動初學者很頭疼.本人從

事驅動開發時間不長也不短,大概也就3~4年時間.大多數人都認為會驅動開發的都是牛人,

高手之類的.其實高手,牛人不是這樣定義的.我們在學習驅動開發之前,一定要明白乙個道

理:術業有專攻,不要盲目跟風. 

[貢獻者] 

1> defddr 看雪學院 

2> studyrush 看雪學院 

[本內容適用環境及工具] 

1> windows系統下 

2> vc6.0以及vs2003版本以上 

3> windows驅動開發包(ddk(老版本) wdk(新版本)) 

4> 有能力著可以安裝vmware 

[本內容適用群體] 

1> 具有c/c++語言基礎的人 

2> 具有80x86彙編基礎的人 

3> 具備高中以上文化水平的邏輯思維 

[具備windows系統理論書籍] 

1> 

windows核心程式設計

2> 

win32多執行緒程式設計

3> 

深入解析windows作業系統

4> 

windows作業系統原理

faq1:為什麼需要[具備windows系統理論書籍]這4本書? 

答:驅動是windows系統的乙個重要的組成部分,深入windows系統核心的乙個體系,就

因為驅動跟系統核心聯絡得十分緊密,所以涉及了不少系統的基礎理論以及原理.因此在學

習驅動開發之前必須先明白windows 系統的基礎開發理論,windows系統的運作原

理,windows系統的架構體系.那麼我提供的上面4本書是目前市面上我認為最經典最全面

的書籍了. 

[具備windows驅動開發書籍] 

1> 

windows驅動開發詳解

2> 

windows裝置驅動程式wdf開發

faq2:為什麼需要[具備windows驅動開發書籍]這2本書? 

答:假設你對windows系統的基礎理論紮實了,也看完了所說的[windows系統理論書籍]

這4本書,而且你還從事開發過windows程式或者大程式的經驗者.那麼你進入windows

驅動開發的時候,需要一本經典的驅動入門開發書籍即可正確入門.現在我提供了

[windows驅動開發書籍]這2本書完完全全針對windows驅動開發入門而編寫的書籍.

當然我首要推薦

的講解時非常到位了.包含了驅動開發理論 配置 驅動體系 等等......是一本不可多得

的好書.那麼第2本,其實有點濫竽充數,但是他裡面有少少涉及到wdf這個最新的驅動開

發理論的講解,大家也就湊合著吧. 

[具備windows除錯基礎理論書籍] 

1> 

軟體除錯

2> 

windows使用者態程式高效排錯

faq3:為什麼需要[具備windows除錯基礎理論書籍]這2本書? 

答:在開發驅動的情況下,你少不了要除錯驅動程式.那麼如何除錯驅動程式呢? windows

已為你考慮到這個問題了並開發了一套強有力的除錯工具:windbg .如何學習這個工具的

除錯呢?那麼現在市面上只有這2本書針對windbg講解得還比較到位,至少針對除錯命令

的使用,已經用中文講解了,大家可以通過2本書先大概了解windbg的除錯命令,然後再進

一步進行google搜尋並深入學習. 

[具備彙編基礎理論書籍] 

1> 

組合語言

2> 

80x86組合語言程式設計教程

[綠皮版 或者 黑皮版] 

faq4:為什麼需要[具備彙編基礎理論書籍]這2本書? 

答:由於在windows環境下開發驅動,從而有個弊端,就是windows的wdk,ddk文件少得

可憐,很多說明多是模糊的.因此導致我們開發的驅動極其不穩定,這時就需要逆向

windows驅動的機制來加深理解.在乙個由於驅動的不穩定性,會導致系統藍屏,有時錯誤

並不會直接定位到你的**,這時就需要彙編來分析錯誤的緣由.就如我前面介紹的[具備

windows除錯基礎理論書籍] 基本是用組合語言來闡述除錯技術. 

[驅動開發擴充套件書籍] 

1> 

寒江獨釣-windows核心安全程式設計

2> 

windows核心原理與實現

3> 

rootkit windows核心安全防範

4> 

windows核心情景分析

faq5:為什麼需要[驅動開發擴充套件書籍]這4本書? 

答:熟話說:學無止境,驅動開發領域是乙個很龐大的體系,這歸根於驅動框架多樣化而決定

的.驅動包含了:檔案驅動,磁碟驅動,顯示卡驅動,網路驅動,等等不同的種類,每一種類就是

乙個領域,你決定你的能力需要擴充套件到多方面,那麼你可以考慮先我這裡提供的這4本書來

學習,通過閱讀這3本書,你會發現驅動可以做很多你意想不到的事情.本人從事開發驅動

將近4年,也僅僅涉及 檔案驅動,磁碟驅動以及一些小型驅動而已.這些的學習我也僅僅是

根據需求來進行選擇性學習.每個人都有自己的能力極限,大家要量力而行. 

備註:網友可以推薦其他好書 

[推薦學習資源站點] 

1> 國內唯一個知識點比較全的驅動交流** 

2>

國外著名的驅動開發社群 

3> 微軟官方驅動開發技術支

持 [推薦正確學習方式] 

1> 認真閱讀我提供的參考書籍 

2> 多使用google來解決你遇到的問題 

3> 多嘗試用驅動寫你自己喜歡的功能 

4> 提公升你英文閱讀能力,因為大部分有價值的資料來自於國外 

5> 不要急於求成,不要浮躁,不要把驅動開發技術當做一種炫耀 

windows驅動開發學習筆記

編寫程式,是一件什麼一樣的事情?是一件很奇妙的事情嗎?它可以帶來什麼?它能帶給人什麼感受?它能帶給人創造和控制的慾望嗎?每當乙個人在閱讀或者寫一段 時,腦子裡會怎麼想的?腦子會想象那段 怎樣完成預定邏輯。對於寫 或者維護 的人來說,體現能力的地方不在 本身,而是對下層開發平台的理解和駕馭能力。怎麼樣...

Windows驅動開發學習3

驅動的 api 函式 1.rtlinitunicodestring 作用 初始化裝置名稱指標。void rtlinitunicodestring in out unicode string destinationstring,in pcwstr sourcestring 2.iocreatedevi...

Windows驅動開發

以ddk2600版本為例 無論是ddk驅動還是pnp驅動,都需要撰寫makefile檔案.使用nmake 來驅動執行.系統目錄預設有makefile檔案,裡面包括有安裝目錄下makefile.def檔案,這個裡面包含檔案makefile.inc,及每個即編譯檔案所在目錄的dirs檔案 makefil...