Windows 11 版本 24H2 驱动程序开发中的新增功能
本部分介绍 Windows 11 版本 24H2 中驱动程序开发的新增功能和更新。 若要面向此版本的 Windows,可以使用 WDK 10.0.26100.1 (2024 年 5 月 22 日发布)。
WDK NuGet 包支持
WDK NuGet 包由用于生成 Windows 驱动程序的基本库、标头、DLL、工具和元数据组成,这些驱动程序可以由新式 CI/CD 管道共享和支持。 用户可以在 Visual Studio 中直接从 nuget.org 访问和使用 NuGet 包。 将 NuGet 与 WDK 配合使用可为 WDK 获取和更新提供方便的解决方案。 它管理 SDK 等依赖项,以帮助使驱动程序开发工具链保持最新。 有关详细信息,请参阅使用 NuGet 安装最新的 WDK - 分步操作。
ARM64 支持
从 WDK 版本 10.0.26100.1 开始,WDK 现在支持在 ARM64 计算机上开发、测试和部署驱动程序。 除了以前在 ARM64 硬件上支持的 x86 KMDF/UMDF2 驱动程序仿真之外,WDK/EWDK 可以在 ARM64 硬件上本地安装和运行。 此外,还支持从 ARM64 和 x64 主机调试驱动程序并将其部署到 ARM64 目标计算机。 在 ARM64 计算机上安装 WDK/EWDK 的过程将自动识别并安装所有必要的依赖项,包括生成工具、二进制文件和库。
音频
ACX 音频类扩展概述和适用于音频处理对象的 Windows 11 API 文章的更新包括有关以下内容的新信息:
相机和流媒体
适用于 Windows 11 版本 24H2 的三篇新相机文章(也适用于 Windows 11 版本 23H2):
相机设置页面 - 介绍 Windows 11 中相机设置页面的功能和操作,以及可在应用程序启动相机时应用相机配置的默认值框架。
相机配套应用 - 介绍配套应用,它们是相机制造商的扩展性功能,可用于生成能配置相机并调整默认图像设置的自定义应用程序。
网络相机 - 介绍与 Windows 中 ONVIF 网络相机的兼容性。
新的相机 KS 属性和 DDI:
更新了 UVC MSXU,用于帧速率限制和 FoV2 添加。 有关详细信息,请参阅 USB 视频类 1.5 规范的 Microsoft 扩展。
显示驱动程序和图形驱动程序
GPU 凭借其强大的计算能力、并行处理能力和高效处理大型数据集的能力,越来越多地应用于人工智能和机器学习领域。 Windows 显示驱动程序模型 (WDDM) 3.2 版添加了多项新功能,以优化 GPU/NPU 的使用,尤其是在基于云的方案中。
脏位跟踪 可增强物理主机在虚拟机实时迁移期间 VRAM 数据传输的性能。
添加了异类 GPU-P 计算设备的实时迁移。 现在可以在虚拟化资源处于活动状态时传输重要内容,从而减少完成迁移所需的暂停时间。
GPU 本机围栏同步对象作为扩展添加到受监视的围栏对象,支持以下额外的功能:
GPU 等待监视的围栏值,这允许高性能引擎到引擎同步,而无需 CPU 往返。
有条件的中断通知只针对有 CPU 等待器的 GPU 栅栏信号,从而大大节省了功耗。
将栅栏值存储在 GPU 的本地内存中。
用户模式工作提交是尚未启用以供最终使用的正在进行的功能。 此功能允许用户模式驱动程序直接提交工作到 GPU,而无需内核模式干预。
其他添加的 WDDM 3.2 功能包括:
D3D12 视频编码 DDI 扩展到支持 AV1 编码。
用户模式或内核模式图形驱动程序用于确定是否 支持和启用特定 WDDM 功能的方法
TDR(超时检测和恢复)调试已增强,提供有关 TDR 事件原因的详细信息。
分配通知是尚未启用以供最终使用的正在开发的功能。 此功能允许内核模式驱动程序接收有关即将进行分页逐出或提升操作的分配的通知。
文件系统和筛选器驱动程序
从 Windows 11 版本 24H2 开始:
绑定链接可用于通过绑定筛选器 (bindflt.sys) 将文件系统命名空间绑定到本地“虚拟路径”。 微型筛选器可以选择否决系统启动分区上的此类绑定链接。 有关详细信息,请参阅 否决绑定链接。
打开 $INDEX_ALLOCATION 属性时,NtCreateFile 现在会遵循 FILE_NON_DIRECTORY_FILE 标志的状态,而以前没有。
FltMgr 提供针对 USN 和文件安全信息创建支持的查询。
网络驱动程序
从 Windows 11 版本 24H2 开始,可以编写 用户模式驱动程序框架 (UMDF) NetAdapterCx 驱动程序。 NetAdapterCx 中的 UMDF API 与 KMDF 版本保持一致,因此可以将基于 KMDF 的客户端驱动程序转换为 UMDF,几乎无需修改代码。
UDP 接收段合并卸载 (URO) 是一项新的硬件卸载功能,使网络接口卡 (NIC) 能够合并 UDP 接收段。 有关详细信息,请参阅 UDP 接收段合并卸载 (URO) 和 NetAdapterCx URO。
WiFiCx Wi-Fi 7 引入了对 Wi-Fi 7 功能的支持,提供更快的连接速度、更低的延迟和更高的安全性。 WiFiCx Wi-Fi 7 启用:
多链接操作 (MLO) 与漫游区分,以利用多个同时通道到 Wi-Fi 接入点 (AP)。
使用 GCMP-256 密码增强了 WPA3-SAE 身份验证和机会无线加密 (OWE) 的功能。
WiFiCx WPA3 SoftAP 功能使设备使用 Wi-Fi 保护的访问 3 - 对等实体同时验证 (WPA3-SAE) 安全协议设置软接入点 (SoftAP)。
WiFiCx QoS R1 为 WiFiCx 设备引入了高级流量管理功能。 QoS R1 通过镜像流分类服务 (MSCS) 和 QoS 映射(DSCP 到 UP 映射)实现 Wi-Fi 数据包的优先级。
内核
适用于 Windows 11 版本 24H2 的四个新的 wdm.h 电源管理 DDI:
PO_EFFECTIVE_POWER_MODE_CALLBACK 回调函数 - 注册后立即调用电源设置的当前值。
PO_EFFECTIVE_POWER_MODE 枚举 - 枚举有效电源模式。
PoRegisterForEffectivePowerModeNotifications 函数 - 注册回调以接收有效的电源模式更改通知。
PoUnregisterFromEffectivePowerModeNotifications 函数 - 从有效的电源模式更改通知中注销。
存储驱动程序
存储端口微型端口驱动程序现在可以从注册表中的更多位置读取配置数据。 有关详细信息,请参阅 StorPortReadRegistryKey 和 StorPortReadDriverRegistry。
Stornvme 支持更多特定于供应商的 NVMe 功能和日志页。 有关详细信息,请参阅 StorageAdapterProtocolSpecificPropertyEx、StorageDeviceProtocolSpecificPropertyEx、NVMeDataTypeLogPageEx 和 NVMeDataTypeFeatureEx 枚举值。 ntddstor.h 头文件包含这些新属性标识符和数据类型及其关联的输入和输出结构的用法指南。
安装
INF AddComClass 指令:AddComClass 指令在
com-server-install-section
中使用并注册 COM 类。INF AddComServer 指令:在
DDInstall.COM
节中使用 AddComServer 指令并注册 COM 服务器。INF DDInstall.COM 部分:
DDInstall.COM
节包含一个或多个 INF AddComServer 指令,这些指令引用 INF 文件中其他 INF 编写器定义的节。驱动程序包 INF 注册表转换工具 (
reg2inf.exe
) 将注册表项及其值或其值或 COM .dll 实现 DllRegisterServer 例程转换为一组 INF AddReg 指令或 INF DDInstall.COM 节,以便将 in-proc COM 服务器包含在驱动程序包 INF 文件中。
USB
- 通过 IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 和 USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION支持 USB 取代信息。
Sensors
通过 HUMAN_PRESENCE_DETECTION_TYPE 和 PROXIMITY_SENSOR_CAPABILITIES 支持邻近传感器中的新人机状态字段。
人类存在更新包括支持跟踪多个人类。
驱动程序安全性
更新 Windows CodeQL 规则和更新驱动程序安全性检查列表。
Windows 调试工具 - WinDbg
此处列出了主要的 WinDbg 功能。 有关 WinDbg 更新的完整详细信息,请参阅 WinDbg 发行说明。 有关调试工具的一般信息,请参阅 什么是 WinDbg?。
实时 Linux 调试
现在可以实时调试 Linux 进程。 有关详细信息,请参阅以下文章:
其他 WinDbg 更新和新功能
辅助功能改进
ARM64 上的时间旅行调试
智能号码选择和搜索
新的反汇编窗口
扩展的错误检查信息,包括错误检查代码参考中所述的新错误检查
相关文章
若要了解旧版 Windows 中关于驱动程序的最近更新,请参阅以下页面: