在安裝完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裏輸入以下字符串:
_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沒有再進行其它設置,也可成功生成驅動文件,至於有沒有問題,暫時不知道)