UMDF例子 - Windows-driver-samples\general\echo\umdf2

1、编译

包含driver和exe两个项目
VS2015编译结果:
driver - echo.dll echoum.inf wudf.cat (dll及cat需要数字签名)
exe - echoapp.exe

2、安装及卸载

pnputil - windows vista及以上系统内置
devcon - windows kits 或 winddk

2.1 pnputil

> pnputil /add-driver echoum.inf /install

Microsoft PnP 工具

正在添加驱动程序包:  echoum.inf
已成功添加驱动程序程序包。
发布名称:         oem9.inf
驱动程序包已安装在设备上: ROOT\GENERIC\0000

驱动程序包总数:  1
已添加驱动程序包数:  1
> pnputil /delete-driver oem9.inf /uninstall
Microsoft PnP 工具

已卸载驱动程序包。
已成功删除驱动程序程序包。

2.2 devcon

替换设备控制台 (DevCon.exe) - Windows drivers | Microsoft Learnicon-default.png?t=N7T8https://learn.microsoft.com/zh-cn/windows-hardware/drivers/devtest/devcon-migration

> devcon install echoum.inf root\ECHO
Device node created. Install is complete when drivers are installed...
Updating drivers for root\ECHO from C:\test\umdf\echoum.inf.
Drivers installed successfully.
> devcon remove root\ECHO
ROOT\GENERIC\0000                                           : Removed
ROOT\GENERIC\0001                                           : Removed
2 device(s) were removed.

3、说明

3.1 安装成功

新增目录及文件(不同环境,名称可能不同)

C:\Windows\System32\DriverStore\FileRepository\echoum.inf_amd64_74d0ee4682912356\

ECHO.dll  echoum.inf  wudf.cat

C:\Windows\INF\oem9.inf

设备管理器新增一个设备类型Generic,该类型下新增一个设备 Sample UMDF v2 ECHO Driver;

services.exe 进程启动一个子进程 WUDFHost.exe,WUDFHost.exe 加载 echo.dll 驱动模块;

3.2 安装过程中遇到失败

>devcon install echoum.inf root\ECHO
Device node created. Install is complete when drivers are installed...
Updating drivers for root\ECHO from D:\test\umdf\echoum.inf.
devcon failed.
>pnputil /add-driver echoum.inf /install
Microsoft PnP 工具

正在添加驱动程序包:  echoum.inf
无法添加驱动程序包: 试图将驱动程序添加到存储区时遇到问题。

驱动程序包总数:  1
已添加驱动程序包数:  0

查看日志 C:\Windows\INF\setupapi.dev.log

 当前例子,echoum.inf 文件说明部分要求操作系统版本>=Windows 10 1809

命令行执行 winver,查看当前操作系统版本

UMDF例子 - Windows-driver-samples\general\echo\umdf2_第1张图片

3.3 卸载

设备管理器删除了新增的设备;

WUDFHost.exe 结束;

3.4 UMDF版本

INF文件UmdfLibraryVersion字段,表示当前驱动模块使用的UMDF版本:

[Echo_Install]
UmdfLibraryVersion=2.15.0
ServiceBinary=%13%\echo.dll

可通过VS项目属性/Driver Settings/Driver Model配置。

4、UMDF 版本历史记录

UMDF 版本历史记录 - Windows drivers | Microsoft Learnicon-default.png?t=N7T8https://learn.microsoft.com/zh-cn/windows-hardware/drivers/wdf/umdf-version-history

UMDF 版本 初始版本 包含于 使用此 UMDF 版本的驱动程序运行
2.33 Windows 11 版本 21H2 WDK;适用于 Windows Server 2022 的 WDK Windows 11 版本 24H2;Windows 11 版本 23H2;Windows 11 版本 22H2;Windows 11 版本 21H2;Windows Server 2022 Windows 11 版本 21H2 及更高版本;Windows Server 2022 及更高版本
2.31 Windows 10,版本 2004 WDK Windows 10 版本 2004(2020 年 5 月更新,Vibranium) Windows 10 2004 版及更高版本
2.29 未在 WDK 中发布 Windows 10 版本 1903(2019 年 3 月更新,19H1) Windows 10 版本 1903 和更高版本
2.27 Windows 10,版本 1809 WDK Windows 10 版本 1809(2018 年 10 月更新,Redstone 5) Windows 10 版本 1809 及更高版本
2.25 Windows 10,版本 1803 WDK Windows 10 版本 1803(2018 年 4 月更新,Redstone 4) Windows 10 版本 1803 或更高版本
2.23 Windows 10,版本 1709 WDK Windows 10 版本 1709 (Fall Creators Update, Redstone 3) Windows 10 1709 版及更高版本
2.21 Windows 10,版本 1703 WDK Windows 10 版本 1703 (Creators Update, Redstone 2) Windows 10 版本 1703 及更高版本
2.19 Windows 10,版本 1607 WDK Windows 10 版本 1607(周年更新,Redstone 1) Windows 10 版本 1607,Windows Server 2016 和更高版本
2.17 Windows 10,版本 1511 WDK Windows 10 版本 1511(11 月更新,Threshold 2) Windows 10 版本 1511,Windows Server 2016 和更高版本
2.15 windows 10 WDK Windows 10 版本 1507 (Threshold 1) Windows 10 版本 1507,Windows Server 2016 和更高版本
2.0 Windows 驱动程序工具包 (WDK) 8.1 Windows 8.1 Windows 8.1 及更高版本
1.11 Windows 驱动程序工具包 (WDK) 8 Windows 8 Windows Vista 及更高版本
1.9 windows 7 WDK Windows 7 Windows XP 及更高版本
1.7 Windows Server 2008 WDK Windows Vista Service Pack 1 (SP1),Windows Server 2008 Windows XP 及更高版本
1.5 Windows Vista WDK Windows Vista Windows XP 及更高版本

你可能感兴趣的:(#,windows,windows)