Windows11+VS2022搭建(Driver)驱动开发环境(一)_vs2022驱动开发环境配置
前言:
驱动程序和普通的用户层程序所运行的层级不同,因为我们需要调试和运行程序
很少有人在本地机器上调试驱动程序所以我们需要搭建双机;
也就是在本地机器上搭建虚拟器来调式驱动;所以 WIN系统SDK或WDK 的版本很重要!!!
1.工具准备
2.搭建VS2022
3.安装SDK和WDK
4.修改VS2022安装组件
5.编译驱动文件
A.工具准备
在cmd处输入winver可以查看自己的系统版本
我的系统是Win11:22621
我的WDK和SDK也是:22621
我用的是在线版
这些都简单去win官网根据自己的系统去找对应的SDK和WDK
B.搭建VS2022
我先安装的VS2022
至于顺序自己随意;
选择使用桌面C++套件其他默认直接安装
等WDK和SDK安装后在修改!!!
待安装完成!
C.安装SDK和WDK
SDK:10.0.22621.755
SDK安装 直接下一步!
安装完成!
WDK: 10.0.22621.382
同上
这里勾掉就不安装了
Close关闭
在控制面板中可以看到
1:是自己安装的WDK:22621
2是自己安装的SDK:22621
3是VS2022自己安装的SDK 不用管它
D.修改VS2022安装组件
打开VS2022
菜单-->工具—>获取工具和功能
勾选驱动工具包
勾选MSVC编译器以及工作负荷
最后点更改
这是win官方的添加方案
选择继续(C)
E.编译驱动文件
如果你的配置没问题在创建项目处会出现Driver选项,在扩展下也有Driver选项
创建空驱动项目
创建一个空项目(Kernel Mode Driver Empty)
代码提示错误;
这里应该是.c文件
如果是.cpp记得指定c文件
设置配置属性
项目--->配置属性选择常规---> windows SDK 版本号 设置自己安装的那个
应用后确定
项目--->配置属性选择C/C++常规 警告等级设置为3
警告错误设置为否
应用后确定
同上
将链接器警告错误设置为否
同上
lnf2Cat/General下
Runlnf2Cat == 否
接下来生成项目驱动
生成成功
找到驱动文件
Driver_samp.inf 是.sys的配置文件
Driver_samp.sys就是生成的驱动文件(没有签名)
总结:
容易出错的几个点
1.版本:系统 wdk sdk 的版本号要统一(不做双机可以忽略系统);
2.套件:确定套件是否安装(有时候你点了安装因为某个不在意操作就取消了);
3.属性:属性配置不同的驱动可能配置不同;
4.驱动签名:在加载驱动之前把签名禁掉(有签名当我没说);