VC6.0 +WDK 開發驅動的環境配置

在安裝完VC6和WDK之後,就開始進行環境的配置了,可結果是弄了半個上午,仍是搞不定。去網上找信息,關於WDK的,可能是使用VS2005或VS2008的,有的要藉助於DriverStudio之類的,按上面的方法來配置本身的工程看來不行。因而就參考了別人寫的VC6+DDK編譯驅動的文章,終於成了,不過有些地方仍是有點不同的。在這裏把不同的地方寫下來,以供你們參考。windows

         參考:http://blog.csdn.net/wzsy/archive/2009/04/07/4053632.aspxspa

(1)第一步:.net

           打開VC創建一個Win32 Application工程,而後選擇An empty Project。blog

(2)第二步:資源

            隨便找一個驅動程序,主要是.C,.h及rc資源文件,加入第一步創建的工程開發

(3)第三步:字符串

           設置VC編譯驅動的環境,這纔是重點。get

           打開VC的Tool->Options->Directories裏設置Include,Lib,及Exectuable File。這裏說明下爲何要設置這三個東西:Include目錄中,主要是供咱們開發使用的頭文件.h文件;Lib目錄,爲咱們驅動所要調用的一些連接庫文件;Exectuable File,這個很重要,它裏面包含了咱們編譯驅動所使用的Cl.exe及鏈接link.exe文件,VC正是經過這兩個文件來生成最後的驅動.sys文件(若是編譯出現cl.exe錯誤,說明是這裏的路徑設置的不正確,我先前在這裏走了彎路了,因此提醒下)。it

          設置Include路徑:io

           E:\WINDDK\6001.18002\INC

           E:\WINDDK\6001.18002\INC\CRT

          E:\WINDDK\6001.18002\INC\DDK

          E:\WINDDK\6001.18002\INC\API   (這裏可能有些不須要,也可能少了,根據本身的狀況在INC目錄下繼續添加就OK了)

         

           設置LIB路徑:

            E:\WINDDK\6001.18002\LIB

            E:\WINDDK\6001.18002\LIB\CRT\I386

            E:\WINDDK\6001.18002\LIB\WNET\I386

            設置Executable Files:

            E:\WINDDK\6001.18002\bin\x86\x86

           (這裏要注意,必定要在bin\x86目錄下,確切的找到Cl.exe文件,而後添加它所在的目錄,DDK與WDK這個文件所在的路徑並非同樣的,上面的是我所安裝的WDK中cl.exe所在的路徑,這裏要根據不一樣狀況選擇正確的路徑)

(4)第四步:

           這裏要設置工程的屬性:

            打開VC->Project菜單,找到C/C++選項卡,在Preprocesser definitions裏輸入以下字符串:

           Release下輸入:
           _X86_=1,i386=1,STD_CALL,WIN32=100,_WIN32_WINNT=0x0501,WINVER=0x0501,NDEBUG
           Debug下輸入:

          _X86_=1,i386=1,STD_CALL,WIN32=100,_WIN32_WINNT=0x0501,WINVER=0x0501,_DEBUG

          在Code Generation裏的Calling convention用_STDCALL

         Debug版有個特殊編譯選項/GZ (注意是大寫的,小寫的不要刪!)刪掉,不然有連接錯誤,chkesp連接 不上什麼的。

(5)第五步:

         設置link選項卡,將輸出文件名改成sys擴展名,

          在General的Objcet/Library modules,填寫驅動調用的幾個lib:

           ntoskrnl.lib hal.lib usbd.lib wmilib.lib。


          而後進入Output在Entry-point symbol:填DriverEntry
          下面就是往Project Options手動增長一些連接選項,複製以下進去:
          /machine:IX86 /driver /subsystem:native /SECTION:INIT,d /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221
          刪除以下選項:
         /subsystem:windows
         /machine表明目標機器類型,/driver表明驅動,/subsystem:native 也是表明驅動。

(這裏,我在配置的時候,只是將/subsystem:windows改成:/subsystem:native沒有再進行其它設置,也可成功生成驅動文件,至於有沒有問題,暫時不知道)

相關文章
相關標籤/搜索