XP+VC 6.0+WinXP_DDK+DriverStudio3.2(學習實踐)
Windows XP + VC 6.0 + WinXP_DDK + DriverStudio 3.2
1·前言
開發(fā)windows內核驅動程序是一個非常具有挑戰(zhàn)性的工作,你得忍耐調試過程中操作系統(tǒng)不斷藍屏、不斷崩潰的噩夢,所以強烈建議你采用虛擬機做開發(fā)平臺,這樣即使把整個系統(tǒng)都搞蹦了,大不了從新裝過虛擬機而已。那么搭建一個完整的Windows驅動開發(fā)環(huán)境是每個人必須邁過的第一道坎。本文將具體介紹如何安裝和配置好一個完整的DDK開發(fā)換件:
Windows XP + 英文原版Visual studio 6.0 + WinXP_DDK + DriverStudio 3.2
2·準備工作
先要把eset(360殺毒軟件)卸載掉。從網站http://www./download_other_c.php下載并解壓下列軟件:
?。ǎ保?#183;DriverStudio_3.2_CR.rar;
?。ǎ玻?#183;Visual.C++.6.EN.zip;
?。ǎ常?#183;winxp_ddk.rar;
?。ǎ矗?#183;ntstrsafe.lib+csq.lib.rar;
解壓DriverStudio_3.2_CR.rar,進入解壓后的目錄DriverStudio_3.2_CR,再把其中driverstudio.3.2.crack.rar解壓,產生目錄driverstudio.3.2.crack,里面有兩個文件SN.txt和compuware.dat,前者包含序列號,后者是證書文件,這兩個文件在安裝過程中會用到。
3·安裝和配置
軟件的安裝順序:Windows XP --> VC6.0 --> WinXP_DDK -> DriverStudio3.2,如果順序裝錯了,那么把DriverStudio3.2刪除再重裝就OK了。從網上找到庫文件ntstrsafe.lib+csq.lib.rar,把解壓出來的兩個庫文件拷貝到WinXP_DDK的安裝目錄下的庫目錄中(我的是C:WINDDK°0libwxpi386)。啟動vc6,然后進行簡單的配置:菜單DriverStudio菜單下的DDK Build Settings,在彈出的對話框中選擇已經安裝的DDK目錄(比如我的是C:WINDDK°0),在Windows DDK compiler Options中選擇"Enable only for Driver Studio"。
VC6.0-->Tools-->Options,點擊"Directories"選項卡:
1)·“Show directories for:"下選擇Include files,然后檢查有沒有包含ddk的頭文件目錄(我的是C:WINDDK°0incwxp),如果沒有則加上;
2)·“Show directories for:"下選擇Library files,然后檢查有沒有包含ddk的庫文件目錄(我的是C:WINDDK°0libwxpi386),如果沒有則加上;
注意:安裝DDK時一定要把例子安裝(建議你安裝全部的模塊),否則編譯vdwlibs.dsw時會報如下的錯:
vdw_wdm.lib - 1 error(s), 0 warning(s)
然后打開引起錯誤的文件,發(fā)現(xiàn):
#error The file is from the DDK at srcwdmhidinc. Install DDK HID samples to install hidport.h. Or update INCLUDE path for hidport.h in the DDK!
這表明安裝WinXP_DDK的時候沒有安裝實例。
4·編譯適合本機使用的庫文件
(1).啟動VC6.0。開始-->所有程序-->Compuware DriveStudio-->Develop-->DDK Building Settings,確保“DDK Root Directory”下方的內容是ddk的安裝目錄(比如我的是C:WINDDK°0),然后點擊下方的"Luanch Program"正式啟動vc6的開發(fā)環(huán)境。
(2).進入菜單File-->Open Workspace(打開位于DriverStudio3.2安裝目錄的DriverWorksSourcevdwlibs.dsw)-->進入菜單Build-->batch Build,點擊“Select x86"按鈕只選中全部的32位庫(我的電腦是32位的。注意:對于32位的電腦一定不要選中64位的庫,否則后面編譯會出錯)-->點擊按鈕"Rebuild AlL”開始編譯。
注:如果出現(xiàn)無法打開文件這類的錯誤,一般都是DDK Build Settings指向不對,或安裝順序有誤,或者你在32位機器上選中了64位庫。
5·編譯一個DriverStudio自帶的實例
(1)·啟動vc6,點擊菜單File-->Open Workspace,打開項目文件C:Program FilesCompuwareDriverStudioDriverWorksExampleswdmhellowdmHelloWdm.dsw,然后編譯,如果沒有報錯,那說明安裝和配置成功。但請你別高興的太早,開發(fā)環(huán)境安裝配置成功只是萬里長城的第一步,剩下的你就是要理解驅動模塊的架構和具體的代碼編寫了。
6·使用Driver wizard生成驅動程序框架
(1).在VC6.0的界面下,點擊菜單DriverStudio-->Driver wizard,此后系統(tǒng)會一步一步引導你完成設置,最后自動生產的驅動程序框架。
(2).設置好后將生成驅動文件,然后用VC6.0進行編譯:進行Build菜單,Rebuild AlL將生成.sys文件,說明驅動模塊編譯成功!
注:如果出現(xiàn)無法打開ntstrsafe.lib的錯誤,說明系統(tǒng)缺少這個庫文件,參照上面的方法補上這個庫文件,或者進入菜單Project-->Settings,鼠標點擊左邊方框里的最上面一行,然后右邊"Project Option"下的ntstrsafe.lib并刪除它。





