• <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)計

            最新評論

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

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

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

            3.最后在D:\MyDrivers下創(chuàng)建一個名稱為DIRS的無擴展名的文件。用記事本打開它,寫上 DIRS=Driver1。Driver1是你的驅(qū)動文件所在的文件夾名.

            4.寫一個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

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

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

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

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

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

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

            SOURCES = driver1.cpp

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

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

            評論

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

            這個方式配完了,什么結(jié)果也沒有啊,批處理文件運行結(jié)果始終出錯,  回復(fù)  更多評論   


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久九九久精品国产免费直播| 久久久久久久综合狠狠综合| 久久精品无码一区二区无码| 国产91色综合久久免费| 久久99国内精品自在现线| 久久99国产精品一区二区| 久久国产福利免费| 久久99精品国产自在现线小黄鸭| 色综合色天天久久婷婷基地| 久久久久99这里有精品10| 久久国产乱子精品免费女| 国产精品一区二区久久精品涩爱 | 精品多毛少妇人妻AV免费久久| 亚洲国产精品久久久久婷婷软件 | 久久久久亚洲精品男人的天堂| 久久丫忘忧草产品| 97精品伊人久久久大香线蕉| 国产精品久久久久久久人人看 | 精品无码久久久久久久动漫| 亚洲精品综合久久| 天天久久狠狠色综合| 久久中文骚妇内射| 2020久久精品亚洲热综合一本| 久久精品无码一区二区三区| 亚洲色大成网站www久久九 | 久久久久av无码免费网| 国产激情久久久久影院小草| 久久国产热精品波多野结衣AV| 伊人色综合久久天天网| 国产精品va久久久久久久| 久久A级毛片免费观看| 欧美日韩精品久久久久| 性做久久久久久久久久久| 久久免费视频网站| 久久青草国产精品一区| 精品一区二区久久久久久久网站| 97精品依人久久久大香线蕉97| 久久精品综合网| 久久人人爽人人爽人人片AV麻烦| 狠狠色丁香婷婷久久综合五月| 久久久这里只有精品加勒比|