通过


Windows SDK 中的新增功能

在新的或现有的 Windows 应用中,可以通过多种方式获取 Windows SDK:从安装程序或 ISO、Visual Studio 2022 Installer 或下载 NuGet 包进行安装。 可以通过手动安装新版本、在 Visual Studio 中更新或更新 Nuget 包来更新 SDK

有关最新版本,请参阅 Windows SDK 的下载

版本 10.0.28000.1721

发布日期: 2026 年 3 月

这是 28000 SDK 系列的主要版本更新。

WinRT API 添加和更新

Windows.Devices.Haptics (UniversalApiContract 19.0):
新类型:

  • HapticDeviceType 枚举 - 定义触觉设备类型:NoneGenericPenTouchpadMouse
  • HapticsControllerOverrideToken 结构 - 用于管理触觉控制器替代的令牌
  • IInputHapticsManager 接口 - 提供每线程触觉管理,包括发送波形、控制持续时间/播放计数、停止反馈以及覆盖触觉控制器的方法。
  • IInputHapticsManagerStaticsinterface — Static methods: IsSupported, , IsHapticDevicePresentGetForCurrentThreadTryGetForThread
  • InputHapticsManager 运行时类

Windows.ApplicationModel.Contacts.Provider (UniversalApiContract 19.0):
新类型:

  • IContactProvider 接口 - 提供用于联系人提供者场景的 GetContactFromRemoteIdAsync 方法和 ContactListId 属性
WinRT 实验 API 新增功能(UniversalApiContract 20.0)

Windows.Devices.Printer
新类型:

  • IppAttributeGroupKind 枚举 - 定义 IPP 属性组类型:PrinterJobOperation
  • IIppAttributeConverterStatics接口 — 提供 ConvertPrintTicketToIppAttributesForPrinter、、 ConvertBufferToIppAttributesConvertIppAttributesToBuffer
  • IppAttributeConverter 运行时类
  • IPdlPassthroughProvider2 接口 - 添加 IsPassthroughWithJobAttributesSupported 属性和 StartPrintJobWithIppJobAttributes 方法

Windows.Graphics.Printing.PrintSupport
新类型:

  • IPrintSupportPrintDeviceCapabilitiesChangedEventArgs5 接口 — 添加SetPdlPassthroughWithJobAttributesSupported 方法

Windows.Graphics.Printing.Workflow
新类型:

  • IPrintWorkflowPrinterJob3 接口 — 添加 IsPassthroughJob 属性 GetPassthroughJobAttributesGetPassthroughJobOperationAttributes 方法

Windows.UI.Shell.Tasks
新类型:

  • IAppTaskInfo2 接口 - 添加 IdHiddenByUser 属性和 UpdateDeepLink 方法
  • AppTaskContract 版本从 1.0 升级到 2.0
Win32 API 添加和更新

视频编码 - D3D12 重建图片输出 (codecapi.h / mfapi.h)
基于 D3D12 的视频编码器重新构造图片输出的新枚举和属性:

  • eAVEncVideoD3D12ReconstructedPictureOutputMode枚举——值:NoneCopyShared
  • CODECAPI_AVEncVideoD3D12ReconstructedPictureOutputMode 编解码器 API GUID
  • MFSampleExtension_VideoEncodeD3D12ReconstructedPicture Media Foundation 示例扩展 GUID

HTTP 服务器 API (http.h)
新的服务器属性和结构:

  • HttpServerRequestInfoProperty (=19) - 启用可选请求信息字段的新服务器属性
  • HTTP_REQUEST_INFO_PROPERTY_INFO 带有 HTTP_REQUEST_INFO_FLAG_INITIAL_TTL 标志的结构
  • HttpFeatureTlsHandshakePerformanceCounters (=17) — TLS 握手性能计数器的新 HTTP 功能

图形/显示驱动程序 (d3dukmdt.h)
新的驱动程序功能:

  • DXGK_DRIVER_FEATURE_PANEL_BUFFER_CONTROL (=46)和相应的 DXGK_FEATURE_PANEL_BUFFER_CONTROL 特征 ID

事件跟踪 (evntprov.h / evntcons.h)
新定义:

  • EVENT_DATA_DESCRIPTOR_TYPE_RESERVED1 (=4) - 保留事件数据描述符类型
  • EventProviderSetReserved2 — 枚举中的 EVENT_INFO_CLASS 新值
  • EVENT_HEADER_FLAG_RESERVED1 (0x0400) - 新建事件标头标志

