检测Windows 10操作系统构建次要版本

时间:2017-12-21 13:32:36

标签: windows-10 wdk

我创建了一个蓝牙低能耗库,由于an issue with Windows 10 Version 1709,仅适用于OS Build 16299.125及更高版本(已在KB4054517更新中修复)。对于早期版本,它会导致BLE设备行为异常并给出错误的连接指示。

因此,我希望检查客户端计算机上是否存在此更新,以及 如果版本太低,则阻止库运行。

我已关注this SO answer,并使用RtlGetVersion()获取操作系统版本。但是,据我所知,返回结构中的任何字段都不包含构建版本的次要部分(例如' 125'在' 16299.125'),AKA'更新构建版本'或UBR。

即使使用扩展结构(RTL_OSVERSIONINFOEXW)调用RtlGetVersion()也是如此。

是否有可靠的方法来获取OS版本的次要版本?

1 个答案:

答案 0 :(得分:0)

此UBR值存储在DWORD which you can query

中的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion下的注册表中

enter image description here