编译驱动程序的常用方法有两种,一种是通过WDK/DDK的COMMAND环境进行编译,另外一种是通过Visual Studio系列软件实现界面编译。通过VisualStudio编译驱动程序需要对其进行相关配置,本文以VS2008和WDK7600为例,讲解了实现编译驱动程序的配置方法。
一、安装VS2008和WDK7600
安装路径为默认路径,即VS2008的安装路径为C:\ProgramFiles\Microsoft Visual Stuido 9.0,WDK7600的安装路径为C:\WinDDK。
二、下载ddkwizard、ddkbuild_bat和ddkbuild_cmd
其中ddkwizard的作用是产生驱动向导,通过该向导,使用VS2008就可以创建驱动程序文件;ddkbuild_bat和ddkbuild_cmd是驱动程序的编译环境。其中,ddkwizard对应的文件是ddkwizard_setup_v1.2.0a.exe,ddkbuild_bat对应的文件是ddkbuild_bat.zip,ddkbuild_cmd对应的文件是ddkbuild_cmd.zip。
这三个文件的下载地址是http://ddkwizard.asssarbad.net/
下载完成后,安装ddkwizard_setup_v1.2.0a.exe文件,并将ddkbuild_bat.zip和ddkbuild_cmd.zip解压缩后拷贝到WDK的安装根目录中,即C:\WinDDK中。
三、添加系统变量
在“我的电脑”右键菜单中选择“属性->高级->环境变量->系统变量->新建”中添加变量名,如图1所示。
新建的变量名为WXPBASE,变量值是WDK的目录,即C:\WinDDK\7600.16385.1。
四、在VS2008中为可执行文件添加目录
打开VS2008,在菜单栏中选择“工具(Tools)->选项(Options)”,如图2所示。之后选择“项目和解决方案(Projectsand Solutions)->VC++目录(VC++ Directories)”,在右侧的“显示以下内容的目录(Show directions for)”中选择“可执行文件(ExecutableFiles)”,接下来在下面的图标中选择“新行”添加WDK的根目录,即C:\WinDDK。
图2
五、在VS2008中为库文件添加目录
继续留在图2的对话框中,在右侧的“显示以下内容的目录(Showdirections for)”中选择“库文件(Library Files)”,并在下面的图标中选择“新行”添加WDK的库文件目录,即C:\WinDDK\7600.16385.1\lib\wxp\i386。
六、创建驱动程序
打开VS2008,新建项目,此时在“新建项目”对话框右侧的项目类型中就多了一个“DDK Project”选项,该选项即为之前安装的ddkwizard产生的向导,在右侧“模板”选项中选择“Driver”或者“Empty Driver”,接下来在DDK向导中选择使用的WDK/DDK的类型,需要注意的是不要选择“Create PREfast configuration”选项。
七、SOURCES文件的配置
如果在第六步中选择的是“Empty Driver”,则需要对驱动程序的SOURCES文件进行配置。在TARGETTYPE=之后加入DRIVER,表示驱动类型,之后添加SOURCE=XXX.cpp,其中XXX.cpp为添加到驱动程序中的文件;最后加入DDK的目录和头文件目录
DDKROOT=C:\WinDDK\7600.16385.1
INCLUDES=$(DDKROOT)\inc