工欲善其事,必先利其器。
很多人的习惯是只用IDE作为写代码的工具,因为这样可以有代码提示功能,然后利用DKK的工具进行编译,作为新手很是不习惯,所以各种找资料,这是参考http://www.cnblogs.com/lzjsky/archive/2010/12/09/1900931.html我是按照以下步骤操作的中间有点问题但是成功解决,下面会提及。
一、安装VS2008
二、安装Visual Assist (不必须)
三、安装WDK (安装的是7600,小版本号有不同,但是没关系)
四、安装DDKWizard
需要下载的文件有
1.ddkwizard_setup.exe
2.ddkbuild_bat.zip
3.ddkbuild_cmd.zip
将2.3文件解压到WDK根目录,如图:
注意:这个cmd文件中WDK的版本是7600.16385.0,但我的是7600.16385.1,所以需要编辑这个文件查找所有7600.16385.0,替换成7600.16385.1。并保证路径正确。
以上是准备工作。
五、开始配置
1.新建系统变量,这个步骤和在工程中添加包含目录是一样的,由于某个路径每次都会用到,所以可以将其添加到系统环境变量中,这样IDE会自己去寻找。
由于我是在win7_32下编译,所以我的环境变量设置如下:
变量名:W7BASE
变量值为:C:\WinDDK\7600.16385.1 修改为你安装的wdk路径,然后确定
如下图
2.打开VS2008
工具》》选项》》项目和解决方案》VC++目录,增加WDK的根目录
到目此所有的设置工作都已完成。
六、编写简单的驱动程序并测试我们的驱动开发环境
1.打开vs2008新建一个项目
选择DDK Project 中的Empty driver
如下:
2. 接下来会跳了一个DDKWizard向导的一个对话框
默认的就是Windows7,所以不需要选择直接finash就可以了。
3.为了测试是否可用,提供以下测试代码打印出HelloDriver;
先添加一个新项保存为*.c格式,我这里保存为helloDriver.c
#include<ntddk.h>
VOID DriverUnload(PDRIVER_OBJECT driver)
{
KdPrint(("GoodBye,Driver\n"));
}
NTSTATUS DriverEntry(PDRIVER_OBJECT driver,PUNICODE_STRING reg_path)
{
KdPrint(("Hello,Driver!\n"));
driver->DriverUnload=DriverUnload;
return STATUS_SUCCESS;
}
双击sources文件注意:sources文件中TARGETTYPE= 默认生成的代码需要改为TARGETTYPE=DRIVER
SOURCES=默认也为空 我把它改成SOURCES=helloDriver.c即可成功编译出 否则编译成功后你会发现找不到驱动文件
然后按下F7在D:\vs2008\HelloDriver\HelloDriver\objchk_win7_x86\i386下就可以找到驱动文件了。
4.以下就不是配置过程了,是测试驱动是否可用,打印出上面例子中的字符串
下载InstDrv.exe加载驱动,Dbgview.exe来显示字符串。
首先打开Dbgview,选择这几项。
打开InstDrv.exe,加载驱动。
依次选择安装,启动,停止,卸载。如下:
全部完成。