# 驱动开发环境搭建流程
# 安装 Visual Studio
下载 Visual Studio 最新版本(社区版),安装选择使用 C++ 的桌面开发,必须勾选以下选项:
- Windows 11 SDK(10.0.22621.0)
- MSVC v143 - VS 2022 C++ x64/x86 生成工具(最新)
- 适用于最新 v143 生成工具的 C++ ATL (x86 和 x64)
- 适用于最新 v143 生成工具的 C++ MFC (x86 和 x64)
- 适用于最新 v143 生成工具的 C++ 模块 (x64/x86 - 实验性)
- vcpkg 包管理器
- 实时调试器
- C++ 分析工具
- IntelliCode
- C++ AddressSanitizer
# Visual Studio Installer 安装单个组件
- 带有 Spectre 缓解措施、适用于最新的 v143 生成工具的 C++ ATL (x86 和 x64)
- 带有 Spectre 缓解措施、适用于最新的 v143 生成工具的 C++ MFC(x86 和 x64)
- MSVC v143 - VS 2022 C++ x64/x86 Spectre 缓解库(最新)
# 安装 Windows Driver Kit
下载与 Windows SDK 版本号一致的 WDK,然后点击安装。
- 如果 SDK 与 WDK 版本不一致,则在控制面板中卸载重新安装,如不卸载覆盖安装会安装失败。
- 两者可以全部都卸载再安装,建议安装最新版。
# 第一个驱动程序 Hello Driver
新建 Empty WDM Driver 项目
新建 main.c 项目文件
修改项目属性 “配置属性 > C/C++ > 警告等级:等级 3 / 将警告视为错误:否”
删除 Driver Files 目录下面的 .inf 文件
编写 Hello Driver 驱动代码
#include <ntifs.h> NTSTATUS DrvUnload(PDRIVER_OBJECT pDriver) { DbgPrint("Hello Driver Unload\n"); return 0; } NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING regPath) { pDriver->DriverUnload = DrvUnload; DbgPrint("--%wZ", regPath); DbgPrint("Hello Driver Entry"); return 0; }
右键项目节点,选择 “生成” 菜单,生成驱动文件。
# 安装 Hello Driver 查看执行结果
启动 VMware 虚拟机,安装 Windows 10 系统
以管理员模式运行 cmd 命令提示行,执行以下代码,关闭驱动签名验证(重启生效)
# 关闭签名验证 bcdedit /set testsigning on # 打开签名验证 bcdedit /set testsigning off # 查看启动配置数据库(BCD)设置 bcdedit
运行 DebugView ,勾选 “Capture > Capture Kernel / Enabel Verbose Kernel Output” 选项
运行 Monitor,打开生成的驱动文件,然后点击 “Start Driver / Stop Driver” 启动或停止驱动程序运行
通过查看 **DebugView **调试输出内容,确认驱动执行状态
# 微软官网下载链接
下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux (opens new window)