驱动开发:Windows 10 + Visual Studio 2022 + WDK 创建一个内核驱动程序

发布于:2024-12-20 ⋅ 阅读:(283) ⋅ 点赞:(0)

1 配置 Visual Studio 2022 + WDK 驱动开发环境

参考微软官方中文说明:https://learn.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk

  • 补充一下:安装 WDK Visual Studio 2022 扩展
    从版本 17.11.0 开始,WDK VSIX 作为单个组件包含在 Visual Studio 中,我们勾选 Windows Driver Kit 来安装 WDK Visual Studio 2022 扩展。
    在 Visual Studio 2022 安装程序中选中单个组件,输入:
driver

按下图勾选修改即可:
在这里插入图片描述

2 创建 Empty WDM Driver 项目

我们简单了解下驱动分类:

  • NT 驱动:最简单的驱动模型,不支持硬件特性
  • WDM 驱动:在NT驱动的基础上引入的一套驱动模型,支持即插即用、电源事件等特性。
  • WDF 驱动:对WDM驱动的封装与升级,屏蔽了部分细节,简化了大量接口。

2.1 创建 MyDriver 驱动程序

打开 Visual Studio 2022 选择"创建新项目",选择 “Empty WDM Driver”,项目名称中输入 MyDriver,点击创建按钮创建驱动程序。
在这里插入图片描述
生成的项目工程如下:
在这里插入图片描述
我们编译一下,出现如下错误:

生成开始于 19:32...
1>------ 已启动生成: 项目: MyDriver, 配置: Debug x64 ------
1>Building 'MyDriver' with toolset 'WindowsKernelModeDriver10.0' and the 'Desktop' target platform.
1>Stamping x64\Debug\MyDriver.inf
1>Stamping [Version] section with DriverVer=12/19/2024,19.32.58.34
1>C:\Users\PC_LZC\source\repos\MyDriver\MyDriver\MyDriver.inf : error 1297: Device driver does not install on any devices, use primitive driver if this is intended.
1>已完成生成项目“MyDriver.vcxproj”的操作 - 失败。
========== 生成: 0 成功,1 失败,0 最新,0 已跳过 ==========
========== 生成 于 19:32 完成,耗时 00.459==========

我们把 MyDriver.inf 从项目中移除
在这里插入图片描述