VS2015 + WDK10

前几天刚刚用VS2008配置好了WDK7600,各种配置,又是修改项目包含文件目录和库目录,还要修改项目属性,折腾了半天debug下终于生成了*.sys文件(驱动文件),心理很是开心啊,经理看到了,说你这都是啥时候东西了,VS2015可以直接安装不用这么麻烦配置就可以开发驱动,瞬间被泼了冷水,好吧,接着整VS2015 + WDK10吧!

 

安装步骤

 

  打开 https://developer.microsoft.com/zh-cn/windows/hardware/windows-driver-kit 页面,下载 VS2015 和 WDK10。

2016-08-06_125011

2016-08-06_125353

  根据你的需要下载对应版本的 VS2015,推荐下载 Community 版本,因为这个版本免费且功能齐全。安装包比较大,大概 7G 左右。下载完成后运行安装程序,选择 Visual C++ 和 Windows 10 SDK

2016-08-06_125128

2016-08-06_125154

 

这里在安装VS2015的时候呢,最好是全部安装,安装的过程也是很慢的,耐心等待吧!(安装过程中关机的话,重启会继续安装的)

 

VS2015 安装完成后,开始安装下载好的 WDK10,WDK10 是一个在线安装程序,可以直接安装也可以下载到本地再进行安装,我选择的是直接下载到本地:

2016-08-06_125711

  等待下载完成后,到下载后的目录直接运行安装程序安装即可。

开发设置

  VS2015 和 WDK 都安装完毕后,运行 VS2015,新建项目时就可以看到有 Windows Driver 的选项了,我们新建一个 WDK 的 Kernel Mode Driver 的空项目,然后新建一个 DriverEntry.c,里面写一些测试代码:

2016-08-06_130027

2016-08-06_131650

  然后点击项目属性,修改如下几个选项:

  修改警告等级为 3:

2016-08-06_130436

  修改平台为 Windows7 Desktop:

2016-08-06_130512

  关闭 inf2cat(详见 http://blog.csdn.net/doublestarts/article/details/37922819):

2016-08-06_130547

  关闭为驱动添加数字签名

2016-08-06_130612

  然后编译驱动,我选择的是 x64 平台,如无问题,则会编译成功:

1>------ 已启动生成: 项目: TestDriver, 配置: Debug x64 ------
1>  Building 'TestDriver' with toolset 'WindowsKernelModeDriver10.0' and the 'Desktop' target platform.
1>  Stamping x64\Debug\TestDriver.inf [Version] section with DriverVer=08/06/2016,13.10.36.807
1>  DriverEntry.c
1>  TestDriver.vcxproj -> d:\documents\visual studio 2015\Projects\TestDriver\x64\Debug\TestDriver.sys
1>  TestDriver.vcxproj -> d:\documents\visual studio 2015\Projects\TestDriver\x64\Debug\TestDriver.pdb (Full PDB)
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

测试驱动

找一台 Win7x64 开启了 DbgView 调试信息输出(见:修改注册表解决 Win7 DbgView 不显示调试信息)的虚拟机,开机按 F8,选择“禁用驱动程序签名强制”的选项启动系统:

2016-08-06_131237

  打开 DbgView 和驱动加载工具 InstDrv,将我们写好的驱动复制到虚拟机中,加载我们的驱动,成功后会打印驱动的注册表路径信息:

2016-08-06_131805

这里测试驱动的时候呢,不要用本机来进行驱动,最好用虚拟机,在虚拟机里面随便折腾吧!

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值