public static List <Volume> GetVolumes(List <Disk> disks) { List <Volume> result = new List <Volume>(); List <DynamicDisk> dynamicDisks = new List <DynamicDisk>(); // Get partitions: foreach (Disk disk in disks) { if (!DynamicDisk.IsDynamicDisk(disk)) { List <Partition> partitions = BasicDiskHelper.GetPartitions(disk); foreach (Partition partition in partitions) { result.Add(partition); } } else { dynamicDisks.Add(DynamicDisk.ReadFromDisk(disk)); } } // Get dynamic volumes List <DynamicVolume> dynamicVolumes = DynamicVolumeHelper.GetDynamicVolumes(dynamicDisks); foreach (DynamicVolume volume in dynamicVolumes) { result.Add(volume); } return(result); }
public static List <DynamicVolume> GetLockableDynamicVolumes(List <DynamicDisk> dynamicDisks) { List <DynamicVolume> result = new List <DynamicVolume>(); List <DynamicDisk> disks = new List <DynamicDisk>(); foreach (DynamicDisk dynamicDisk in dynamicDisks) { if (dynamicDisk.Disk is PhysicalDisk) { disks.Add(dynamicDisk); } } return(DynamicVolumeHelper.GetDynamicVolumes(disks)); }
public static List <DynamicVolume> GetDynamicVolumes() { List <DynamicDisk> disks = WindowsDynamicDiskHelper.GetPhysicalDynamicDisks(); return(DynamicVolumeHelper.GetDynamicVolumes(disks)); }