一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

VS2008+WDK 文件過濾驅(qū)動(dòng)程序 開發(fā)環(huán)境配置

 hexp0409 2013-03-12

許多驅(qū)動(dòng)程序開發(fā)都將環(huán)境架設(shè)在VC上,可是偶的本本上好不容易安了個(gè)vs2008,舍不得刪啊,因此毅然選擇vs2008,拋棄vc。要開發(fā)驅(qū)動(dòng),DDK是少不了的,但是現(xiàn)在操作系統(tǒng)日新月異,老DDK是不能適應(yīng)國家下一個(gè)“五十年計(jì)劃”滴~~于是,我又一次毅然決然選擇WDK代替DDK,呵呵,還是跟著微軟大蝦們的足跡,往前看吧......

       

先弄明白windows驅(qū)動(dòng)的前因后果吧,這是選擇開發(fā)環(huán)境和開發(fā)過程的基礎(chǔ)~

1.首先,開發(fā)WINDOWS下的驅(qū)動(dòng)程序,需要一個(gè)專門的開發(fā)包,就像開發(fā)JAVA程序,需要一個(gè)JDK,開發(fā)WINDOWS應(yīng)用程序,需要SDK,現(xiàn)在開發(fā)WINDOWS下的驅(qū)動(dòng)程序,我們們需要一個(gè)DDK/WDK。

2.開發(fā)驅(qū)動(dòng)的工具包DDK(Driver Developer Kit)和WDK(Windows Driver Kit)的區(qū)別:

  1).95/98/ME下,驅(qū)動(dòng)模型為:Vxd,相關(guān)資料可以看《編程高手箴言》的前幾個(gè)章節(jié),里面有很詳細(xì)的介紹,雖然這個(gè)東西已經(jīng)過時(shí),但大概看看還是會(huì)增長(zhǎng)見識(shí)的。

  2).2000/XP/2003下,Windows采用WDM驅(qū)動(dòng)模型(Windows Driver Model),開發(fā)2000/XP/2003的驅(qū)動(dòng)開發(fā)包為:DDK。

  3).Vista及以后版本,采用了WDF驅(qū)動(dòng)模型(Windows Driver Foudation),對(duì)應(yīng)的開發(fā)包:WDK。

其實(shí)WDK可以看做是DDK的升級(jí)版本,現(xiàn)在一般的WDK是包含以前DDK相關(guān)的功能,現(xiàn)在XP下也可以用WDK開發(fā)驅(qū)動(dòng),WDK能編譯出2000-2008的各種驅(qū)動(dòng)。

3.Vxd驅(qū)動(dòng)文件擴(kuò)展名為:.vxd。

     WDM和WDF驅(qū)動(dòng)文件擴(kuò)展名為:.sys。

       下面將整個(gè)環(huán)境搭建過程描述如下:

*******************************************************************************************

一、安裝階段

1.         (虛擬機(jī)也可以不安裝) 安裝WinXP虛擬機(jī),VMware,系統(tǒng)安裝的是WinXP_Pro_SP2.iso。

        下載地址:http://58.251.57.206/down?cid=34B1A802316A542966F8D99F233970B8FC150C17&t=2&fmt=&usrinput=vmware workstation 7&dt=1002022&ps=0_0&rt=0kbs&plt=0

        安裝虛擬機(jī)可以用于調(diào)試,避免在真機(jī)上調(diào)試的時(shí)候,頻繁出現(xiàn)藍(lán)屏,重啟等現(xiàn)象。自己的環(huán)境,安全第一啊~~安裝好虛擬機(jī)后,還需要在虛擬機(jī)上安裝上XP系統(tǒng)。

2.          安裝Visual Studio 2008,安裝前請(qǐng)留出足夠大的空間,至少7G。

