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





