微软Windows 10 20H1首个SDK预览版发布

IT House 5月14日消息微软已经在开发Windows 10 20H1的预览版,预计将于明年4月发布。最近,Microsoft发布了Windows 10 20H1 SDK内部版本的第一个预览版。其中包括对消息编译器,Windows跟踪预处理器等的更新。

这是更新:

邮件编译器(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)问题(例如,当两个与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帮助程序将遵循每个TLR的定义。文件,而不是任意选择一个)。

在C ++代码中,已对TraceLoggingWrite宏进行了更新,以使用可变参数模板在相似事件之间实现更好的代码共享。

另一个主要更改是删除了irprops.lib,因此链接到它的开发人员现在必须链接到bthprops.lib。此外,自Windows 10版本1903起,此版本带来了许多新的API。

值得注意的是,最新的SDK预览版可以与以前的SDK和Visual Studio 2017或更高版本并行使用。您可以继续将面向Windows 10版本1903的应用程序提交到商店。此外,此版本仅可用于Windows Insider预览版。

您可以在此处下载最新的SDK预览版本。还提供了包含的硬件实验室套件(HLK)版本,评估和部署套件(ADK)和Windows驱动程序套件(WDK)。