MCPcopy Create free account
hub / github.com/bobranten/Ext4Fsd / IsWindowsVersionOrGreater

Function IsWindowsVersionOrGreater

Ext2Mgr/enumDisk.h:68–105  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66typedef NT::NTSTATUS( NTAPI* fnRtlGetVersion )(PRTL_OSVERSIONINFOW lpVersionInformation);
67
68VERSIONHELPERAPI
69IsWindowsVersionOrGreater(WORD wMajorVersion, WORD wMinorVersion, WORD wServicePackMajor)
70{
71 /*OSVERSIONINFOEXW osvi = { sizeof(osvi), 0, 0, 0, 0, {0}, 0, 0 };
72 DWORDLONG const dwlConditionMask = VerSetConditionMask(
73 VerSetConditionMask(
74 VerSetConditionMask(
75 0, VER_MAJORVERSION, VER_GREATER_EQUAL),
76 VER_MINORVERSION, VER_GREATER_EQUAL),
77 VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL);
78 osvi.dwMajorVersion = wMajorVersion;
79 osvi.dwMinorVersion = wMinorVersion;
80 osvi.wServicePackMajor = wServicePackMajor;
81 return VerifyVersionInfoW(&osvi, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR, dwlConditionMask) != FALSE;*/
82
83 RTL_OSVERSIONINFOEXW verInfo = { 0 };
84 verInfo.dwOSVersionInfoSize = sizeof( verInfo );
85
86 static fnRtlGetVersion RtlGetVersion = (fnRtlGetVersion)GetProcAddress( GetModuleHandleW( L"ntdll.dll" ), "RtlGetVersion" );
87
88 if (RtlGetVersion != 0 && RtlGetVersion( (PRTL_OSVERSIONINFOW)&verInfo ) == 0)
89 {
90 if (verInfo.dwMajorVersion > wMajorVersion)
91 return true;
92 else if (verInfo.dwMajorVersion < wMajorVersion)
93 return false;
94
95 if (verInfo.dwMinorVersion > wMinorVersion)
96 return true;
97 else if (verInfo.dwMinorVersion < wMinorVersion)
98 return false;
99
100 if (verInfo.wServicePackMajor >= wServicePackMajor)
101 return true;
102 }
103
104 return false;
105}
106
107VERSIONHELPERAPI
108IsWindowsXPOrGreater()

Callers 12

IsWindowsXPOrGreaterFunction · 0.85
IsWindowsXPSP1OrGreaterFunction · 0.85
IsWindowsXPSP2OrGreaterFunction · 0.85
IsWindowsXPSP3OrGreaterFunction · 0.85
IsWindowsVistaOrGreaterFunction · 0.85
IsWindows7OrGreaterFunction · 0.85
IsWindows7SP1OrGreaterFunction · 0.85
IsWindows8OrGreaterFunction · 0.85
IsWindows10OrGreaterFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected