internal void ValidateSequenceNumber( ref SequenceNumber sequenceNumber, SequenceNumberConstraint constraint, string paramName) { if (sequenceNumber == SequenceNumber.Invalid) { if ((constraint & SequenceNumberConstraint.CanBeInvalid) != 0) { return; } else { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.SequenceNumberNotActive(paramName)); } } if (sequenceNumber.Low != 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.SequenceNumberInvalid()); } if ((constraint & SequenceNumberConstraint.CanBeInactive) == 0) { CLFS_INFORMATION info; GetLogFileInformation(out info); ulong lsn = sequenceNumber.High; if (lsn < info.BaseLsn || lsn > info.LastLsn) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.SequenceNumberNotActive(paramName)); } } }