存储提供程序属性 (propkey.h)
新属性:

  • PKEY_StorageProviderUserAccountKind — 标识经过身份验证的存储提供程序用户的帐户类型(未知、使用者、业务)

用户输入(WinUser.h)
新函数:

  • ConvertPrimaryPointerToMouseDrag — 将主指针输入转换为鼠标拖动操作

更新的结构:

  • TOUCHPAD_PARAMETERS_V2 — 改进了 C/C++ 布局兼容性

WebAuthn 插件 API (webauthnplugin.h)
从实验阶段过渡到稳定版:

  • WEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_OPTIONS_2(以前 EXPERIMENTAL_WEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_OPTIONS_2
  • WEBAUTHN_PLUGIN_UPDATE_AUTHENTICATOR_DETAILS_2(以前 EXPERIMENTAL_WEBAUTHN_PLUGIN_UPDATE_AUTHENTICATOR_DETAILS_2
  • WEBAUTHN_PLUGIN_USER_VERIFICATION_REQUEST_2(以前 EXPERIMENTAL_WEBAUTHN_PLUGIN_USER_VERIFICATION_REQUEST_2
  • WebAuthNPluginAddAuthenticator2WebAuthNPluginUpdateAuthenticatorDetails2WebAuthNPluginPerformUserVerification2函数

Rust Bindgen 兼容性 (ntdef.h / winnt.h)
已更新:

  • DECLSPEC_NOINITALL 宏现在排除 Rust bindgen 通过 !defined(RUST_BINDGEN)
COM API 更新

Shell 对象 IDL (ShObjIdl_core.idl)
更新:

  • IAttachmentExecute2 — 方法注释已更正: Save2() 重命名为 SaveNoVirusCheck()SaveWithUI2() 重命名为 SaveWithUINoVirusCheck()

内部版本 10.0.26100.7705

发布日期: 2026 年 2 月

WinRT API 添加和更新

Windows.UI.Shell.Tasks
用于管理应用任务的新命名空间:

  • AppTaskContract - 任务 API 的 API 协定
  • AppTaskState - 任务状态的枚举
  • IAppTaskContentIAppTaskContentStatics - 任务内容的接口
  • IAppTaskInfoIAppTaskInfo2IAppTaskInfoStatics - 任务信息的接口
  • IAppTaskResultAssetIAppTaskResultAssetFactory - 任务结果资产的接口
  • AppTaskContent - 任务内容的运行时类
  • AppTaskInfo - 用于任务信息的运行时类
  • AppTaskResultAsset - 任务结果资产的运行时类

Windows.UI.Shell.CompanionWindows
用于配套窗口管理的新命名空间:

  • CompanionWindowsContract - 配套窗口的 API 协定
  • CompanionWindowRequestResultStatus - 请求结果状态的枚举
  • ICompanionWindowCoordinatorICompanionWindowCoordinatorStatics - 协调器接口
  • ICompanionWindowRequestICompanionWindowRequestResult - 请求接口
  • CompanionWindowCoordinator - 用于协调配套窗口的运行时类
  • CompanionWindowRequestCompanionWindowRequestResult - 请求的运行时类

Windows.Devices.Haptics
触觉反馈的新类型和增强功能:

  • HapticDeviceType - 用于触觉设备类型的新枚举类型(UniversalApiContract 19.0)
  • HapticsControllerOverrideToken - 控制器替代令牌的新结构
  • IInputHapticsManagerIInputHapticsManagerStatics - 用于输入触觉管理的新接口
  • InputHapticsManager - 用于管理输入触觉的新运行时类
Win32 API 添加和更新

Windows 虚拟机管理程序仿真 (WinHvEmulation.h)
为 AMD64 添加了新的仿真器管理功能:

  • WHvEmulatorCreateEmulator - 使用指定的回调创建新的模拟器实例
  • WHvEmulatorDestroyEmulator - 销毁模拟器实例
  • 用于内存访问、I/O 端口处理和虚拟处理器注册作的其他模拟器管理 API

WebAuthn 插件 (webauthnplugin.h)
更新的文档:

  • 插件 RPID 现在是必需的(之前是可选的),用于从插件发起的嵌套的 WebAuthN 调用。

Windows 错误代码 (winerror.h)
更新了错误定义和代码

图形驱动程序模型 (d3dukmdt.h, d3dkmdt.h)
图形驱动程序显示模式定义和用户模式类型的更新

Windows 用户界面 (WinUser.h)
用户界面定义的更新

加密 (wincrypt.h)
加密函数定义的更新

属性键 (propkey.h)
更新的属性键定义

HTTP API (http.h)
HTTP 服务器 API 定义的更新

此 SDK 版本中修复了以下问题: Visual Studio 中由 Windows SDK 10.0.26100.7175 触发的 BinSkim 警告 4146


内部版本 10.0.26100.7627

发布日期: 2026 年 1 月

WinRT API 添加和更新

Windows.Security.Credentials
新接口:

  • IKeyCredentialManagerCreateWithWindowStatics - 提供使用关联窗口句柄创建密钥凭证的方法
  • IKeyCredentialWithWindow - 使用窗口关联支持扩展密钥凭据功能

新方法:

  • KeyCredentialManager.RequestCreateForWindowAsync - 创建与特定窗口关联的密钥凭据
Win32 API 添加和更新

WinSQLite (winsqlite3.h / winsqlite3ext.h)
SQLite 版本更新:

新的错误代码:

  • SQLITE_ERROR_RESERVESIZE
  • SQLITE_ERROR_KEY
  • SQLITE_ERROR_UNABLE

新的 IO 错误代码:

  • SQLITE_IOERR_BADKEY
  • SQLITE_IOERR_CODEC

新功能:

  • SQLITE_IOCAP_SUBPAGE_READ

新的文件控制代码:

  • SQLITE_FCNTL_NULL_IO
  • SQLITE_FCNTL_BLOCK_ON_CONNECT

新的源代码管理常量:

  • SQLITE_SCM_BRANCH
  • SQLITE_SCM_TAGS
  • SQLITE_SCM_DATETIME

winnt.h
新定义:

  • SECURITY_MANDATORY_MEDIUM_PLUS_CREDUI_RID - 凭证用户界面上下文的新安全强制完整性级别 RID

内部版本 10.0.26100.7463

发布日期: 2025 年 12 月

WinRT API 添加和更新

Windows.Management.Deployment

  • 添加了PackageOperationPriority枚举和新的优先级字段,并通过AddPackageOptionsStagePackageOptions提供。
Win32 API 添加和更新

驱动程序运行时报告
添加了新的结构:

  • _DRIVER_INFO_ENTRY
  • _DRIVER_RUNTIME_REPORT
  • _RUNTIME_REPORT_DIGEST_HEADER

DNS SVCB/HTTPS 记录分析
添加了新的结构:

  • DNS_SVCB_PARAM
  • DNS_SVCB_PARAM_IPV4DNS_SVCB_PARAM_IPV6
  • DNS_SVCB_PARAM_ALPN
  • DNS_SVCB_PARAM_MANDATORY
  • DNS_SVCB_PARAM_UNKNOWN

搜索和查询引擎
更新或添加的结构:

  • CONTENTRESTRICTION
  • VECTORRESTRICTION
  • NODERESTRICTION
  • NOTRESTRICTION

音频/设备激活
为音频堆栈中的新的设备级激活场景添加了接口IMMDeviceActivator

固件表枚举
已更新:

  • EnumSystemFirmwareTables
  • GetSystemFirmwareTable

内部版本 10.0.26100.7175

发布日期: 2025 年 11 月

更新的 API

对以下 Win32 API 标头进行的更新(定义、结构、枚举、接口和其他更改):

  • AppxPackaging.h、AppxPackaging.idl(接口 IAppxFactory4、IAppxBundleFactory3、IAppxBundleReader2)
新 API

WinRT 命名空间已更新(新的或修改的 API/类型):

  • Windows.ApplicationModel.DataTransfer
  • Windows.Management.Update
  • Windows.Security.Credentials
  • Windows.Storage.Provider
  • Windows.System.RemoteSystems
  • AppxManifestTypes.xsd 架构已更新
已知问题

Visual Studio 中由 Windows SDK 10.0.26100.7175 触发的 BinSkim 警告 4146

  • 我们意识到,由于在 Windows SDK 版本 10.0.26100.7175 的一小部分库中显式禁用了警告 C4146,导致在 Visual Studio 17.14.22 中附带的此版本中,使用 BinSkim 规则 BA2007 的构建可能会失败。
  • 使用此 SDK 版本时,开发人员可能会看到生成中断或安全工具验证失败,具体取决于项目配置和工具链设置。
  • 已确定修复程序,目前正在为 Visual Studio 更新做好准备。 这会更新受影响的 SDK 内容以还原预期行为。 在修补程序可用之前,可以使用以下缓解措施之一:
    • 将项目重定向到另一个受支持的 Windows SDK 版本,或
    • 取消生成配置中的特定 BinSkim 警告(不建议长期使用)

构建 10.0.26100.6901

发布日期: 2025 年 10 月

更新的 API

对以下 Win32 API 标头、定义、结构、枚举和其他更改进行的更新:

  • networksetup.h
  • windows.system.power.thermal.h
  • windows.ui.input.preview.text.h
新 API

向以下 WinRT 命名空间添加了新 API:

  • Windows.AI.Actions
  • Windows.Management.Update
  • Windows.Media.Core

版本 10.0.26100.6584

发布日期: 2025 年 9 月

与 Windows 11 版本 25h2 正式发布相配合的版本。

更新的 API

对以下 Win32 API 标头、定义、结构、枚举和其他更改进行的更新:

  • winnt.h
  • WtsApi32.h
  • wtsdefs.h
  • wtsprotocol.h
  • NetworkSetup.h
  • FoundationManifestSchema.xsd
  • AccessControlManifestSchema.xsd
  • AppDataManifestSchema.xsd

向以下 WinRT 标头和 idl 添加了新 API:

  • windows.security.credentials.h
  • windows.system.power.thermal.h、windows.system.power.thermal.idl
新的实验 API

已将实验 API 更新或添加到以下各项:

  • windows.ai.actions.h
  • windows.ai.actions.hosting.h
  • windows.ai.agents.mcp.h
  • windows.ai.agents.h
  • windows.graphics.printing.printsupport.h
  • windows.graphics.printing.printticket.h, windows.graphics.printing.printticket.idl
  • windows.devices.printers.h
  • windows.applicationmodel.contacts.h

内部版本 10.0.26100.4948

发布日期: 2025 年 8 月

更新的 API

对以下 Win32 API 标头进行的更新、添加新定义、结构、枚举和其他更改:

  • ModelContextProtocolHelpers.h
  • PrintSupportManifestSchema_v3.xsd
新 API

向以下 WinRT 标头和 idl 添加了新 API:

  • windows.graphics.printing.printsupport.h
  • windows.storage.provider.h
  • windows.devices.printers.h
  • windows.applicationmodel.activation.h
  • windows.ui.input.preview.text.h

从中删除了实验标记:

  • windows.ui.input.preview.text (以前ENABLE_WINRT_EXPERIMENTAL_TYPES后面的 API 现已稳定)

内部版本 10.0.26100.4654

发布日期: 2025 年 7 月

更新的 API

对以下 Win32 API 标头进行的更新、添加新定义、结构、枚举和其他更改:

  • bugcodes.h
  • d3d12.h
  • d3d12.idl
  • DbgEng.h
  • fwpmu.h
  • hidusage.h
  • ksarm64.h
  • minidumpapiset.h
  • ModelContextProtocolHelpers.h
  • ntddstor.h
  • ntddvdeo.h
  • ntlsa.h
  • ntstatus.h
  • nvme.h
  • Raseapif.h
  • sherrors.h
  • srb.h
  • WaaSApiTypes.h
  • WaaSApiTypes.idl
  • webauthn.h
  • winbio_types.h
  • winerror.h
  • WinHvPlatformDefs.h
  • winioctl.h
新 API

向以下 Win32 标头添加了新 API:

  • wincodec.h、wincodec.idl
    • IWICBitmapFrameChainReader
    • IWICBitmapFrameChainWriter
    • IWICDisplayAdaptationControl2
  • wincodecsdk.h, wincodecsdk.idl
    • GUID_MetadataFormatGainMap
    • CLSID_WICGainMapMetadataReader
    • CLSID_WICGainMapMetadataWriter

添加了新的 WinRT 预览命名空间:

  • windows.ui.input.preview.text

版本 10.0.26100.4188

发布日期: 2025 年 5 月

新 API

向以下 WinRT 命名空间添加或更新了新 API:

  • Windows.AI.Actions
  • Windows.AI.ModelContextProtocol (实验性)
  • Windows.ApplicationModel.Background.Bluetooth
  • Windows.Devices.Bluetooth
  • Windows.UI.ViewManagement

向以下 Win32 标头添加了新 API:

  • http.h
    • HttpQueryRequestProperty
  • ntlsa.h
    • LsaSetLocalSystemAccess
    • LsaQueryLocalSystemAccess
    • LsaQueryLocalSystemAccessAll
  • WinUser.h
    • ConvertToInterceptWindow
    • IsInterceptWindow
    • ApplyWindowAction
    • RegisterCloakedNotification
    • EnterMoveSizeLoop
更新的 API

Win32 CRT 标头的更新:

  • corecrt_search.h
  • wchar.h

对以下 Win32 API 标头进行的更新,添加新定义、结构和枚举:

  • CertSrv.h
  • codecapi.h
  • dwmapi.h
  • MDMRegistration.h
  • mfapi.h
  • ntddvdeo.h
  • NTSecAPI.h
  • NTSecPKG.h
  • ntstatus.h
  • overridecapabilities.h
  • Propkey.h
  • WindowsSearchErrors.h
  • Winldap.h
  • rpcndr.h
  • winerror.h

添加了新的 Win32 API 标头:

  • ModelContextProtocolHelpers.h
新的实验 API

向以下 Win32 API 标头添加了实验性 API:

  • webauthn.h
  • WinBio.h
  • winbio_types.h

内部版本 10.0.26100.3916

发布日期: 2025 年 4 月

新 API

windows.ui.viewmanagement WinRT 命名空间添加了新的 API,以支持用户的首选 UserInteractionMode。

searchapi.h Win 32 API 标头添加了对语义搜索的支持。

添加了新的 GamingExperience Win32 API 标头。

向以下 Win32 标头添加了新 API:

  • dcomp.h
  • http.h
  • ntsecpkg.h
  • winioctl.h

内部版本 10.0.26100.3624

发布日期: 2025 年 3 月

新 API

windows.ui.viewmanagement.core WinRT 命名空间中为 CoreInputViewKind 枚举添加了游戏手柄支持。

向以下 Win32 标头添加了新 API:

  • fileapi.h
  • ntlsa.h
  • shobjidl_core.h
  • softintrin.h
  • webauthn.h
  • webservices.h
  • winenclaveapi.h
  • winnt.h

内部版本 10.0.26100.3323

发布日期: 2025 年 2 月

更新的 API

重命名了上一版本中添加到 windows.devices.sensors 命名空间的 PrivacyScreen WinRT API。 这些 API 现在是 OnlookerDetection API。


内部版本 10.0.26100.3037

发布日期: 2025 年 1 月

新 API

windows.devices.sensors 命名空间中添加了新的 WinRT API:

  • PrivacyScreenOptions 类。
  • HumanPresenceSettings.PrivacyScreenOptions 方法。
  • LightSensor.IsChromaticitySupported 方法。
  • 还添加了新的属性和结构以支持这些方法。
新的实验 API

实验性 API 在以下 Win32 头文件中进行了更改(请注意,实验性 API 不应在生产环境中使用):

  • webauthn.h

内部版本 10.0.26100.2454

发布日期: 2025 年 1 月

更新的 API

对以下 Win32 标头进行了重大添加或更改:

  • windows.applicationmodel.background.h:添加了许多与蓝牙相关的 API。
  • windows.applicationmodel.calls.h:添加了许多 VOIP 调用配置 API。

添加或修改了以下 Win32 API:

certsrv.h:

  • CRL_BUILD_PROPID
  • CRL_EXTRACT_KEY_INDEX
  • CRL_EXTRACT_PARTITION_INDEX

clusapi.h:

  • NodeSriovInfo

combaseapi.h:

  • STDMETHOD_CHPE_PATCHABLE

d2d11.h:

  • d3d11.D3D11_FEATURE_DATA_D3D11_OPTIONS6

filter.h:

  • IPixelFilter
  • IPixelFilter.GetImageInfo
  • IPixelFilter.GetPixelsForImage
  • IMAGE_INFO
  • IPixelFilterVtbl

http.h:

  • _HTTP_REQUEST_TRANSPORT_IDLE_CONNECTION_TIMEOUT_INFO

msclus.h:

  • NodeSriovInfo

ntsecapi.h:

  • _KERB_CHANGEMACHINEPASSWORD_REQUEST

winenclaveapi.h:

  • EnclaveEncryptDataForTrustlet
  • EnclaveUsesAttestedKeys

winnt.h:

  • STDAPI_CHPE_PATCHABLE_

winuser.h:

  • GetCurrentMonitorTopologyId

请遵循最佳做法,确保 API 在调用之前在计算机上可用。

新的实验 API

许多实验 API 已添加到以下 Win32 标头中(请注意,实验 API 不应在生产环境中使用):

  • webauthn.h

内部版本 10.0.26100.1742

发布日期: 2024 年 9 月 24 日

要与 Windows 11 版本 24H2 正式发布相对应的版本。


版本 10.0.26100

发布日期: 2024 年 5 月 5 日

10.0.26100 系列的初始版本,对应于 Windows 11 版本 24H2 预览版。


版本 10.0.22621.3235

发布日期:2024 年 2 月 29

服务更新 10.0.22621.3235。


版本 10.0.22621.2428

发布日期: 2023 年 10 月 24 日

服务更新 10.0.22621.2428。


内部版本 10.0.22621.1778

发布日期: 2023 年 5 月

服务更新 10.0.22621.1778。

突出显示的功能
  • WindowTabManager API 允许具有选项卡式接口的应用程序向 Windows shell 提供有关打开的选项卡的信息。
  • HumanPresence API 的更新,以提高易用性,并为支持人机状态功能的传感器添加新设置。
  • RemoteDesktop API 允许应用程序在远程桌面和本地桌面之间切换。

适用于 Windows 11 版本 22H2 的 Windows SDK

服务更新 10.0.22621.755。 包括对 VS 17.4 版本的 ARM64 支持


Windows 10 SDK 版本 2104

更新的 API
  • 已删除 api-ms-win-net-isolation-l1-1-0.lib。 与 api-ms-win-net-isolation-l1-1-0.lib 链接的应用可以将 t OneCoreUAP.lib 切换为替换项。
  • 删除了 irprops.lib。 对链接 irprops.lib 的应用可以直接切换到 bthprops.lib。
  • 将 ENUM tagServerSelection 从 wuapicommon.h 移动到 wupai.h 并删除了标头。 如果要使用 ENUM tagServerSelection,则需要包括 wuapi.h 或 wuapi.idl。
  • Windows 10 WinRT API 包允许向 .NET Framework 4.5+ 和 .NET Core 3.0+ 库和应用添加最新的 Windows 运行时 API 支持。 若要访问 Windows 10 WinRT API 包,请参阅 Microsoft.Windows.SDK.Contracts nuget 包
  • printf 系列函数现在符合 IEEE 754 舍入规则,在打印完全可表示的浮点数时,并且会遵循通过调用 fesetround 请求的舍入模式。 当与 legacy_stdio_float_rounding.obj 链接时,可以启用旧行为。
  • Windows 应用认证工具包。 在应用认证工具包和 Windows 应用商店中,已将多个新 API 添加到受支持的 API 列表中。 如果在 Visual Studio 的受支持列表中,有 API 显示为灰色或被禁用,那么可以对源码文件进行小幅修改以访问它们。 有关更多详细信息,请参阅此 已知问题查找测试的更多更新
工具更新

消息编译器(mc.exe)更新:

  • 现在,检测 .mc 文件中的 Unicode 字节顺序标记(BOM)。 如果 .mc 文件以 UTF-8 BOM 开头,它将读取为 UTF-8 文件。 否则,如果文件以 UTF-16LE BOM 开头,它将被读取为 UTF-16LE 文件。 如果指定了 -u 参数,它将读取为 UTF-16LE 文件。 否则,将使用当前代码页(CP_ACP)进行读取。
  • 现在,避免了 MC 生成的 C/C++ ETW 帮助程序中出现的一个定义规则 (ODR, one-definition-rule) 问题(例如,当两个具有 MCGEN_EVENTWRITETRANSFER 冲突定义的 .cpp 文件链接到同一二进制文件时,MC 生成的 ETW 帮助程序将会遵从每个 .cpp 文件中 MCGEN_EVENTWRITETRANSFER 的定义,而不是随意选择一个)。

Windows 跟踪预处理器(tracewpp.exe)更新:

  • 支持 Unicode 输入(.ini、.tpl 和源代码)文件。 从 UTF-8 或 UTF-16 字节顺序标记(BOM)开始的输入文件将读取为 Unicode。 使用当前代码页(CP_ACP)读取未以 BOM 开头的输入文件。 为了向后兼容,如果指定了 -UnicodeIgnore 命令行参数,则从 UTF-16 BOM 开始的文件将被视为空。
  • 支持 Unicode 输出 (.tmh) 文件。 默认情况下,将使用当前代码页(CP_ACP)对输出文件进行编码。 使用命令行参数 -cp:UTF-8 或 -cp:UTF-16 生成 Unicode 输出文件。
  • 行为更改:tracewpp 现在将所有输入文本转换为 Unicode,在 Unicode 中执行处理,并将输出文本转换为指定的输出编码。 早期版本的 tracewpp 避免了 Unicode 转换,并执行了文本处理(假设单字节字符集)。 在输入文件不符合当前代码页的情况下,这可能会导致行为更改。 如果这是个问题,请考虑将输入文件转换为 UTF-8(使用 BOM)和/或使用 -cp:UTF-8 命令行参数以避免编码歧义。

TraceLoggingProvider.h 更新:

  • 避免由配置宏冲突引起的单定义规则(ODR)问题(例如,当两个具有TLG_EVENT_WRITE_TRANSFER冲突定义的.cpp文件链接到同一二进制文件时,TraceLoggingProvider.h 帮助程序现在将尊重每个.cpp文件中TLG_EVENT_WRITE_TRANSFER的定义,而不是任意选取一个或另一个文件)。
  • 在C++代码中,TraceLoggingWrite 宏已更新,以便使用可变模板在类似事件之间更好地共享代码。

对你的应用进行签名。 Device Guard 签名是适用于企业和教育的 Microsoft Store 中提供的 Device Guard 功能,它允许企业保证每个应用都来自受信任的源。 请参阅有关 Device Guard 签名 的文档。

SDK 更新
  • SDK 标头已更新,以解决在 MSVC 编译器 cl.exe 中使用符合标准的 C 预处理器(/Zc:preprocessor, 在 VS 2019 v16.6 中引入)进行编译时发生的错误。
  • 已修复:“GdiplusTypes.h 未使用 NOMINMAX 进行编译”。 请参阅 Visual Studio 反馈
  • 使用 /std:c11 或 /std:c17 进行生成时,现在将获得:
    • C99 tgmath.h
    • assert.h 中的 C11 static_assert
    • C11 stdalign.h
    • C11 stdnoreturn.h
已知问题
  • 面向 ARM64 的 Windows v11 的 Clang/LLVM 与最新的 winnt.h 不兼容

    • 解决方法是,当目标是 ARM64 平台时,可以使用较早版本的 Windows 10 SDK(构建 19041),或使用适用于 Windows v10 的 clang/LLVM。
  • DirectXMath(包括此版本中的版本 3.16)与 ARM64 上的适用于 Windows 的 Clang/LLVM 不兼容。

  • 更改了某些头文件的情况,以便对区分大小写的文件系统进行规范化:

    • OAIdl.h、ObjIdl.h、ObjIdlbase.h、OCIdl.h、Ole2.h、OleAuto.h 和 OleCtl.h 均采用小写形式。
    • 对于 Windows 构建的 Clang/LLVM,若要在没有警告的情况下支持旧版本和最新的 Windows 10 SDK,请在 CLI 中添加 -Wno-nonportable-system-include-path,或在源代码中使用以下 #pragma:

    #ifdef __clang__

    #pragma clang diagnostic ignored "-Wnonportable-system-include-path"

    #endif


Windows 10 SDK 版本 2004 服务更新

发布日期: 2020 年 12 月 16 日

Bug 修复
  • 在链接本机 OS 库和伞库(例如 onecoreuap.lib 和 kernel32.lib)时,解决了不可预知且难以诊断的崩溃问题。
  • 已解决阻止 AppVerifier 正常工作的问题
  • 解决了导致 WACK 在“任务未能启用 HighVersionLie”时失败的问题。