现在要让Visual Studio 2008 能够编译驱动程序,步骤如下:
(1) 打开VS2008,单击工具——>选项;在选项的列表栏选择项目和解决方案——>C++目录;在左侧的显示以下内容的项目中先选择包含文件,并在下面新建D:/WinDDK/6001.18002/inc/api和D:/WinDDK/6001.18002/inc/ddk两个路径(注意:D:/请替换成你WDK的安装目录);然后再在显示以下内容的项目中选择库文件,在下面添加D:/WinDDK/6001.18002/lib/wxp/i386(注意:D:/请替换成你WDK的安装目录)。
(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