3.          安裝WDK。注意安裝時(shí)會(huì)選擇要安裝的內(nèi)容,此時(shí)不要安裝DSF。當(dāng)然啦,安全前得下載啊~~ 這個(gè)現(xiàn)在可以再微軟的官網(wǎng)上申請(qǐng)下載,給大家個(gè)網(wǎng)址吧https://connect.microsoft.com/default.aspx,這是connect的網(wǎng)址,你需要注冊(cè)一個(gè)liveID,然后在左側(cè)欄里找到“開發(fā)人員工具”,然后就能找到WDK了,申請(qǐng),下載,OK~

        傳說WDK支持Windows 7, Windows Vista, Windows XP, Windows Server 2008 R2, Windows Server 2008, and Windows Server 2003.等等版本系統(tǒng),不僅包含了原有DDK,還貌似包含了IFS的頭文件,哎喲,貌似很有用呢,能適應(yīng)長(zhǎng)期發(fā)展.....(關(guān)于WDK的介紹與安裝,請(qǐng)參考偶的后續(xù)博文~~)

4.        安裝srvinstw.exe,用于安裝生成的服務(wù)。

5、   安裝DDKWIZARD,安裝它主要是為了使你的vs支持驅(qū)動(dòng)程序開發(fā)。并將其中的ddkbuild.cmd,和ddkbuild.bat兩個(gè)文件放置到WDK的安裝目錄下,也就是C:\WinDDK下

*********************************************************************************************

二、配置階段

0、 我的電腦-》屬性-》高級(jí)-》環(huán)境變量》用戶變量中    Path 后添加 C:\WinDDK\DDKBUILD.bat;C:\WinDDK\DDKBUILD.cmd;C:\WinDDK

          然后再在系統(tǒng)變量中新建變量,根據(jù)不同的系統(tǒng),選擇下列中一個(gè):

         2000 DDK: W2KBASE

        XP DDK: WXPBASE

        2003 sp1 DDK: WNETBASE

        【注】變量名應(yīng)與你要使用的DDK版本相符,比如我要開發(fā)XP驅(qū)動(dòng),使用XPDDK,所以變量名為WXPBASE,其值為:C:\WinDDK\7600.16385.0

1、打開VS2008,在菜單上選擇"工具"->"選項(xiàng)"彈出"選項(xiàng)"窗口,選擇"項(xiàng)目和解決方案"->"VC++目錄","顯示以下內(nèi)容的目錄"

"可執(zhí)行文件"中添加

    "C:\WinDDK"

    "C:\WinDDK\7600.16385.0\bin\x86\x86"

    "C:\WinDDK\7600.16385.0\bin\x86"

    "C:\WinDDK\7600.16385.0\tools\pfd\bin\bin\x86"

"包含文件"中添加

    "C:\WinDDK\7600.16385.0\inc"

    "C:\WinDDK\7600.16385.0\inc\api"

    "C:\WinDDK\7600.16385.0\inc\crt"

    "C:\WinDDK\7600.16385.0\inc\ddk"

"引用文件"中添加

    "C:\WinDDK\7600.16385.0\lib\wxp\i386"

"庫文件"中添加

    "C:\WinDDK\7600.16385.0\lib"

    "C:\WinDDK\7600.16385.0\lib\wxp\i386"

"源文件"中添加

    "C:\WinDDK\7600.16385.0\src"

    以上添加完畢直接按"確定"關(guān)閉"選項(xiàng)"對(duì)話框

    如果編譯出現(xiàn)C2144錯(cuò)誤的時(shí)候,請(qǐng)把以上添加的文件向前移動(dòng)(就是點(diǎn)擊"選項(xiàng)"對(duì)話框中的向上的箭頭按鈕)

2、設(shè)置虛擬機(jī)的可調(diào)模式:

    1)打開boot文件的方式可以選用以下兩種:

         1.我的電腦→屬性→高級(jí)→“啟動(dòng)和故障恢復(fù)-->編輯。 
