UMDF 版本历史记录
本主题列出了 User-Mode Driver Framework (UMDF) 的版本、Windows 操作系统的相应版本以及每个版本中所做的更改。
下表显示了 UMDF 库的发布历史记录。 可以使用 本文 右侧的边栏快速导航到特定版本。
UMDF 版本 | 初始版本 | 包含于 | 使用此 UMDF 版本的驱动程序在上运行 |
---|---|---|---|
2.33 | Windows 11,版本 21H2 WDK;适用于 Windows Server 2022 的 WDK | 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 (创意者更新,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 月更新,阈值 2) | Windows 10版本 1511 Windows Server 2016 及更高版本 |
2.15 | Windows 10 WDK | Windows 10版本 1507 (阈值 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 Server 2008 Service Pack 1 (SP1) 的 Windows Vista | Windows XP 及更高版本 |
1.5 | Windows Vista WDK | Windows Vista | Windows XP 及更高版本 |
可以将 Windows 驱动程序工具包 (WDK) 与 Microsoft Visual Studio 2019 配合使用,以生成在 Windows 10 及更高版本上运行的驱动程序。
有关确定要使用的 WDF 版本的帮助,请参阅 我应使用哪个框架版本?。
有关 Windows 10 中 UMDF 驱动程序的新功能的信息,请参阅 WDF 驱动程序的新增功能。
对于下面的每个 UMDF 版本部分,发布它的 Windows 版本都列在括号中。
最新版本 - UMDF 2.33 (Windows 11 版本 21H2;Windows Server 2022)
- 对于在 WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE 枚举中指定 SystemManagedIdleTimeout 或 SystemManagedIdleTimeoutWithHint 的设备, 调用 WdfDeviceStopIdle 宏且 WaitForD0 设置为 FALSE 时,如果设备仍在 D0 中且空闲超时期限尚未过,则 WdfDeviceStopIdle 在早期版本中返回STATUS_SUCCESS (,这会导致返回值STATUS_PENDING) 。
- WdfDeviceWdmAssignPowerFrameworkSettings 函数现在支持 UMDF。
- WDF_POWER_FRAMEWORK_SETTINGS 结构具有两个新成员 (PoFxDeviceFlags 和 DirectedPoFxEnabled) ,现在可以与 UMDF 一起使用。 对于 UMDF,仅使用 Size、 PoFxDeviceFlags 和 DirectedPoFxEnabled 成员。 其他字段将被忽略,并且必须设置为零。 当 UMDF 驱动程序调用 WDF_POWER_FRAMEWORK_SETTINGS_INIT 函数时,框架会自动执行此操作。
UMDF 2.31 (Windows 10 版本 2004)
- 添加了新的 API WdfDeviceSetDeviceInterfaceStateEx
- 改进了现有 API WdfDeviceGetSystemPowerAction
- 添加了每驱动程序 HostProcessDbgBreakOnDriverLoad 注册表值。 有关信息,请参阅 用于调试 WDF 驱动程序的注册表值。
- 导向式电源管理框架简介
UMDF 2.29 (Windows 10 版本 1903)
版本 2.27 未更改。
UMDF 2.27 (Windows 10 版本 1809)
UMDF 2.25 (Windows 10 版本 1803)
UMDF 2.23 (Windows 10 版本 1709)
- 添加的配套功能仅供内部使用。 有关新的 DDI,请参阅 WDF 回调和方法摘要。
UMDF 2.21 (Windows 10 版本 1703)
- WdfObjectDereferenceActual: 文件 参数的类型从 PCHAR 更改为 PCCH。
- WdfObjectReferenceActual: 文件 参数的类型从 PCHAR 更改为 PCCH。
- 添加了 WDF 注册表值 ObjectLeakDetectionLimit 和 ObjectsForLeakDetection ,用于调试过多的对象创建。 有关详细信息,请参阅 用于调试 WDF 驱动程序的注册表值。
UMDF 2.19 (Windows 10 版本 1607)
UMDF 版本 2.19 没有更改或添加内容。
UMDF 2.17 (Windows 10 版本 1511)
此版本添加了对以下现有接口的 UMDF 支持:
- WdfDeviceConfigureWdmIrpDispatchCallback
- EvtDeviceWdmIrpDispatch
- WdfDeviceWdmDispatchIrp
- WdfDeviceWdmDispatchIrpToIoQueue
有关详细信息,请参阅 将 IRP 调度到 I/O 队列。
UMDF 2.15 (Windows 10 版本 1507)
- 新的 WdfDeviceOpenDevicemapKey 方法允许驱动程序访问 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP下的子项和值。
- UMDF 驱动程序可以调用 WdfIoTargetWdmGetTargetFileHandle ,以获取其堆栈中下一个较低内核模式驱动程序的文件句柄。 驱动程序可以将数据写入该句柄,绕过框架的抽象,将 I/O 发送到本地 I/O 目标。
- UMDF 驱动程序可以请求基础总线驱动程序重新枚举它。 请参阅 WdfDeviceSetFailed。
- 对于具有连接资源的设备,不再需要设置 UmdfDirectHardwareAccess 指令。 请参阅在 INF 文件中指定 WDF 指令。
- WDF 源代码可从 Windows 驱动程序框架中公开获取。 WDF 的专用符号文件可通过 Microsoft 符号服务器获取。 另请参阅 使用 WDF 调试源 和 视频:使用 WDF 源代码调试驱动程序。
- 现可 (IFR) 状态跟踪记录器。 请注意,这与 框架的事件记录器是分开的。 有关详细信息,请参阅 用于记录跟踪的 INflight 跟踪记录器 (IFR) 和 在 KMDF 和 UMDF 驱动程序中使用机上跟踪记录器。
- 支持支持 GPIO 的设备中断。 有关详细信息,请参阅创建中断对象。
UMDF 2.0 (Windows 8.1)
除了使用 UMDF 入门 中所述的共享功能外,UMDF 版本 2.0 还添加了:
支持当系统处于低功耗状态时计时器过期时,这些计时器不会唤醒系统。 有关详细信息,请参阅 使用计时器。
向 WDF_INTERRUPT_CONFIG 结构添加了 CanWakeDevice 成员,以支持可用于使设备从低功率 Dx 状态恢复到完全处于 D0 状态的中断。 有关详细信息,请参阅 使用中断唤醒设备。
单组件、单状态 (F0) UMDF 驱动程序的电源管理。 有关详细信息,请参阅 WdfDeviceAssignS0IdleSettings。
Wdfkd.dll 中的多个调试器扩展命令现在也可用于 UMDF 2.0 驱动程序。 扩展库还包含以下专为调试 UMDF 2.0 驱动程序而设计的新扩展命令:
框架的事件日志器或正在进行的记录器 (IFR) 已更新为适用于 UMDF 2.0 驱动程序。
其他 WDF 调试器扩展已更新为适用于 UMDF 2.0 驱动程序。 有关扩展命令的完整列表(包括哪些命令适用于哪个框架的信息),请参阅 适用于 WDF 驱动程序的调试器扩展。
向 WDF_IO_TARGET_OPEN_TYPE 添加了 WdfIoTargetOpenLocalTargetByFile,以允许 UMDF 驱动程序将驱动程序创建的请求发送到需要关联文件对象的较低目标。 有关详细信息,请参阅 WDF_IO_TARGET_OPEN_TYPE的备注。
以下仅限 UMDF 的例程:
- EvtRequestImpersonate
- WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE
- WdfDeviceAllocAndQueryInterfaceProperty
- WdfDeviceAssignInterfaceProperty
- WdfDeviceGetDeviceStackIoType
- WdfDeviceGetHardwareRegisterMappedAddress
- WdfDeviceMapIoSpace
- WdfDevicePostEvent
- WdfDeviceQueryInterfaceProperty
- WdfDeviceUnmapIoSpace
- WdfFileObjectGetInitiatorProcessId (添加到 KMDF 1.21)
- WdfFileObjectGetRelatedFileObject
- WdfRequestGetEffectiveIoType
- WdfRequestGetRequestorProcessId (添加到 KMDF 1.21)
- WdfRequestGetUserModeInitiatedIo
- WdfRequestImpersonate
- WdfRequestIsFromUserModeDriver
- WdfRequestRetrieveActivityId
- WdfRequestSetActivityId
- WdfRequestSetUserModeDriverInitiatedIo
访问统一设备属性模型中介绍的以下 KMDF/UMDF 方法:
支持 WdfUsbTargetDeviceSelectConfigType 中的以下 USB 配置类型:
- WdfUsbTargetDeviceSelectConfigTypeSingleInterface
- WdfUsbTargetDeviceSelectConfigTypeMultiInterface
- WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs
支持在 WdfUsbTargetDeviceQueryUsbCapability 中查询以下功能类型:
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE
添加了 WDF 寄存器/端口访问函数
UMDF 1.11 (Windows 8)
版本 1.11 添加了以下驱动程序提供的回调接口和事件回调函数:
版本 1.11 添加了以下框架提供的接口:
版本 1.11 向基于 UMDF 的驱动程序添加了以下功能:
添加了 UmdfHostProcessSharing、UmdfDirectHardwareAccess、UmdfRegisterAccessMode、UmdfFileObjectPolicy 和 UmdfFsContextUsePolicy 指令,如在 INF 文件中指定 WDF 指令中所述
统一属性存储支持,如在基于 UMDF 的驱动程序中使用注册表中所述
IoGetDeviceObjectPointer 已集成,可与 UMDF 配合使用。 在早期版本中,此例程在对设备句柄进行引用后关闭设备对象的句柄。 此行为不符合 UMDF 的预期,即在完成所有 I/O 之后才会对设备对象执行清理请求。
增强了对 在基于 UMDF 的驱动程序中支持空闲 Power-Down 的支持。 当空闲超时期限到期时,框架现在可以将设备置于 D3cold 电源状态。 当系统返回到其工作 (S0) 状态时,框架还可能导致设备返回到其工作 (D0) 状态。
以下示例是 UMDF 1.11 中的新增示例: WudfVhidmini、 NetNfpProvider。
UMDF 1.9 (Windows 7)
版本 1.9 添加了以下驱动程序提供的回调接口:
版本 1.9 添加了以下框架提供的接口:
这些接口将以下功能添加到基于 UMDF 的驱动程序:
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