2--编译64位驱动,设置驱动测试签名

  1. 平台和配置属性

平台选择x64,配置属性选择Win7 Debug,这是因为我会在虚拟机上运行我们的驱动,而我的虚拟机是Win7 64位。在测试我们的驱动程序时我们最好使用虚拟机进行操作,因为驱动程序很容易照成蓝屏。64位的OS只能加载64位的驱动程序,32位的OS只能加载32位的驱动程序。
在这里插入图片描述2. 设置测试签名

64位的Windows系统在加载驱动时要求驱动必须被签名,我们可以在工程属性中设置一个测试签名。
在这里插入图片描述3. 解决编译错误

直接编译后我们会得到如下的编译错误:

main.c(18): error C2220: 警告被视为错误 - 没有生成“object”文件

main.c(18): warning C4100: “pDevObject”: 未引用的形参

main.c(114): warning C4100: “pRegPath”: 未引用的形参

驱动程序对源代码的要求很高,针对这种未引用的形参错误,我们可以使用一个宏解决,在以上两个未引用形参的函数中分别加上如下代码:

UNREFERENCED_PARAMETER(pDevObject);

UNREFERENCED_PARAMETER(pRegPath);
4. 成功编译

成功编译后就可以在工程目录\x64\Win7Debug文件夹下找到如下文件:
*.sys
*.cer
安装NT驱动程序

安装NT驱动程序需要使用DriverMonitor工具,读者可自行在互联网上下载。代码中我们使用KdPrint来输出调试信息,DbgView工具可以查看这些调试信息,这个工具也需要读者自行在互联网上下载。或者也可以在CSDN上下载猛戳我。
1. 开启测试签名模式

在虚拟机的C:\windows\system32\目录下打开管理员权限的命令行工具输入如下命令:

bcdedit.exe /set TESTSIGNING ON

重启虚拟机后测试签名模式就开启了,关闭测试签名模式的命令是:

bcdedit.exe /set TESTSIGNING OFF

将chapter01-1.sys和chapter01-1.cer拷贝到虚拟机上,安装测试证书chapter01-1.cer。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值