Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
 private static extern bool VerifyVersionInfoW(ref Osversioninfoexw lpVersionInfo, uint dwTypeMask, ulong dwlConditionMask);