【WDK开发】一、配置VS2008的驱动程序开发环境

要编写Windows平台上的驱动程序,首先需要一份WDK(Windows Driver Kit)的SDK,WDK目前支持到Windows 7,打开https://connect.microsoft.com/default.aspx这个网站,在主页中单击站点目录,在该页左侧的*类别*中选择开发人员工具,并在右侧找到Windows Driver Kit(WDK) and Windows Driver FrameWork(WDF)。单击立即申请,在填写完注册信息后就可以下载WDK了。默认安装到C:\WinDDK目录下。


要让Visual Studio 2008能够编译驱动程序,步骤如下:

(1) 打开VS2008,依次选择菜单:
[list]
[*]1。 单击[b]工具[/b](tools)——>[b]选项[/b](options);
[*]在弹出的选项的列表栏选择“[b]项目和解决方案[/b]-Project and solutuons”——>VC++目录(VC++ Directories);
[/list]
在左侧的显示以下内容的项目中先选择:
[list]
[*]"[b]包含文件[/b]-include files",并在下面新建C:\WinDDK\7600.16385\inc\api和C:\WinDDK\7600.16385\inc\ddk两个路径,
[*]然后选择"[b]库文件[/b]-library files",在下面添加C:\WinDDK\7600.16385\lib\wxp\i386。
[/list]


[img]http://dl.iteye.com/upload/attachment/225137/4f8e7b27-04d6-32c7-803f-919d48bf8f59.png[/img]


(2) 接下来是每次创建项目都需要做的。先创建一个项目,在项目生成后点击项目——>(项目名)属性,点击配置管理器,并在配置管理器中新建一个名为Free的配置(新建时从Release复制配置);之后在属性页的右侧选择配置属性——>C/C++ ——>高级,调用约定改为__stdcall(/Gz);再在属性页的右侧选择配置属性——>链接器,在常规中把输出文件改为$(OutDir)\$(ProjectName).sys,在清单文件中把启用用户账户控制(UAC)改为否(这就是VS2008中新增加的特性),在优化中将链接时间代码生成改为默认值,在高级中将随机地址改为默认值(这也是VS2008中新增加的特性),最后在命令行中输入:

ntoskrnl.lib
/base:"0x10000"
/entry:"DriverEntry"
/subsystem:native
/nologo
/stack:0x400000,0x1000
/incremental:no
/nodefaultlib

经过以上配置以后就可以在Visual Studio 2008 中舒适的编译驱动程序了。

这样的动作如果每个项目都来一次未免太繁琐,网络上有提供现成的Wizard.推荐使用DDKWziard,你可以用http://ddkwizard.assarbad.net/下载,安装画面之后,会弹出配置窗口,这里有个小bug,选择了WDK的路径之后,next 选项还是灰色,你只需要把路径稍微修改一下(比如在路径后面敲个空格,再删除掉空格),next 选项就点击了。

进入Visual studio后,选tools->VisualDDK Settings,为驱动程序配置调试的选项,这时候可能需要Windows的符号文件。可以从这里下载:
http://www.microsoft.com/whdc/DevTools/Debugging/symbolpkg.mspx

注意的用DDKWizard是编程驱动程序的项目路径不要出现空格,否则会出现“fatal error U1087: cannot have : and :: dependents for same target”的错误。

你可能感兴趣的:(内核与驱动)