Windows 10 版本 1809 中的新增功能What's new in Windows 10, version 1809

本部分介绍 Windows 10 版本 1809(Windows 10 2018 年 10 月更新)中驱动程序开发的新增功能和更新。This section describes new features and updates for driver development in Windows 10, version 1809 (Windows 10 October 2018 Update).

音频Audio

现已发布有关新的 sidebandaudiousbsidebandaudio 标头的文档。Documentation on the new sidebandaudio and usbsidebandaudio headers is now available.

蓝牙Bluetooth

Windows 硬件开发人员中心仪表板Windows Hardware Dev Center dashboard

在 Windows 10 版本 1809 中,在硬件 API 方面,我们为开发人员、IHV 和 OEM 添加了新的和改进的功能,用于跟踪驱动程序包以及将其提交到 Windows 硬件仪表板。In Windows 10, version 1809, we added new and improved functionality in the way of Hardware APIs for developers, IHVs, and OEMs to track and submit driver packages to the Windows hardware dashboard.

使用发货标签 REST API 可以像分发驱动程序一样创建和管理发货标签。Use the shipping label REST APIs to create and manage shipping labels, the method by which you distribute your drivers.

使用异步自定义报告方法可以访问驱动程序错误和 OEM 硬件错误的报告数据。Use the asynchronous custom report methods to access reporting data for driver errors and OEM hardware errors. 可根据需要定义报告模板、设置计划,系统会定期向你传送数据。You can define reporting templates based on your needs, set a schedule and you will have data delivered to you at regular intervals.

调试Debugging

对 Windows 10 版本1809的调试器进行的更改包括:Changes to the Debugger for Windows 10, version 1809 include the following:

  • 新的调试器数据模型 API – 现已推出一个新的面向对象的调试器数据模型接口,该接口可使用 dbgmodel.h 标头支持调试器自动化。New Debugger Data Model API – A new object oriented debugger data model interface to support debugger automation is now available using the dbgmodel.h header. 调试器数据模型是一种可扩展的对象模型,它能够让新调试器扩展(包括 JavaScript、NatVis 和 C++ 中的扩展)使用来自调试器的信息并生成可从调试器及其他扩展访问的信息。The debugger data model is an extensible object model that is central to the way in which new debugger extensions (including those in JavaScript, NatVis, and C++) both consume information from the debugger and produce information that can be accessed from the debugger as well as other extensions. 可以在调试器的 dx 表达式计算器中以及从 JavaScript 扩展或 C++ 扩展访问写入到数据模型 API 的构造。Constructs which are written to the data model APIs are available in the debugger's dx expression evaluator as well as from JavaScript extensions or C++ extensions. 文档位置:调试器数据模型 C++ 接口概述dbgmodel.h 标头参考主题。Documentation will be available at: Overview of the Debugger Data Model C++ Interface and the dbgmodel.h header reference topics.

  • IPv6 - 我们将在 KDNET 中添加对 IPv6 的支持。IPv6 - We are adding support for IPv6 to KDNET. 为了给 IPv6 所需的较大标头留出空间,我们减少了数据包的有效负载大小。To make room for the larger headers required for IPv6, we decreased the payload size of packets. 因此,我们将会声明 KDNET 协议的新版本,使运行最新版调试器的主机电脑可用于调试仅支持 IPv4 的目标电脑。As a result, we’re declaring a new version of the KDNET protocol, so that host PCs running the latest version of the debugger can be used to debug target PCs that only support IPv4. https://aka.ms/windbgpreview 上提供了支持 IPv6 的 WinDbg 预览版。There is a version of WinDbg Preview available at https://aka.ms/windbgpreview that supports IPv6. 请关注“Windows 调试工具”博客来了解有关 KDNET IPv6 支持的最新信息,并参阅手动设置 KDNET 网络内核调试了解更多详细信息。Follow the Debugging Tools for Windows blog for updates on KDNET IPv6 support and see Setting Up KDNET Network Kernel Debugging Manually for more details.

