{"push_id":1072547169,"size":1,"distinct_size":1,"ref":"refs/heads/ticket/2.x/FACT-1395-use-Windows-API-for-Version-check","head":"d527d6be0cce5e4cb895a48ec7fde9f3de90b13b","before":"fa65314d9b6a72840227a5c45f584cf5b078d049","commits":[{"sha":"d527d6be0cce5e4cb895a48ec7fde9f3de90b13b","author":{"email":"6eaaec1336f7acb13686b98a3495c3d683fe0810@Github","name":"Iristyle"},"message":"(FACT-1395) Use Windows API for Windows version\n\n - GetVersionEx was historically the way to do this, except that with\n   Windows 8.1 it was deprecated.  Depending on how an application is\n   built, GetVersionEx may return an unexpected version - for instance\n   it returns '6.2.9200' on a Windows 10 machine, when the previous\n   WMI query returns '10.0.10586'\n\n   Instead use the kernel call RtlGetVersion from ntoskrnl.exe, which\n   returns exactly the same structure as GetVersionEx does, but will\n   return the correct versions of the kernel.\n\n- Reimplement the kernelrelease and OS facts so that they no longer use\n  WMI. To support Windows 2003 R2, use the function GetSystemMetrics\n  which can return a special value when on that OS.\n\n- Add the current Nano build number (though a more appropriate way of\n  detecting Nano is probably more appropriate).\n\n- This implementation shaves off about 400ms+ of runtime in some micro\n  benchmarks.","distinct":true,"url":"https://api.github.com/repos/Iristyle/facter/commits/d527d6be0cce5e4cb895a48ec7fde9f3de90b13b"}]}