/// <summary> /// Initializes a new instance of the PhysicalVolumeInfo class. /// </summary> /// <param name="diskId">The identity of the disk.</param> /// <param name="disk">The disk itself.</param> /// <remarks>Use this constructor to represent an entire disk as a single volume.</remarks> internal PhysicalVolumeInfo( string diskId, VirtualDisk disk) { _diskId = diskId; _disk = disk; _streamOpener = delegate { return(new SubStream(disk.Content, Ownership.None, 0, disk.Capacity)); }; _type = PhysicalVolumeType.EntireDisk; }
internal LogicalVolumeInfo(Guid guid, PhysicalVolumeInfo physicalVolume, SparseStreamOpenDelegate opener, long length, byte biosType, LogicalVolumeStatus status) { _guid = guid; _physicalVol = physicalVolume; _opener = opener; _length = length; _biosType = biosType; _status = status; }
/// <summary> /// Initializes a new instance of the PhysicalVolumeInfo class. /// </summary> /// <param name="diskId">The containing disk's identity.</param> /// <param name="disk">The disk containing the partition.</param> /// <param name="partitionInfo">Information about the partition.</param> /// <remarks>Use this constructor to represent a (BIOS or GPT) partition.</remarks> internal PhysicalVolumeInfo( string diskId, VirtualDisk disk, PartitionInfo partitionInfo) { _diskId = diskId; _disk = disk; _streamOpener = partitionInfo.Open; _type = partitionInfo.VolumeType; _partitionInfo = partitionInfo; }
/// <summary> /// Initializes a new instance of the PhysicalVolumeInfo class. /// </summary> /// <param name="diskId">The containing disk's identity</param> /// <param name="disk">The disk containing the partition</param> /// <param name="partitionInfo">Information about the partition</param> /// <remarks>Use this constructor to represent a (BIOS or GPT) partition</remarks> internal PhysicalVolumeInfo( string diskId, VirtualDisk disk, PartitionInfo partitionInfo) { _diskId = diskId; _disk = disk; _streamOpener = partitionInfo.Open; _type = partitionInfo.VolumeType; _partitionInfo = partitionInfo; }
/// <summary> /// Creates an instance representing a (BIOS or GPT) partition. /// </summary> /// <param name="diskId">The containing disk's identity</param> /// <param name="disk">The disk containing the partition</param> /// <param name="partitionInfo">Information about the partition</param> internal PhysicalVolumeInfo( string diskId, VirtualDisk disk, PartitionInfo partitionInfo ) { _diskId = diskId; _disk = disk; _streamOpener = partitionInfo.Open; _type = (partitionInfo is GuidPartitionInfo) ? PhysicalVolumeType.GptPartition : PhysicalVolumeType.BiosPartition; _partitionInfo = partitionInfo; }
/// <summary> /// Initializes a new instance of the PhysicalVolumeInfo class. /// </summary> /// <param name="diskId">The identity of the disk</param> /// <param name="disk">The disk itself</param> /// <remarks>Use this constructor to represent an entire disk as a single volume.</remarks> internal PhysicalVolumeInfo( string diskId, VirtualDisk disk) { _diskId = diskId; _disk = disk; _streamOpener = delegate { return new SubStream(disk.Content, Ownership.None, 0, disk.Capacity); }; _type = PhysicalVolumeType.EntireDisk; }