设备和驱动程序安装Device and Driver Installation

在 Windows 10 版本 1809 中添加了以下内容:In Windows 10, version 1809, the following content was added:

更新了以下内容:The following was updated:

显示Display

Windows 10 版本 1809 中的“显示”驱动程序开发的更新包括:Updates to Display driver development in Windows 10, version 1809 include the following:

  • 光线跟踪:为了支持硬件加速的光线跟踪,我们在开发 Direct3D API 的同时开发了新的 Direct3D DDI。Raytracing New Direct3D DDI's were created in parallel of Direct3D API's, in order to support hardware-accelerated raytracing. 示例 DDI 包括:PFND3D12DDI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054PFND3D12DDI_COPY_RAYTRACING_ACCELERATION_STRUCTURE_0054Example DDIs include: PFND3D12DDI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054, PFND3D12DDI_COPY_RAYTRACING_ACCELERATION_STRUCTURE_0054. 有关光线跟踪的详细信息,请参阅宣布推出 Microsoft DirectX 光线跟踪For more info about raytracing, see Announcing Microsoft DirectX Raytracing.

  • 通用驱动程序要求:WDDM 2.5 驱动程序需要确保其 DirectX11 UMD、DirectX12 UMD、KMD 以及这些组件加载的其他任何 DLL 遵守通用 API。Universal Driver Requirements WDDM 2.5 drivers will need to ensure their DirectX11 UMD, DirectX12 UMD, KMDs, and any other DLL loaded by these components, adhere to the Universal API.

  • 仅限 SRV 的平铺资源层 3:在 Windows 10 版本 1809 中,GPU 能够更以更低的正交性支持平铺资源层 3 功能。SRV-Only Tiled Resource Tier 3 In Windows 10, version 1809, Tiled Resource Tier 3 capabilities can be supported less-orthogonally by GPUs. Direct3D12 现在支持稀疏体积纹理,而无需进行无序访问和渲染器目标操作。Direct3D12 now supports sparse volume textures without requiring unordered-access and render-target operations. 仅限 SRV 的平铺资源层 3 是适合在第 2 层和第 3 层之间部署的概念层。SRV-Only Tiled Resource Tier 3 is a conceptual tier that fits between Tier 2 and Tier 3. 与当前的正交平铺资源层 3 一样,硬件支持是可选的。Hardware support is optional, just like orthogonal Tiled Resource Tier 3 support currently is. 但是,仅限 SRV 的平铺资源层 3 支持是一个超集层,需要平铺资源层 2 的支持。But, supporting SRV-Only Tiled Resource Tier 3 is a super-set tier that requires support for Tiled Resource Tier 2.

    已播发正交平铺资源层 3 支持的驱动程序只需更新其驱动程序即可支持最新的“选项上限”DDI 结构版本。Drivers that already advertise support for orthogonal Tiled Resource Tier 3 merely have to update their drivers to support the latest “options caps” DDI structure version. 对于已能支持正交平铺资源层 3 的任何硬件,运行时会将仅限 SRV 的平铺资源层 3 支持播发到应用程序。The runtime will advertise SRV-Only Tiled Resource Tier 3 support to applications for any hardware that already supports orthogonal Tiled Resource Tier 3.

  • 渲染通道:已添加渲染通道功能来实现以下目的:Render Pass The Render Pass feature was added to:

    • 在现有的驱动程序上运行新的 API。Allow new APIs to be run on existing drivers.
    • 使用户模式驱动程序能够选择最佳的渲染路径,且不会严重降低 CPU 的性能。Allow user mode drivers to choose optimal rendering path without heavy CPU penalty.
  • 元命令:元命令是代表 IHV 加速算法的 Direct3D12 对象。Meta-commands A Meta-command is Direct3D12 object that represents an IHV-accelerated algorithm. 它是对驱动程序实现的命令生成器的不透明引用。It’s an opaque reference to a command generator implemented by the driver. 元命令的更新包括描述符表绑定和纹理绑定。Meta-command updates include Descriptor Table Binding and Texture binding. 请参阅 D3D12DDI_META_COMMAND_PARAMETER_TYPED3D12DDIARG_META_COMMAND_PARAMETER_DESCSee D3D12DDI_META_COMMAND_PARAMETER_TYPE and D3D12DDIARG_META_COMMAND_PARAMETER_DESC.

    启用计算算法以使用纹理资源(重排内存)Enable Compute Algorithms to use Texture Resources (swizzled memory)

    • 启用图形管道算法Enable Graphics Pipeline Algorithms
  • HDR 亮度补偿:引入了新的 SDR 亮度提升技术,以将 SDR 内容的参考白色部分提高到用户所需的值,这样就能够以 200-240 典型尼特值再现 SDR 内容,相当于用户预期的 SDR 显示效果。HDR Brightness Compensation A new SDR brightness boost was introduced to raise the reference white of SDR content to the user-desired value, allowing SDR content to be reproduced to a typical 200-240 nits, which is equivalent to what users have expected for SDR displays. SDR 亮度提升在两个方面会影响总体 Brightness3 行为:SDR brightness boost affects overall Brightness3 behavior in two ways:

    1. 只能在预先混合的前提下,针对 SDR 内容应用此提升。This boost is applied pre-blend only on SDR content. HDR 内容不受影响。HDR content is not affected. 同时,对于大多数笔记本电脑/brightness3 方案,用户预期所有内容(SDR 和 HDR)可调整。Meanwhile, for most laptop/brightness3 scenarios, users expect all content (SDR and HDR) to be adjusted.

    2. 当 OS 中的 Brightness3 堆栈确定所需的尼特值时,并不知道已经应用了 SDR 提升。When the Brightness3 stack in the OS determines the desired nits value, it is not aware of the already applied SDR boost.

      驱动程序必须对来自 HDR Brightness3 DDI 的所需尼特值应用补偿。The driver must then apply a compensation to the desired nits value coming from Brightness3 DDIs for HDR. 由于图形驱动程序(和下游的 TCON 等)将会修改内容的像素值以获取所需的尼特值,因此,还应该对应用程序通过 D3DDDI_HDR_METADATA_HDR10 提供的 HDR 内容元数据或者通过 DxgkDdiSetTargetAdjustedColorimetry 提供的 OS 默认值应用补偿。Since Graphics drivers (and downstream TCON etc.) will be modifying the pixel values of the content to get desired nits value, there should also be a compensation applied to the HDR content metadata as provided by the applications via D3DDDI_HDR_METADATA_HDR10 or OS defaults via DxgkDdiSetTargetAdjustedColorimetry. 由于图形驱动程序 (TCON) 负责修改像素数据,因此驱动程序需负责补偿 HDR 内容元数据。Since Graphics driver (TCONs) are responsible for modifying the pixel data, it is the driver’s responsibility to compensate the HDR content metadata.

  • HDR 像素格式支持:此内核模式设备驱动程序接口 (DDI) 更改包含在 WDDM 2.5 中,公开了驱动程序/设备报告的新功能,提供有关驱动程序/设备支持的 HDR 功能的信息。HDR Pixel Format Support This kernel mode device driver interface (DDI) change is part of WDDM 2.5 to expose new capabilities to be reported by driver/device, providing information regarding the HDR functionality supported by the driver/device.

    目前,OS 根据从 DdiUpdateMonitorLinkInfo 读取的 DXGK_MONITORLINKINFO_CAPABILITIES 结构的 HighColorSpace 位确定驱动程序/设备是否支持 HDR。Currently, OS determines if the driver/device supports HDR based on the HighColorSpace bit of the DXGK_MONITORLINKINFO_CAPABILITIES structure as read from DdiUpdateMonitorLinkInfo. HighColorSpace 位提供以 HDR 模式运行的驱动程序/链接/监视功能的组合。The HighColorSpace bit gives a combination of driver/link/monitor capability to run in HDR mode.

    驱动程序报告的 HDR 功能现在包括驱动程序/设备级功能,可让 OS 知道驱动程序/设备是支持真正的 HDR(即 FP16HDR),还是仅支持受限形式的 HDR(即 ARGB10HDR),相关定义如下:The HDR capabilities reporting by the driver now includes a Driver/Device level capabilities, which will let OS know if the Driver/Device supports true HDR (i.e. FP16HDR), or only supports a limited form of HDR (i.e. ARGB10HDR), as defined below:

    • FP16HDR:驱动程序/设备可将 FP16 像素格式图面与 scRGB/CCCS 色彩空间结合使用,并在运行扫描输出管道期间应用 PQ/2084 编码和 BT.2020 原色,以将输出信号转换为 HDR10。FP16HDR: Driver/device can take FP16 pixel format surfaces with scRGB/CCCS colorspace and apply PQ/2084 encoding and BT.2020 primaries during scanout pipeline to convert output signal to HDR10.

    • ARGB10HDR:驱动程序/设备可以采用已经过 PQ/2084 编码的 ARGB10 像素格式图面,并扫描输出 HDR10 信号。ARGB10HDR: Driver/device can take ARGB10 pixel format surfaces which are already PQ/2084 encoded and scan out HDR10 signal. 驱动程序/设备无法处理上面定义的 FP16HDR,也无法处理 scRGB FP16 的扩展数值范围。Driver/device can’t handle FP16HDR as defined above or cannot handle the extended numeric range of scRGB FP16.

      图形驱动程序只能报告 FP16HDR 或 ARGB10HDR 的支持,因为它们并不真正采用超集/子集配置;如果同时报告支持 FP16HDR 和 ARGB10HDR,则 OS 会使启动适配器失败。Graphics drivers can only report support for either FP16HDR or ARGB10HDR as they are not really superset/subset configurations and OS will fail the Start Adapter if both are reported as supported at the same time. 请参阅 DXGK_MONITORLINKINFO_CAPABILITIES_DXGK_DISPLAY_DRIVERCAPS_EXTENSIONSee DXGK_MONITORLINKINFO_CAPABILITIES and _DXGK_DISPLAY_DRIVERCAPS_EXTENSION.

  • SDR 白水平:内核模式设备驱动程序接口的更改包括将新的参数添加到现有的 DDI,使图形驱动程序知道 OS 复合器对所有在 HDR 模式下显示的 SDR 内容应用的“SDR 白水平”值。SDR White Level A kernel mode device driver interface change includes adding new parameters to existing DDIs to let the Graphics drivers know the “SDR white level” value that is being applied by the OS compositor for all the SDR content, for a display which is running in HDR mode. 请参阅“_DXGK_COLORIMETRY”。See _DXGK_COLORIMETRY.

