windows驱动开发视频教程(2023最新版)_哔哩哔哩_bilibili
以前的 WDK 版本和其他下载 - Windows drivers | Microsoft Learn
确认本机操作系统版本
安装操作系统版本对应的Visual Studio
我的机器是1904可以安装vs2019,但是实际上我装的是vs2017也是没有问题的
安装WDK
WDK版本一定要对应,我的机器是1903所以安装1903的WDK,如果版本不一致,那么后续VS在编译的时候很可能编译失败,出现很多问题,
我的机器是vs2017然后装的是WDK1709,明显是不对应的,所以后面编译出现了很多问题,查了各种资料之后 安装了wdk16299
新建一个KMDF项目,编写几行测试代码
#include<ntifs.h>
NTSTATUS
DriverEntry(
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
)
{
DriverObject;
RegistryPath;
KdPrint(("zxxx \n"));
return 0;
}
配置虚拟机
注意虚拟机的操作系统版本要和VS配置的版本一致
我们编译好的驱动正常来说是无法直接运行的,需要证书签名才能导入运行,可以将虚拟机配置为测试环境,这样可以不用签名就可以运行自己的驱动程序
加载测试签名代码 - Windows drivers | Microsoft Learn
#不需要签名即可执行驱动
Bcdedit.exe -set TESTSIGNING ON
#需要签名才可执行驱动
Bcdedit.exe -set TESTSIGNING OFF
注意更改完之后重启,虚拟机右下角会多了“测试模式字样”
然后就是将我们编译好的驱动文件复制到虚拟机里面运行 观察结果,测试代码成功打印
这两个软件全都右键管理员权限运行