Exemplo n.º 1
0
        public MergedVolumeInfo(IEnumerable<Member> members, char driveLetter, string driveLabel, CreationPolicy policy)
        {
            if (members == null)
            {
                throw new ArgumentNullException("members");
            }
            if (driveLabel == null)
            {
                throw new ArgumentNullException("driveLabel");
            }
            if (policy == null)
            {
                throw new ArgumentNullException("policy");
            }
            if (!Char.IsLetter(driveLetter))
            {
                throw new ArgumentException(String.Format("{0} is not a valid drive letter", driveLetter), "driveLetter");
            }
            this.driveLetter = Char.ToUpperInvariant(driveLetter);

            this.members.AddRange(members);
            if (this.members.Count == 0)
            {
                throw new ArgumentException("Must supply at least one Member", "members");
            }

            if (MergedVolumeInfo.doesDriveExist(this.driveLetter))
            {
                throw new ArgumentException(String.Format("The drive letter \"{0}\" is already in use", this.driveLetter), "driveLetter");
            }

            this.driveLabel = driveLabel;
            this.policy = policy;
        }
Exemplo n.º 2
0
        internal AufsImpl(MergedVolumeInfo volumeInfo)
        {
            if (volumeInfo == null)
            {
                throw new ArgumentNullException("volumeInfo");
            }

            this.volumeInfo = volumeInfo;
            this.members = volumeInfo.Members;
            this.policy = volumeInfo.Policy;
        }