123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using DiskAccessLibrary.LogicalDiskManager;
- using Utilities;
- namespace DiskAccessLibrary
- {
- public partial class VolumeHelper
- {
-
-
-
- [Obsolete]
- public static Guid? GetVolumeUniqueID(Volume volume)
- {
- if (volume is MBRPartition)
- {
- MBRPartition partition = (MBRPartition)volume;
- MasterBootRecord mbr = MasterBootRecord.ReadFromDisk(partition.Disk);
- byte[] firstSectorBytes = BigEndianConverter.GetBytes(partition.FirstSector);
- return new Guid((int)mbr.DiskSignature, 0, 0, firstSectorBytes);
- }
- else if (volume is GPTPartition)
- {
- return ((GPTPartition)volume).VolumeGuid;
- }
- else if (volume is DynamicVolume)
- {
- return ((DynamicVolume)volume).VolumeGuid;
- }
- else
- {
- return null;
- }
- }
- [Obsolete]
- public static Volume GetVolumeByGuid(List<Disk> disks, Guid volumeGuid)
- {
- List<Volume> volumes = GetVolumes(disks);
- foreach (Volume volume in volumes)
- {
- Guid? guid = GetVolumeUniqueID(volume);
- if (guid == volumeGuid)
- {
- {
- return volume;
- }
- }
- }
- return null;
- }
- public static List<Volume> GetVolumes(List<Disk> disks)
- {
- List<Volume> result = new List<Volume>();
- List<DynamicDisk> dynamicDisks = new List<DynamicDisk>();
-
- 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));
- }
- }
-
- List<DynamicVolume> dynamicVolumes = DynamicVolumeHelper.GetDynamicVolumes(dynamicDisks);
- foreach (DynamicVolume volume in dynamicVolumes)
- {
- result.Add(volume);
- }
- return result;
- }
-
-
-
- [Obsolete]
- public static List<Volume> GetDiskVolumes(Disk disk)
- {
- List<Volume> result = new List<Volume>();
- DynamicDisk dynamicDisk = DynamicDisk.ReadFromDisk(disk);
- if (dynamicDisk == null)
- {
-
- List<Partition> partitions = BasicDiskHelper.GetPartitions(disk);
- foreach (MBRPartition partition in partitions)
- {
- result.Add(partition);
- }
- }
- else
- {
-
- List<DynamicVolume> dynamicVolumes = DynamicVolumeHelper.GetDynamicDiskVolumes(dynamicDisk);
- foreach (DynamicVolume volume in dynamicVolumes)
- {
- result.Add(volume);
- }
- }
- return result;
- }
- [Obsolete]
- public static bool ContainsVolumeGuid(List<Volume> volumes, Guid volumeGuid)
- {
- foreach (Volume volume in volumes)
- {
- if (volume is DynamicVolume)
- {
- DynamicVolume dynamicVolume = (DynamicVolume)volume;
- if (dynamicVolume.VolumeGuid == volumeGuid)
- {
- return true;
- }
- }
- }
- return false;
- }
- }
- }
|