2.運(yùn)行→“msconfig”→boot.ini

         boot.ini的修改如下:

       在虛擬機(jī)中,編輯boot.ini文件,在末尾添加一行:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=115200

   

    2)保存后power off虛擬系統(tǒng)。在左邊欄中選擇Edit virtual machine settings-->add-->Serial Port-->Output to named pipe,此時(shí)出現(xiàn)三個(gè)文本框,依次填入:\\.\pipe\com_1”和“This end is the server.”,第3個(gè)修改為“The other end is an application.”

     3)保存。配置真實(shí)機(jī)。創(chuàng)建windbg.exe在桌面的快捷方式,屬性-->目標(biāo)-->"C:\WINDDK\...\windbg.exe“ -b -k com:port=\\.\pipe\com_1,baud=115200,pipe

    4)可以選擇配置真實(shí)機(jī)串口:我的電腦-->管理-->設(shè)備管理器-->端口com-->com1-->屬性-->端口設(shè)置-->每位秒數(shù)-->115200

     5) 啟動(dòng)windbg.exe, 在file-->symbol file path ,添加微軟官方符號(hào)表srv*c:\symbols*http://msdl.microsoft.com/download/symbols 以及你自己工程中生成sys文件的目錄(就是你要編譯的驅(qū)動(dòng)服務(wù)文件的目錄,需要事先生成要調(diào)試的驅(qū)動(dòng)服務(wù).sys文件,并將.sys文件拷貝到虛擬機(jī)中),我的是E:\projects\Tests\first\objchk_wxp_x86\i386 ,兩路徑用分號(hào)分隔。勾選reload

    6)啟動(dòng)虛擬機(jī),將sys文件提供的服務(wù)用srvinstw.exe安裝到虛擬機(jī)中。安裝中,選手動(dòng),NT驅(qū)動(dòng)不用填

    7)重啟虛擬機(jī),選擇調(diào)試模式,啟動(dòng)真實(shí)機(jī)桌面設(shè)置過參數(shù)的windbg快捷方式,此時(shí)如果出現(xiàn)

--------------------------
WinDbg:6.10.0003.233 X86 
---------------------------
Could not start kernel debugging using com:pipe,port=\\.\pipe\vpcdebug,resets=10 parameters, Win32 error 0n2

Could not start kernel debugging using com:pipe,port=\\.\pipe\com1,resets=10 parameters, Win32 error 0n2

系統(tǒng)找不到指定的文件。

說明虛擬機(jī)還沒有啟動(dòng)起來,只需要重啟windbg。在系統(tǒng)出現(xiàn)中斷時(shí),在windbg中輸入g。

    8)進(jìn)入到系統(tǒng)后,運(yùn)行-->cmd-->net start 服務(wù)名   就可以啟動(dòng)你的驅(qū)動(dòng)服務(wù)了。

****************************************************************************************************************************

新建項(xiàng)目:

1) VS2008-->新建項(xiàng)目-->DDK project-->Driver

2)F7,運(yùn)行,如果沒有生成sys,或者出現(xiàn)任何對(duì)話框,說明你配置出錯(cuò)啦~~ 有可能是在TOOL--->選項(xiàng)-->項(xiàng)目與解決方案-->VC++目錄-->可執(zhí)行文件 下,缺少了你放置DDKwizard的ddkbuild.cmd文件的目錄,請(qǐng)?zhí)钌稀;蛘呤悄愕沫h(huán)境變量沒設(shè)對(duì)....

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    大香蕉久草网一区二区三区 | 亚洲欧洲在线一区二区三区| 亚洲一区二区三区三州| 中文字幕日韩一区二区不卡| 中文字幕乱子论一区二区三区| 亚洲国产精品一区二区| 欧美又黑又粗大又硬又爽| 亚洲一区二区三区熟女少妇| 色小姐干香蕉在线综合网| 九九热这里只有精品哦| 国产精品美女午夜福利| 中文字幕免费观看亚洲视频| 丰满熟女少妇一区二区三区| 亚洲一区二区三区福利视频| 最近的中文字幕一区二区| 国产成人午夜在线视频| 毛片在线观看免费日韩| 91欧美亚洲精品在线观看| 欧美一区二区三区性视频| 欧美一区二区三区视频区| 日韩精品视频免费观看| 日韩精品视频一二三区| 欧美同性视频免费观看| 国产一区二区三区草莓av| 日韩精品综合免费视频| 成人午夜在线视频观看| 国产精品香蕉在线的人| 91国自产精品中文字幕亚洲| 国产精品不卡免费视频| 麻豆视传媒短视频免费观看 | 亚洲乱妇熟女爽的高潮片| 日本道播放一区二区三区| 丰满人妻一二区二区三区av| 国产亚洲精品久久久优势| 日韩人妻有码一区二区| 日韩国产亚洲欧美激情| 欧美大胆女人的大胆人体| 人人爽夜夜爽夜夜爽精品视频| 中文字幕91在线观看| 熟女体下毛荫荫黑森林自拍| 99久久精品一区二区国产|