我创建了一个蓝牙低能耗库,由于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版本的次要版本?
答案 0 :(得分:0)
此UBR值存储在DWORD which you can query
中的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
下的注册表中