// Token: 0x0600031D RID: 797 RVA: 0x0002F2EC File Offset: 0x0002D4EC public static IsGenuineResult IsGenuine(uint daysBetweenChecks, uint graceDaysOnInetErr, bool skipOffline = false, bool offlineShowInetErr = false) { TurboActivate.Native.GENUINE_OPTIONS genuine_OPTIONS = new TurboActivate.Native.GENUINE_OPTIONS { nDaysBetweenChecks = daysBetweenChecks, nGraceDaysOnInetErr = graceDaysOnInetErr, flags = (TurboActivate.Native.GenuineFlags) 0u }; genuine_OPTIONS.nLength = (uint)Marshal.SizeOf(genuine_OPTIONS); if (skipOffline) { genuine_OPTIONS.flags |= TurboActivate.Native.GenuineFlags.TA_SKIP_OFFLINE; if (offlineShowInetErr) { genuine_OPTIONS.flags |= TurboActivate.Native.GenuineFlags.TA_OFFLINE_SHOW_INET_ERR; } } int num = TurboActivate.Native.IsGenuineEx(TurboActivate.VersionGUID, ref genuine_OPTIONS); if (num <= 8) { if (num == 0) { return(IsGenuineResult.Genuine); } switch (num) { case 4: break; case 5: case 6: return(IsGenuineResult.NotGenuine); case 7: throw new GUIDMismatchException(); case 8: throw new ProductDetailsException(); default: return(IsGenuineResult.NotGenuine); } } else { switch (num) { case 11: throw new COMException(); case 12: return(IsGenuineResult.NotGenuine); case 13: throw new DateTimeException(false); default: switch (num) { case 17: return(IsGenuineResult.NotGenuineInVM); case 18: case 20: return(IsGenuineResult.NotGenuine); case 19: throw new InvalidArgsException(); case 21: break; case 22: return(IsGenuineResult.GenuineFeaturesChanged); default: return(IsGenuineResult.NotGenuine); } break; } } return(IsGenuineResult.InternetError); }
public static extern int IsGenuineEx(string versionGUID, ref TurboActivate.Native.GENUINE_OPTIONS options);