I want to get a build version on Windows 10 using WINAPI. Current Window Version: 10.0.19042.685
I tried to get it using WMI queries.
select Version, BuildNumber from Win32_OperatingSystem.
-> Version: 10.0.19042, BuildNumber: 19042
I tried to get it by calling RtlGetVersion().
HMODULE hMod = ::GetModuleHandleW(L"ntdll.dll");
if (hMod) {
typedef NTSTATUS(WINAPI* RtlGetVersionPtr)(PRTL_OSVERSIONINFOEXW);
RtlGetVersionPtr fxPtr = (RtlGetVersionPtr)::GetProcAddress(hMod, "RtlGetVersion");
if (fxPtr != nullptr) {
RTL_OSVERSIONINFOEXW rovi = { 0 };
rovi.dwOSVersionInfoSize = sizeof(rovi);
if (0 == fxPtr(&rovi)) {
printf("dwMajorVersion: %lu\n", rovi.dwMajorVersion);
printf("dwMinorVersion: %lu\n", rovi.dwMinorVersion);
printf("dwBuildNumber: %lu\n", rovi.dwBuildNumber);
}
}
}
dwMajorVersion: 10
dwMinorVersion: 0
dwBuildNumber: 19042
I could not obtain the revision number using WMI query and RtlGetVerion() API.
I want to get '685' from '10.0.19042.685'.
How can I get a Windows build version, revision number using WINAPI?