您的位置:首页 > 其它

VS2008 PRO 、WDK 和DDKWizard搭建驱动开发环境

2011-05-07 21:28 344 查看
标题:VS2008 PRO 、WDK 和DDKWizard搭建XP驱动开发环境

一下引用了[b]作者:eping的文章内容并根据[b][b]我的环境做了修改[b][b]。[/b][/b][/b][/b][/b]

说明:pediy 有篇VS2008、DDK XP和DDKWizard搭建驱动开发环境的文章。作者为bleyes ,本人在搭建vista驱动开发环境时遇到了些问题..故对其再做一些总结....希望后来的读者遇到有跟我同样的问题时能少走弯路.......在此向前作者表示感谢!
一、安装VS2008(我用的是专业版+SP1,速成版本就免了)
二、安装Visual Assist (这不是必需的,我后来装了,似乎启动变慢不少)但它确是我们开发时不可多得的好工具
三、安装WDK
下载WDK及安装细节省略 NEXT就行,如果路径不是默认安装C盘,需要修改DDKWizard 配置文件。
四、安装DDKWizard
下载地址:http://ddkwizard.assarbad.net/
需要下载的文件有
1、ddkwizard_setup.exe
2、ddkbuild_bat.zip
3、ddkbuild_cmd.zip
安装第一个文件跟安装普通程序一样只需要按默认设置即可
2、3两个文件只需要解压copy到我们的wdk所有的根目录即可
如图:



接下来的我们便要设置环境变量了
需要设置的地方有两个
1、path :系统变量
需将G:/WinDDK添加到Path变量中
否则编译时会出现找不到命令的错误
新建系统变量
变量名:WLHBASE ,图中我加了两个,只需第一个即可。
变量值为:G:/WinDDK/7600.16385.0 修改为你安装的wdk路径
如下图



W7:


五、打开VS2008Tools(工具)——>Options(选项)——>Projects and Solutions(项目和解决方案)中的VC++ Directories (vc++目录)增加WDK的根目录如图:到目此所有的设置工作都已完成。自定义安装DDK目录的修改DDKW文件内容 替换c:/WINDDK/ddkbuild.cmd为你DDK安装路径,另替换系统对应支持DDK目录,我的安装了最新的WINDOWS7的DDK,替换 六 中第二图所示。

如下图







W7:

六、编写简单的驱动程序并测试我们的驱动开发环境1、新建一个project选择DDK Project 中的 Empty driver如图接下来会跳了一个DDKWizard向导的一个对话框如图

W7:

替换默认路径c:/WINDDK/ddkbuild.cmd为自定义G:/WINDDK/ddkbuild.cmd



替换默认路径c:/WINDDK/7600.16385.0 -》g:/WINDDK/7600.16385.0



这里可以保持默认设置 我这里修改了ddkw的默认设置G:/Program Files/DDKWizard/Wizards/Driver/HTML/1033/default.htm的内容

Which <u>D</u>DK(s)/WDK(s) do you want to use:</label><br />

<select size="4" id="DDK_CHOICE_LISTBOX" multiple="multiple" style="width:70%;">

<option value="3" >Windows 7/2008 Server R2 WDK</option>

<option value="2">Windows Vista/2008 Server WDK</option>

<option value="1">Windows 2003 DDK</option>

<option value="0" selected="selected">Windows XP DDK</option>

</select>

就是<option value="0" selected="selected">Windows XP DDK</option>

其他配置(转):对于原版的那个,另我不爽的有以下几点:

1,默认cpp,虽然可以改,但是还要点一下。
2,默认选中Create PREfast configuration,不爽。
3,默认选中两个ddk,不爽。
4,代码太乱了。
5,东西太杂了。

开始搞。

1,使其默认不选中" Stricter type checking (.cpp)"
打开DDKWizard目录下的DDKWizard.ini文件,做如下修改:
checkbox.STRICTERCPP的值为false。

2,不选中“Create PREfast configuration”
打开DDKWizard.ini
做如下修改:
checkbox.PREFASTCONFIG = false
checkbox.PREFASTCONFIG_ONLYCHECKED = false

3,使其只选中一个ddk
用记事本打开Wizards/Driver/HTML/1033/Default.htm
搜索一下“longhorn”,然后做如下修改:
<option value="0">Windows 2000 DDK</option>
<option value="1">Windows XP DDK</option>
<option value="2">Windows 2003 DDK</option>
<option value="3" selected="selected">Longhorn/Vista WDK</option>

4,5 修改模板
默认模板在Wizards/Driver/Templates/1033下,形式比较简单,自行参考原版进行修改即可。
需要添加删除文件修改Templates.inf中的相应文件即可,很是方便。

这样搞完以后,就可以一键生成自己熟悉的驱动模板,很爽。

Finish 后就可以开始写我们的驱动程序了
这里为了演示..我们什么也不做只打印输出"HelloEping"
简单驱动程序代码如下
注意保存为*.c格式 我这里保存为test.c

复制代码

#include<ntddk.h>
VOID DriverUnload(PDRIVER_OBJECT driver)
{
DbgPrint("HelloEping/r/n");
}
NTSTATUS DriverEntry(PDRIVER_OBJECT driver,PUNICODE_STRING reg_path)
{
DbgPrint("Hello,Eping!");
driver->DriverUnload=DriverUnload;
return STATUS_SUCCESS;
}

注意:sources文件中TARGETTYPE= 默认生成的代码
需要改为TARGETTYPE=DRIVER SOURCES=默认也为空 我把它改成SOURCES=test.c即可成功编译出 否则编译成功后你会发现找不到驱动文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: