当前位置: 首页 > news >正文

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 /installMicrosoft 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 安装成功

设备管理器新增一个设备类型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,查看当前操作系统版本

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 力扣(2024.08.12)
  • 提高清晰度的全彩LED显示屏的关键要素
  • 豆神集团阎鹏:重新认识AI教育中“人”的价值
  • JavaWeb——Servlet
  • 鸿蒙(API 12 Beta3版)【音视频解封装】 文件解析封装
  • Python图像背景去除
  • NoSQL 之Redis集群模式
  • 依赖倒置原则(DIP)详解:面向对象设计的核心思想
  • 计算机图形学 | Light Field/Lumigraph
  • ESP32人脸识别开发 ---partitions.csv配置的一些说明(五)
  • OKnews加密货币资讯:现货比特币ETF市场动荡,价格大幅下跌
  • 【Ubuntu24.04搭建turn服务器】
  • Redis主从数据同步原理的详解、以及优化方案
  • AMBA-CHI协议详解(五)
  • 基本卫星介绍
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • 10个最佳ES6特性 ES7与ES8的特性
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Centos6.8 使用rpm安装mysql5.7
  • JavaScript学习总结——原型
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • MySQL QA
  • PV统计优化设计
  • Python学习笔记 字符串拼接
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 实现简单的正则表达式引擎
  • 树莓派 - 使用须知
  • 为什么要用IPython/Jupyter?
  • 一、python与pycharm的安装
  • const的用法,特别是用在函数前面与后面的区别
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #微信小程序:微信小程序常见的配置传旨
  • (02)vite环境变量配置
  • (13)DroneCAN 适配器节点(一)
  • (2)leetcode 234.回文链表 141.环形链表
  • (55)MOS管专题--->(10)MOS管的封装
  • (pycharm)安装python库函数Matplotlib步骤
  • (论文阅读11/100)Fast R-CNN
  • (三)c52学习之旅-点亮LED灯
  • (一)UDP基本编程步骤
  • (转)jQuery 基础
  • (转)scrum常见工具列表
  • (转载)Linux 多线程条件变量同步
  • ... 是什么 ?... 有什么用处?
  • .NET : 在VS2008中计算代码度量值
  • .net core 外观者设计模式 实现,多种支付选择
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • /boot 内存空间不够
  • @property @synthesize @dynamic 及相关属性作用探究