• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大龍的博客

            常用鏈接

            統(tǒng)計(jì)

            最新評(píng)論

            vc 6.0中開(kāi)發(fā)驅(qū)動(dòng)設(shè)備程序配置方法

            剛開(kāi)始利用ddk開(kāi)發(fā)驅(qū)動(dòng)程序的時(shí)候采用的是ultraedit編輯工具,然后編譯安裝驅(qū)動(dòng)程序.
            參考
            www.USBSOLUTION.COM,現(xiàn)在介紹在vc中開(kāi)發(fā)驅(qū)動(dòng)程序的配置方法.
            一. 準(zhǔn)備工作
            1.首先創(chuàng)建一個(gè)你的驅(qū)動(dòng)工程文件目錄。這個(gè)目錄下用來(lái)放置你的各個(gè)驅(qū)動(dòng)工程文件夾。(比如我在D盤(pán)創(chuàng)建了一個(gè)MyDrivers文件夾作為我的驅(qū)動(dòng)工程文件目錄)

            2.然后添加兩個(gè)用戶(hù)環(huán)境變量,一個(gè)是DDKROOT,他的值應(yīng)該是你所安裝DDK的根目錄。(比如在安裝DDK時(shí)安裝到了d:\WINDDK\2600,那么 DDKROOT的值應(yīng)該為d:\WINDDK\2600),另外一個(gè)變量是WORKPATH,這個(gè)變量的值就應(yīng)該是你第一步所創(chuàng)建的驅(qū)動(dòng)工程目錄的路徑。(若按本文,WORKPATH的值應(yīng)該是D:\MyDrivers ),這兩個(gè)變量會(huì)在我們接下來(lái)的工程配置中要用到,當(dāng)然既然是變量,他們的名稱(chēng)是隨你的喜歡了。

            3.最后在D:\MyDrivers下創(chuàng)建一個(gè)名稱(chēng)為DIRS的無(wú)擴(kuò)展名的文件。用記事本打開(kāi)它,寫(xiě)上 DIRS=Driver1。Driver1是你的驅(qū)動(dòng)文件所在的文件夾名.

            4.寫(xiě)一個(gè)MakeDriver.bat批處理文件.如下.(直接copy,不用修改)

            @echo off

            if "%1"=="" goto usage1
            if "%3"=="" goto usage2
            if not exist %1\bin\setenv.bat goto usage3


            call %1\BIN\setenv %1 %4

            %2
            cd %3
            build -b -w %5 %6 %7 %8
            goto ok

            :usage1
            echo Error: the first parameter is NULL!
            goto exit

            :usage2
            echo Error: the third parameter is NULL!
            goto exit

            :usage3
            echo Error: %1\bin\setenv.bat not exist!
            goto exit

            :ok
            echo MakeDriver %1 %2 %3 %4
            :exit

            二.建立一個(gè)Makefile工程
            下面我將要建立一個(gè)Driver1的工程。他的路徑將是D:\MyDrivers\Driver1

            1.打開(kāi)vc6.0,建立一個(gè)Makefile的新工程,輸入工程名(比如:Driver1)及路徑(我們要選擇你所創(chuàng)建的驅(qū)動(dòng)工程文件目錄D:\MyDrivers)。
            2.在Debug配置對(duì)話(huà)框中輸入如下:
            Build Command Line: MakeDriver %DDKROOT% D: %WORKPATH% CHECKED
            注意:D: %WORKPATH% CHECKED ,如果你的驅(qū)動(dòng)工程文件的目錄為E:\myDrivers
            則應(yīng)該修改為
            Build Command Line: MakeDriver %DDKROOT% E: %WORKPATH% CHECKED
            這個(gè)地方曾經(jīng)出錯(cuò),調(diào)試了半天,haha
            Rebuild all optines: -nmake/a
            Output file name: 改為sys擴(kuò)展文件( 比如: Driver1.sys )
            3.在Release配置對(duì)話(huà)框中輸入如下:
            Build Command Line: MakeDriver %DDKROOT% D: %WORKPATH% FREE
            Rebuild all optines: -nmake/a
            Output file name: 改為sys擴(kuò)展文件( 比如: Driver1.sys )
            4.工程配置結(jié)束,選擇Finish按鈕

            這時(shí)我們可以看到我們的驅(qū)動(dòng)工程文件目錄中已經(jīng)有了一個(gè)Driver1的工程文件夾,我們的驅(qū)動(dòng)程序就放在這個(gè)文件夾下面。

            三.還需要兩個(gè)文件
            還有兩個(gè)文件是必須的 makefile和sources,將他們拷貝到工程文件夾,也就是D:\MyDrivers\Driver1中,但sources文件一般需要我們改寫(xiě),makefile直接從ddk目錄中拷貝來(lái)一個(gè)放在工程文件夾下就行了。
            在sources文件中一般需要改寫(xiě)的部分如下:
            TARGETNAME=DRIVER1        

            INCLUDES=$(DDKROOT)\inc; \
            $(DDKROOT)\inc\DDK

            TARGETLIBS=$(DDK_LIB_PATH)\usbd.lib \
            $(DDK_LIB_PATH)\ntoskrnl.lib

            SOURCES = driver1.cpp

            TARGETNAME 的值是你驅(qū)動(dòng)程序的名字,比如我的會(huì)輸出DRIVER1.SYS
            INCLUDES 將所有你所用到的內(nèi)核函數(shù),他們所在的頭文件的路徑添加進(jìn)來(lái)。
            TARGETLIBS 將所有你所用到的內(nèi)核函數(shù),他們所在的庫(kù)文件的路徑添加進(jìn)來(lái)。
            SOURCES 就是你工程文件夾需要編譯的所有文件名,包括.CPP,.C,.RC文件
            好了,基本上可以編寫(xiě)驅(qū)動(dòng)程序了.
            然后你就可以編寫(xiě)windows程序一樣,寫(xiě)驅(qū)動(dòng)程序.
            最后我上傳一個(gè)測(cè)試?yán)?如果你的文件夾下有*.sys文件.恭喜你,OK!

            posted on 2008-01-17 17:22 大龍 閱讀(930) 評(píng)論(1)  編輯 收藏 引用

            評(píng)論

            # re: vc 6.0中開(kāi)發(fā)驅(qū)動(dòng)設(shè)備程序配置方法 2010-09-01 10:20 gpp

            這個(gè)方式配完了,什么結(jié)果也沒(méi)有啊,批處理文件運(yùn)行結(jié)果始終出錯(cuò),  回復(fù)  更多評(píng)論   

            四虎影视久久久免费观看| 久久这里只有精品久久| 88久久精品无码一区二区毛片| 中文精品99久久国产| 久久精品中文字幕第23页| 国产精自产拍久久久久久蜜| 国产精品青草久久久久福利99 | 久久99精品九九九久久婷婷| 久久精品国产半推半就| 久久99国产精品久久久| 亚洲欧美日韩精品久久| 久久久久香蕉视频| 99久久香蕉国产线看观香| 精品多毛少妇人妻AV免费久久| 精品国产乱码久久久久软件| 久久久久久综合网天天| 精品久久久久久久无码| 91精品国产91久久久久久蜜臀| 国产69精品久久久久99| 久久伊人精品青青草原日本| 久久人人爽人人爽AV片| 一本一道久久综合狠狠老| 国产午夜精品理论片久久影视 | 久久国产精品国产自线拍免费 | 久久久久亚洲AV无码专区网站| 久久夜色撩人精品国产小说| 亚洲AV无码久久寂寞少妇| 久久99毛片免费观看不卡| 国产毛片久久久久久国产毛片| 久久久这里只有精品加勒比| 久久久女人与动物群交毛片 | 亚洲天堂久久久| 999久久久免费精品国产| 热综合一本伊人久久精品| 久久一日本道色综合久久| 国产精品无码久久四虎| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产—久久香蕉国产线看观看| 少妇高潮惨叫久久久久久| 久久99国产精品成人欧美| 久久天天躁狠狠躁夜夜网站|