序言]
很多人都對驅動開發有興趣,但往往找不到正確的學習方式.當然這跟驅動開發的本土化資
料少有關係.大多學的驅動開發資料都以英文為主,這樣讓很多驅動初學者很頭疼.本人從
事驅動開發時間不長也不短,大概也就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...