internal static bool IsWindowsProductTypeEqual(byte wProductType, ushort wSuiteMask = 0) { Osversioninfoexw oSVERSIONINFOEXW = default(Osversioninfoexw); oSVERSIONINFOEXW.dwOSVersionInfoSize = (uint)Marshal.SizeOf(typeof(Osversioninfoexw)); oSVERSIONINFOEXW.wProductType = wProductType; oSVERSIONINFOEXW.wSuiteMask = wSuiteMask; ulong dwlConditionMask = 0uL; uint num = 0u; dwlConditionMask = VerSetConditionMask(dwlConditionMask, TypeMask.VER_PRODUCT_TYPE, ConditionMask.VER_EQUAL); num |= TypeMask.VER_PRODUCT_TYPE; if (wSuiteMask != 0) { dwlConditionMask = VerSetConditionMask(dwlConditionMask, TypeMask.VER_SUITENAME, ConditionMask.VER_AND); num |= TypeMask.VER_SUITENAME; } return(VerifyVersionInfoW(ref oSVERSIONINFOEXW, num, dwlConditionMask)); }
private static extern bool VerifyVersionInfoW(ref Osversioninfoexw lpVersionInfo, uint dwTypeMask, ulong dwlConditionMask);