Windows 内核Windows kernel

核心内核中添加了几个新的 API:Several new APIs have been added in the core kernel:

网络Networking

NetAdapterCxNetAdapterCx

NDISNDIS

接收端缩放版本 2 (RSSv2) 已更新为版本 1.01。Receive side scaling version 2 (RSSv2) has been updated to version 1.01.

移动宽带Mobile broadband

  • 新的 OID 和 DDI 可以支持 MBB 设备的多个数据包数据协议 (MPDP) 接口。New OID and DDIs to support multiple packet data protocol (MPDP) interfaces for MBB devices.
  • 新的基于设备的重置和恢复能够以更可靠的方式重置和恢复 MBB 设备与驱动程序。New Device-based Reset and Recovery feature for more robust reset recovery for MBB devices and drivers.

移动宽带 WDF 类扩展 (MBBCx)Mobile Broadband WDF class extension (MBBCx)

MBBCx 电源管理方法已简化。MBBCx power management methods have been simplified.

尽管 Windows 10 版本 1803 中提供 MBBCx 的预览内容,但 Windows 10 版本 1809 的 WDK 版本中随附了 MBBCx。Though preview content for MBBCx was available in Windows 10, version 1803, MBBCx now ships in the Windows 10, version 1809 version of the WDK.

移动运营商Mobile operators

现在,桌面版 COSA 支持 AutoConnectOrder 设置The AutoConnectOrder setting is now supported in desktop COSA.

传感器Sensors

自动亮度调节功能支持:Support for auto Brightness feature:

已添加 PKEY_SensorData_IsValid 数据字段以支持传感器中的自动亮度调节。The PKEY_SensorData_IsValid data field has been added to support auto brightness in sensors.

有关详细信息,请参阅光传感器数据字段See Light sensor data fields for more info.

Windows 10 版本 1809 中的通用驱动程序Universal Drivers in Windows 10, version 1809

从 Windows 10 版本 1809 开始,Windows 支持灵活链接,可让你使用单个二进制文件来以 OneCore 和桌面 SKU 为目标。Starting in Windows 10, version 1809, Windows supports flexible linking, which enables you to use a single binary to target OneCore and Desktop SKUs. 若要启用灵活链接,请使用以下新的 SDK API:To enable flexible linking, use the following new SDK API:

此现有主题已得到增强,其中介绍了如何使用灵活链接来满足 DCHU 驱动程序设计原则的 U 要求:This existing topic has been enhanced to describe how to use flexible linking to comply with the U requirement of the DCHU driver design principles:

USBUSB

面向 USB 类型 C 驱动程序开发人员的新功能:New feature for USB Type-C driver developers:

如果硬件符合 UCSI 规范并且需要通过非 ACPI 传输进行通信,则你可以利用新的类扩展 — (UcmUcsiCx.sys)。If your hardware is UCSI compliant and requires communication over a non-ACPI transport, you can utilize the new class extension — (UcmUcsiCx.sys). 此扩展以传输无关的方式实现 UCSI 规范。This implements the UCSI specification in a transport agnostic way. 只需编写极少量的代码,驱动程序(即 UcmUcsiCx 的客户端)即可通过非 ACPI 传输来与 USB 类型 C 硬件通信。With minimal amount of code, your driver, which is a client to UcmUcsiCx, can communicate with the USB Type-C hardware over non-ACPI transport. 本主题介绍 UCSI 类扩展提供的服务,以及客户端驱动程序的预期行为。This topic describes the services provided by the UCSI class extension and the expected behavior of the client driver.

使用面向 USB 类型 C 驱动程序开发人员的新功能可以监视 USB 类型 C 连接器的活动和/或参与 USB 类型 C 连接器的策略决策。New feature for USB Type-C driver developers that allows you to monitor the activities of USB Type-C connectors and/or get involved in policy decisions on USB Type-C connectors.

例如,根据热量状况控制设备的充电,使设备不会过热。For example, control their device’s charging based on thermal conditions, so that the device won’t be overheated.

适用于模拟 USB 设备 (UDE) - 1.1 和 USB 主控制器 (Ucx) 1.5 的新版类扩展:New versions of the class extensions available for emulated USB devices (UDE) -- 1.1 and USB host controller (Ucx) 1.5:

模拟设备现在可通过功能 (FLDR) 和平台 (PLDR) 重置来支持更好的重置和恢复。Emulated devices now support better reset recovery through function (FLDR) and platform (PLDR) resets. 客户端驱动程序现在可让系统知道设备需要重置以及重置的类型:功能或平台。The client driver can now inform the system that the device needs a reset and the type of reset: function or platform.

主控制器还可通过以下方式选择 FLDR 和 PLDR 重置:The host controller can also opt for FLDR and PLDR resets through:

Wi-FiWi-fi

WLAN 设备驱动程序接口 (WDI) 规范已更新为版本 1.1.7。The WLAN device driver interface (WDI) spec has been updated to version 1.1.7.

  • 添加了 WDI 驱动程序的最新 802.11ax PHY 类型的支持。Added support for the latest 802.11ax PHY type for WDI drivers.
  • 添加了未经请求的设备服务指示的支持。Added support for unsolicited device service indications.