MCPcopy Create free account
hub / github.com/ajkhoury/ReClassEx / IsWindowsVersionOrLater

Function IsWindowsVersionOrLater

ReClass/Utils.cpp:231–271  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

229
230
231bool IsWindowsVersionOrLater( OSType target )
232{
233 DWORDLONG Mask = 0;
234 RTL_OSVERSIONINFOEXW versionInfo;
235
236 ZeroMemory( &versionInfo, sizeof( versionInfo ) );
237 versionInfo.dwOSVersionInfoSize = sizeof( RTL_OSVERSIONINFOEXW );
238
239 if (target == Windows10)
240 {
241 if (ntdll::RtlGetVersion && ntdll::RtlGetVersion( (PRTL_OSVERSIONINFOW)&versionInfo ) == 0)
242 return (versionInfo.dwMajorVersion == 10);
243
244 return false;
245 }
246
247 if (target >= WinVista)
248 {
249 versionInfo.dwMajorVersion = 6;
250
251 switch (target)
252 {
253 case WinVista: versionInfo.dwMinorVersion = 0; break;
254 case Windows7: versionInfo.dwMinorVersion = 1; break;
255 case Windows8: versionInfo.dwMinorVersion = 2; break;
256 default:
257 break;
258 }
259 }
260 else
261 {
262 versionInfo.dwMajorVersion = 5;
263 versionInfo.dwMinorVersion = (target >= WinXP) ? 1 : 0;
264 }
265
266 VER_SET_CONDITION( Mask, VER_MAJORVERSION, VER_GREATER_EQUAL );
267 VER_SET_CONDITION( Mask, VER_MINORVERSION, VER_GREATER_EQUAL );
268 VER_SET_CONDITION( Mask, VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL );
269 VER_SET_CONDITION( Mask, VER_SERVICEPACKMINOR, VER_GREATER_EQUAL );
270 return VerifyVersionInfoW( &versionInfo, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR, Mask ) != FALSE;
271}
272
273OSType GetOperatingSystemType( )
274{

Callers 1

GetOperatingSystemTypeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected