前几天刚刚用VS2008配置好了WDK7600,各种配置,又是修改项目包含文件目录和库目录,还要修改项目属性,折腾了半天debug下终于生成了*.sys文件(驱动文件),心理很是开心啊,经理看到了,说你这都是啥时候东西了,VS2015可以直接安装不用这么麻烦配置就可以开发驱动,瞬间被泼了冷水,好吧,接着整VS2015 + WDK10吧!
安装步骤
打开 https://developer.microsoft.com/zh-cn/windows/hardware/windows-driver-kit 页面,下载 VS2015 和 WDK10。
根据你的需要下载对应版本的 VS2015,推荐下载 Community 版本,因为这个版本免费且功能齐全。安装包比较大,大概 7G 左右。下载完成后运行安装程序,选择 Visual C++
和 Windows 10 SDK
这里在安装VS2015的时候呢,最好是全部安装,安装的过程也是很慢的,耐心等待吧!(安装过程中关机的话,重启会继续安装的)
VS2015 安装完成后,开始安装下载好的 WDK10,WDK10 是一个在线安装程序,可以直接安装也可以下载到本地再进行安装,我选择的是直接下载到本地:
等待下载完成后,到下载后的目录直接运行安装程序安装即可。
开发设置
VS2015 和 WDK 都安装完毕后,运行 VS2015,新建项目时就可以看到有 Windows Driver
的选项了,我们新建一个 WDK 的 Kernel Mode Driver 的空项目,然后新建一个 DriverEntry.c,里面写一些测试代码:
然后点击项目属性,修改如下几个选项:
修改警告等级为 3:
修改平台为 Windows7 Desktop:
关闭 inf2cat(详见 http://blog.csdn.net/doublestarts/article/details/37922819):
关闭为驱动添加数字签名
然后编译驱动,我选择的是 x64 平台,如无问题,则会编译成功:
测试驱动
找一台 Win7x64 开启了 DbgView 调试信息输出(见:修改注册表解决 Win7 DbgView 不显示调试信息)的虚拟机,开机按 F8,选择“禁用驱动程序签名强制”的选项启动系统:
打开 DbgView 和驱动加载工具 InstDrv,将我们写好的驱动复制到虚拟机中,加载我们的驱动,成功后会打印驱动的注册表路径信息:
这里测试驱动的时候呢,不要用本机来进行驱动,最好用虚拟机,在虚拟机里面随便折腾吧!