1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Windows驱动开发环境搭建:VS+WDK8.1

Windows驱动开发环境搭建:VS+WDK8.1

时间:2022-10-08 08:00:32

相关推荐

Windows驱动开发环境搭建:VS+WDK8.1

你的Windows驱动开发环境之所以搭建不成功,是因为你没有看这篇博客

1.安装包准备

Visio Studio:/s/1P77yeSKuE7mWllcpVUKtrQ提取码:sbavWDK8.1:/en-us/download/details.aspx?id=42273VMware Workstation:/s/1LNhuddA_tNtFsicOiMhW0Q提取码:hktsWindows 7 x64系统镜像:/s/17uMSeqLM6VrLHPdCuwfiIw 提取码:v818驱动开发测试的工具集,包括DriverMonitor,DebugView,WinObj等:/s/1n1RCBRiancAIM2c4myzRCQ 提取码:j1j3

2.安装顺序

2.1. 安装vs和WDK8.1

先安装vs,再安装WDK8.1,安装完成后,vs界面如下:

2.2.VMwareWorkstation

安装VMwareWorkstation。安装完成后,新建虚拟机,按照下述步骤,然后点击“开启此虚拟机”,等待安装完成即可。

2.3.安装Vmware Tool

安装完成以后,在VMwareWorkstation软件界面菜单栏点击“虚拟机”,选择“安装Vmware Tool”,按照提示完成安装。安装Vmware Tool方便我们直接从本地宿主机上直接复制文件到虚拟机中。

接下来可以把DriverMonitorDebugView两个文件夹直接复制到虚拟机中。

这里说一下为什么需要虚拟机。我们要测试自己开发出来的驱动程序,其实在本机上也是可以的,但是因为驱动程序是和内核打交道,用本机不太放心,可能一些尝试性的操作会损坏本机系统,比如导致蓝屏等,影响本机开发,所以需要另一台机器。另一台机器可以是一台实实在在的电脑,但没有必要,直接用虚拟机当测试机即可。

2.4.开启Test Mode

虚拟机里以管理员模式打开cmd,输入bcdedit /set testsigning on,回车,重启后,测试模式开启。在桌面右下角有标识测试模式的水印。

3.测试

3.1.简单的驱动代码

开启VS,新建一个Empty WDM Driver,项目名我命名为“TestDriver”。工程建好后默认生成两个项目,TestDriver和TestDriver Package,移除掉TestDriver Package。在TestDriver下添加一个test.c的文件,加入下述代码:

#include <wdm.h> NTSTATUS DriverUnload(PDRIVER_OBJECT driver){UNREFERENCED_PARAMETER(driver);DbgPrint("Unload driver");return STATUS_SUCCESS;}NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING regpath){UNREFERENCED_PARAMETER(regpath);driver->DriverUnload = DriverUnload;DbgPrint("Hello world");return STATUS_SUCCESS;}

这是一个最简单的驱动程序,仅包含DriverEntry驱动入口程序和一个卸载例程DriverUnload,两个函数里都用DbgPrint函数打印了两行log,这两行log可以在虚拟机里的DbgView里看到。

编译之前,点击“配置管理器”,活动解决方案平台选择x64,因为虚拟机里的win7系统是64位的,所以这里我们也要选择x64。

3.2.属性里设置签名和证书

在项目属性里,按照下图选择签名方式Test Sign,在Test Certificate里选择“Create Test Certificate”:

签名这个过程是必须的,没有签名,驱动文件在虚拟机上安装不了,这是微软的要求。

3.3.编译工程

接下来编译工程,编译成功后在工程文件夹x64文件夹下的Win7Debug下会生成如下文件:

第一个文件是证书,第二个inf文件是安装信息,sys文件是驱动安装文件。

3.4.拷贝文件至虚拟机

将整个x64文件夹下的Win7Debug文件夹都拷贝到虚拟机里。

3.5.安装证书

在虚拟机中打开Win7Debug文件夹,右键单击TestDriver.cer,弹出的菜单中选择安装证书。安装完成后回弹出对话框,提示证书安装完按成。

3.6.管理员身份打开DbgView

在虚拟机中,以管理员身份打开Dbgview,在Capture菜单里勾选Capture Kernel, Enable Verbose Kernel Output, Pass-through,Capture Events:

3.7.管理员身份打开DriverMonitor,安装卸载驱动

管理员身份打开DriverMonitor,选择TestDriver.sys的路径,进行安装或者卸载驱动,可以在Dbgview里看到我们在代码里写的打印信息。

按照上述步骤,驱动开发环境就算搭建成功了,接下来就可以进行驱动开发了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。