<?xml version="1.0"?>
<doc>
    <assembly>
        <name>DiscUtils</name>
    </assembly>
    <members>
        <member name="T:DiscUtils.AligningStream">
            <summary>
            Aligns I/O to a given block size.
            </summary>
            <remarks>Uses the read-modify-write pattern to align I/O.</remarks>
        </member>
        <member name="T:DiscUtils.WrappingMappedStream`1">
            <summary>
            Base class for streams that wrap another stream.
            </summary>
            <typeparam name="T">The type of stream to wrap.</typeparam>
            <remarks>
            Provides the default implementation of methods &amp; properties, so
            wrapping streams need only override the methods they need to intercept.
            </remarks>
        </member>
        <member name="T:DiscUtils.MappedStream">
            <summary>
            Base class for streams that are essentially a mapping onto a parent stream.
            </summary>
            <remarks>
            This class provides access to the mapping underlying the stream, enabling
            callers to convert a byte range in this stream into one or more ranges in
            the parent stream.
            </remarks>
        </member>
        <member name="T:DiscUtils.SparseStream">
            <summary>
            Represents a sparse stream.
            </summary>
            <remarks>A sparse stream is a logically contiguous stream where some parts of the stream
            aren't stored.  The unstored parts are implicitly zero-byte ranges.</remarks>
        </member>
        <member name="M:DiscUtils.SparseStream.FromStream(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Converts any stream into a sparse stream.
            </summary>
            <param name="stream">The stream to convert.</param>
            <param name="takeOwnership"><c>true</c> to have the new stream dispose the wrapped
            stream when it is disposed.</param>
            <returns>A sparse stream</returns>
            <remarks>The returned stream has the entire wrapped stream as a
            single extent.</remarks>
        </member>
        <member name="M:DiscUtils.SparseStream.FromStream(System.IO.Stream,DiscUtils.Ownership,System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent})">
            <summary>
            Converts any stream into a sparse stream.
            </summary>
            <param name="stream">The stream to convert.</param>
            <param name="takeOwnership"><c>true</c> to have the new stream dispose the wrapped
            stream when it is disposed.</param>
            <param name="extents">The set of extents actually stored in <c>stream</c></param>
            <returns>A sparse stream</returns>
            <remarks>The returned stream has the entire wrapped stream as a
            single extent.</remarks>
        </member>
        <member name="M:DiscUtils.SparseStream.Pump(System.IO.Stream,System.IO.Stream)">
            <summary>
            Efficiently pumps data from a sparse stream to another stream.
            </summary>
            <param name="inStream">The sparse stream to pump from.</param>
            <param name="outStream">The stream to pump to.</param>
            <remarks><paramref name="outStream"/> must support seeking.</remarks>
        </member>
        <member name="M:DiscUtils.SparseStream.Pump(System.IO.Stream,System.IO.Stream,System.Int32)">
            <summary>
            Efficiently pumps data from a sparse stream to another stream.
            </summary>
            <param name="inStream">The stream to pump from.</param>
            <param name="outStream">The stream to pump to.</param>
            <param name="chunkSize">The smallest sequence of zero bytes that will be skipped when writing to <paramref name="outStream"/></param>
            <remarks><paramref name="outStream"/> must support seeking.</remarks>
        </member>
        <member name="M:DiscUtils.SparseStream.ReadOnly(DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Wraps a sparse stream in a read-only wrapper, preventing modification.
            </summary>
            <param name="toWrap">The stream to make read-only</param>
            <param name="ownership">Whether to transfer responsibility for calling Dispose on <c>toWrap</c></param>
            <returns>The read-only stream.</returns>
        </member>
        <member name="M:DiscUtils.SparseStream.Clear(System.Int32)">
            <summary>
            Clears bytes from the stream.
            </summary>
            <param name="count">The number of bytes (from the current position) to clear</param>
            <remarks>
            <para>Logically equivalent to writing <c>count</c> null/zero bytes to the stream, some
            implementations determine that some (or all) of the range indicated is not actually
            stored.  There is no direct, automatic, correspondance to clearing bytes and them
            not being represented as an 'extent' - for example, the implementation of the underlying
            stream may not permit fine-grained extent storage.</para>
            <para>It is always safe to call this method to 'zero-out' a section of a stream, regardless of
            the underlying stream implementation.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.SparseStream.GetExtentsInRange(System.Int64,System.Int64)">
            <summary>
            Gets the parts of a stream that are stored, within a specified range.
            </summary>
            <param name="start">The offset of the first byte of interest</param>
            <param name="count">The number of bytes of interest</param>
            <returns>An enumeration of stream extents, indicating stored bytes</returns>
        </member>
        <member name="P:DiscUtils.SparseStream.Extents">
            <summary>
            Gets the parts of the stream that are stored.
            </summary>
            <remarks>This may be an empty enumeration if all bytes are zero.</remarks>
        </member>
        <member name="M:DiscUtils.MappedStream.FromStream(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Converts any stream into a non-linear stream.
            </summary>
            <param name="stream">The stream to convert.</param>
            <param name="takeOwnership"><c>true</c> to have the new stream dispose the wrapped
            stream when it is disposed.</param>
            <returns>A sparse stream</returns>
            <remarks>The wrapped stream is assumed to be a linear stream (such that any byte range
            maps directly onto the parent stream)</remarks>
        </member>
        <member name="M:DiscUtils.MappedStream.FromStream(System.IO.Stream,DiscUtils.Ownership,System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent})">
            <summary>
            Converts any stream into a non-linear stream.
            </summary>
            <param name="stream">The stream to convert.</param>
            <param name="takeOwnership"><c>true</c> to have the new stream dispose the wrapped
            stream when it is disposed.</param>
            <param name="extents">The set of extents actually stored in <c>stream</c></param>
            <returns>A sparse stream</returns>
            <remarks>The wrapped stream is assumed to be a linear stream (such that any byte range
            maps directly onto the parent stream)</remarks>
        </member>
        <member name="M:DiscUtils.MappedStream.MapContent(System.Int64,System.Int64)">
            <summary>
            Maps a logical range down to storage locations.
            </summary>
            <param name="start">The first logical range to map</param>
            <param name="length">The length of the range to map</param>
            <returns>One or more stream extents specifying the storage locations that correspond
            to the identified logical extent range.</returns>
            <remarks>
            <para>As far as possible, the stream extents are returned in logical disk order -
            however, due to the nature of non-linear streams, not all of the range may actually
            be stored, or some or all of the range may be compressed - thus reading the
            returned stream extents is not equivalent to reading the logical disk range.</para>
            </remarks>
        </member>
        <member name="T:DiscUtils.IByteArraySerializable">
            <summary>
            Common interface for reading structures to/from byte arrays.
            </summary>
        </member>
        <member name="M:DiscUtils.IByteArraySerializable.ReadFrom(System.Byte[],System.Int32)">
            <summary>
            Reads the structure from a byte array.
            </summary>
            <param name="buffer">The buffer to read from</param>
            <param name="offset">The buffer offset to start reading from</param>
            <returns>The number of bytes read</returns>
        </member>
        <member name="M:DiscUtils.IByteArraySerializable.WriteTo(System.Byte[],System.Int32)">
            <summary>
            Writes a structure to a byte array.
            </summary>
            <param name="buffer">The buffer to write to</param>
            <param name="offset">The buffer offste to start writing at</param>
        </member>
        <member name="P:DiscUtils.IByteArraySerializable.Size">
            <summary>
            Gets the total number of bytes the structure occupies.
            </summary>
        </member>
        <member name="T:DiscUtils.ApplePartitionMap.PartitionMap">
            <summary>
            Interprets Apple Partition Map structures that partition a disk.
            </summary>
        </member>
        <member name="T:DiscUtils.Partitions.PartitionTable">
            <summary>
            Base class for classes which represent a disk partitioning scheme.
            </summary>
            <remarks>After modifying the table, by creating or deleting a partition assume that any
            previously stored partition indexes of higher value are no longer valid.  Re-enumerate
            the partitions to discover the next index-to-partition mapping.</remarks>
        </member>
        <member name="M:DiscUtils.Partitions.PartitionTable.IsPartitioned(System.IO.Stream)">
            <summary>
            Determines if a disk is partitioned with a known partitioning scheme.
            </summary>
            <param name="content">The content of the disk to check</param>
            <returns><c>true</c> if the disk is partitioned, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.Partitions.PartitionTable.IsPartitioned(DiscUtils.VirtualDisk)">
            <summary>
            Determines if a disk is partitioned with a known partitioning scheme.
            </summary>
            <param name="disk">The disk to check</param>
            <returns><c>true</c> if the disk is partitioned, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.Partitions.PartitionTable.GetPartitionTables(DiscUtils.VirtualDisk)">
            <summary>
            Gets all of the partition tables found on a disk.
            </summary>
            <param name="disk">The disk to inspect</param>
            <returns>It is rare for a disk to have multiple partition tables, but theoretically
            possible.</returns>
        </member>
        <member name="M:DiscUtils.Partitions.PartitionTable.GetPartitionTables(System.IO.Stream)">
            <summary>
            Gets all of the partition tables found on a disk.
            </summary>
            <param name="contentStream">The content of the disk to inspect</param>
            <returns>It is rare for a disk to have multiple partition tables, but theoretically
            possible.</returns>
        </member>
        <member name="M:DiscUtils.Partitions.PartitionTable.Create(DiscUtils.Partitions.WellKnownPartitionType,System.Boolean)">
            <summary>
            Creates a new partition that encompasses the entire disk.
            </summary>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <returns>The index of the partition</returns>
            <remarks>The partition table must be empty before this method is called,
            otherwise IOException is thrown.</remarks>
        </member>
        <member name="M:DiscUtils.Partitions.PartitionTable.Create(System.Int64,DiscUtils.Partitions.WellKnownPartitionType,System.Boolean)">
            <summary>
            Creates a new partition with a target size.
            </summary>
            <param name="size">The target size (in bytes)</param>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <returns>The index of the new partition</returns>
        </member>
        <member name="M:DiscUtils.Partitions.PartitionTable.CreateAligned(DiscUtils.Partitions.WellKnownPartitionType,System.Boolean,System.Int32)">
            <summary>
            Creates a new aligned partition that encompasses the entire disk.
            </summary>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <param name="alignment">The alignment (in byte)</param>
            <returns>The index of the partition</returns>
            <remarks>The partition table must be empty before this method is called,
            otherwise IOException is thrown.</remarks>
            <remarks>
            Traditionally partitions were aligned to the physical structure of the underlying disk,
            however with modern storage greater efficiency is acheived by aligning partitions on
            large values that are a power of two.
            </remarks>
        </member>
        <member name="M:DiscUtils.Partitions.PartitionTable.CreateAligned(System.Int64,DiscUtils.Partitions.WellKnownPartitionType,System.Boolean,System.Int32)">
            <summary>
            Creates a new aligned partition with a target size.
            </summary>
            <param name="size">The target size (in bytes)</param>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <param name="alignment">The alignment (in byte)</param>
            <returns>The index of the new partition</returns>
            <remarks>
            Traditionally partitions were aligned to the physical structure of the underlying disk,
            however with modern storage greater efficiency is acheived by aligning partitions on
            large values that are a power of two.
            </remarks>
        </member>
        <member name="M:DiscUtils.Partitions.PartitionTable.Delete(System.Int32)">
            <summary>
            Deletes a partition at a given index.
            </summary>
            <param name="index">The index of the partition</param>
        </member>
        <member name="P:DiscUtils.Partitions.PartitionTable.DiskGuid">
            <summary>
            Gets the GUID that uniquely identifies this disk, if supported (else returns <c>null</c>).
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.PartitionTable.Partitions">
            <summary>
            Gets the list of partitions that contain user data (i.e. non-system / empty).
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.PartitionTable.Count">
            <summary>
            Gets the number of User partitions on the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.PartitionTable.Item(System.Int32)">
            <summary>
            Gets information about a particular User partition.
            </summary>
            <param name="index">The index of the partition</param>
            <returns>Information about the partition</returns>
        </member>
        <member name="M:DiscUtils.ApplePartitionMap.PartitionMap.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the PartitionMap class.
            </summary>
            <param name="stream">Stream contaning the contents of a disk</param>
        </member>
        <member name="M:DiscUtils.ApplePartitionMap.PartitionMap.Create(DiscUtils.Partitions.WellKnownPartitionType,System.Boolean)">
            <summary>
            Creates a new partition that encompasses the entire disk.
            </summary>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <returns>The index of the partition</returns>
            <remarks>The partition table must be empty before this method is called,
            otherwise IOException is thrown.</remarks>
        </member>
        <member name="M:DiscUtils.ApplePartitionMap.PartitionMap.Create(System.Int64,DiscUtils.Partitions.WellKnownPartitionType,System.Boolean)">
            <summary>
            Creates a new partition with a target size.
            </summary>
            <param name="size">The target size (in bytes)</param>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <returns>The index of the new partition</returns>
        </member>
        <member name="M:DiscUtils.ApplePartitionMap.PartitionMap.CreateAligned(DiscUtils.Partitions.WellKnownPartitionType,System.Boolean,System.Int32)">
            <summary>
            Creates a new aligned partition that encompasses the entire disk.
            </summary>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <param name="alignment">The alignment (in byte)</param>
            <returns>The index of the partition</returns>
            <remarks>The partition table must be empty before this method is called,
            otherwise IOException is thrown.</remarks>
            <remarks>
            Traditionally partitions were aligned to the physical structure of the underlying disk,
            however with modern storage greater efficiency is acheived by aligning partitions on
            large values that are a power of two.
            </remarks>
        </member>
        <member name="M:DiscUtils.ApplePartitionMap.PartitionMap.CreateAligned(System.Int64,DiscUtils.Partitions.WellKnownPartitionType,System.Boolean,System.Int32)">
            <summary>
            Creates a new aligned partition with a target size.
            </summary>
            <param name="size">The target size (in bytes)</param>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <param name="alignment">The alignment (in byte)</param>
            <returns>The index of the new partition</returns>
            <remarks>
            Traditionally partitions were aligned to the physical structure of the underlying disk,
            however with modern storage greater efficiency is acheived by aligning partitions on
            large values that are a power of two.
            </remarks>
        </member>
        <member name="M:DiscUtils.ApplePartitionMap.PartitionMap.Delete(System.Int32)">
            <summary>
            Deletes a partition at a given index.
            </summary>
            <param name="index">The index of the partition</param>
        </member>
        <member name="P:DiscUtils.ApplePartitionMap.PartitionMap.DiskGuid">
            <summary>
            Gets the GUID of the disk, always returns Guid.Empty.
            </summary>
        </member>
        <member name="P:DiscUtils.ApplePartitionMap.PartitionMap.Partitions">
            <summary>
            Gets the partitions present on the disk.
            </summary>
        </member>
        <member name="T:DiscUtils.Partitions.PartitionInfo">
            <summary>
            Base class representing a disk partition.
            </summary>
            <remarks>The purpose of this class is to provide a minimal view of a partition,
            such that callers can access existing partitions without specific knowledge of
            the partitioning system.</remarks>
        </member>
        <member name="M:DiscUtils.Partitions.PartitionInfo.Open">
            <summary>
            Opens a stream that accesses the partition's contents.
            </summary>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.Partitions.PartitionInfo.ToString">
            <summary>
            Gets a summary of the partition information as 'first - last (type)'.
            </summary>
            <returns>A string representation of the partition information</returns>
        </member>
        <member name="P:DiscUtils.Partitions.PartitionInfo.FirstSector">
            <summary>
            Gets the first sector of the partion (relative to start of disk) as a Logical Block Address.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.PartitionInfo.LastSector">
            <summary>
            Gets the last sector of the partion (relative to start of disk) as a Logical Block Address (inclusive).
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.PartitionInfo.SectorCount">
            <summary>
            Gets the length of the partition in sectors.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.PartitionInfo.GuidType">
            <summary>
            Gets the type of the partition, as a GUID, when available.
            </summary>
            <remarks><see cref="T:System.Guid"/>.Empty for MBR-style partitions</remarks>
        </member>
        <member name="P:DiscUtils.Partitions.PartitionInfo.BiosType">
            <summary>
            Gets the type of the partition, in legacy BIOS form, when available.
            </summary>
            <remarks>Zero for GUID-style partitions</remarks>
        </member>
        <member name="P:DiscUtils.Partitions.PartitionInfo.TypeAsString">
            <summary>
            Gets the partition type as a 'friendly' string.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.PartitionInfo.VolumeType">
            <summary>
            Gets the physical volume type for this type of partition.
            </summary>
        </member>
        <member name="T:DiscUtils.DataReader">
            <summary>
            Base class for reading binary data from a stream.
            </summary>
        </member>
        <member name="T:DiscUtils.BlockCacheSettings">
            <summary>
            Settings controlling BlockCache instances.
            </summary>
        </member>
        <member name="M:DiscUtils.BlockCacheSettings.#ctor">
            <summary>
            Initializes a new instance of the BlockCacheSettings class.
            </summary>
        </member>
        <member name="M:DiscUtils.BlockCacheSettings.#ctor(DiscUtils.BlockCacheSettings)">
            <summary>
            Initializes a new instance of the BlockCacheSettings class.
            </summary>
            <param name="settings">The cache settings</param>
        </member>
        <member name="P:DiscUtils.BlockCacheSettings.BlockSize">
            <summary>
            Gets or sets the size (in bytes) of each cached block.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheSettings.ReadCacheSize">
            <summary>
            Gets or sets the size (in bytes) of the read cache.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheSettings.LargeReadSize">
            <summary>
            Gets or sets the maximum read size that will be cached.
            </summary>
            <remarks>Large reads are not cached, on the assumption they will not
            be repeated.  This setting controls what is considered 'large'.
            Any read that is more than this many bytes will not be cached.</remarks>
        </member>
        <member name="P:DiscUtils.BlockCacheSettings.OptimumReadSize">
            <summary>
            Gets or sets the optimum size of a read to the wrapped stream.
            </summary>
            <remarks>This value must be a multiple of BlockSize</remarks>
        </member>
        <member name="T:DiscUtils.BlockCacheStatistics">
            <summary>
            Statistical information about the effectiveness of a BlockCache instance.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheStatistics.LargeReadsIn">
            <summary>
            Gets the number of requested 'large' reads, as defined by the LargeReadSize setting.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheStatistics.UnalignedReadsIn">
            <summary>
            Gets the number of requested unaligned reads.
            </summary>
            <remarks>Unaligned reads are reads where the read doesn't start on a multiple of
            the block size.</remarks>
        </member>
        <member name="P:DiscUtils.BlockCacheStatistics.TotalReadsIn">
            <summary>
            Gets the total number of requested reads.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheStatistics.TotalReadsOut">
            <summary>
            Gets the total number of reads passed on by the cache.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheStatistics.ReadCacheHits">
            <summary>
            Gets the number of times a read request was serviced (in part or whole) from the cache.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheStatistics.ReadCacheMisses">
            <summary>
            Gets the number of time a read request was serviced (in part or whole) from the wrapped stream.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheStatistics.UnalignedWritesIn">
            <summary>
            Gets the number of requested unaligned writes.
            </summary>
            <remarks>Unaligned writes are writes where the write doesn't start on a multiple of
            the block size.</remarks>
        </member>
        <member name="P:DiscUtils.BlockCacheStatistics.TotalWritesIn">
            <summary>
            Gets the total number of requested writes.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheStatistics.FreeReadBlocks">
            <summary>
            Gets the number of free blocks in the read cache.
            </summary>
        </member>
        <member name="T:DiscUtils.BlockCacheStream">
            <summary>
            A stream implementing a block-oriented read cache.
            </summary>
        </member>
        <member name="M:DiscUtils.BlockCacheStream.#ctor(DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the BlockCacheStream class.
            </summary>
            <param name="toWrap">The stream to wrap</param>
            <param name="ownership">Whether to assume ownership of <c>toWrap</c></param>
        </member>
        <member name="M:DiscUtils.BlockCacheStream.#ctor(DiscUtils.SparseStream,DiscUtils.Ownership,DiscUtils.BlockCacheSettings)">
            <summary>
            Initializes a new instance of the BlockCacheStream class.
            </summary>
            <param name="toWrap">The stream to wrap</param>
            <param name="ownership">Whether to assume ownership of <c>toWrap</c></param>
            <param name="settings">The cache settings</param>
        </member>
        <member name="M:DiscUtils.BlockCacheStream.GetExtentsInRange(System.Int64,System.Int64)">
            <summary>
            Gets the parts of a stream that are stored, within a specified range.
            </summary>
            <param name="start">The offset of the first byte of interest</param>
            <param name="count">The number of bytes of interest</param>
            <returns>An enumeration of stream extents, indicating stored bytes</returns>
        </member>
        <member name="M:DiscUtils.BlockCacheStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads data from the stream.
            </summary>
            <param name="buffer">The buffer to fill</param>
            <param name="offset">The buffer offset to start from</param>
            <param name="count">The number of bytes to read</param>
            <returns>The number of bytes read</returns>
        </member>
        <member name="M:DiscUtils.BlockCacheStream.Flush">
            <summary>
            Flushes the stream.
            </summary>
        </member>
        <member name="M:DiscUtils.BlockCacheStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Moves the stream position.
            </summary>
            <param name="offset">The origin-relative location</param>
            <param name="origin">The base location</param>
            <returns>The new absolute stream position</returns>
        </member>
        <member name="M:DiscUtils.BlockCacheStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the stream.
            </summary>
            <param name="value">The new length</param>
        </member>
        <member name="M:DiscUtils.BlockCacheStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data to the stream at the current location.
            </summary>
            <param name="buffer">The data to write</param>
            <param name="offset">The first byte to write from buffer</param>
            <param name="count">The number of bytes to write</param>
        </member>
        <member name="M:DiscUtils.BlockCacheStream.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance, freeing up associated resources.
            </summary>
            <param name="disposing"><c>true</c> if invoked from <c>Dispose</c>, else <c>false</c>.</param>
        </member>
        <member name="P:DiscUtils.BlockCacheStream.Extents">
            <summary>
            Gets the parts of the stream that are stored.
            </summary>
            <remarks>This may be an empty enumeration if all bytes are zero.</remarks>
        </member>
        <member name="P:DiscUtils.BlockCacheStream.CanRead">
            <summary>
            Gets an indication as to whether the stream can be read.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheStream.CanSeek">
            <summary>
            Gets an indication as to whether the stream position can be changed.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheStream.CanWrite">
            <summary>
            Gets an indication as to whether the stream can be written to.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheStream.Length">
            <summary>
            Gets the length of the stream.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheStream.Position">
            <summary>
            Gets and sets the current stream position.
            </summary>
        </member>
        <member name="P:DiscUtils.BlockCacheStream.Statistics">
            <summary>
            Gets the performance statistics for this instance.
            </summary>
        </member>
        <member name="T:DiscUtils.BootConfig.ApplicationImageType">
            <summary>
            Enumeration of known application image types.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationImageType.None">
            <summary>
            Unknown type.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationImageType.Firmware">
            <summary>
            Firmware application.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationImageType.WindowsBoot">
            <summary>
            Windows boot loader.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationImageType.LegacyLoader">
            <summary>
            Legacy boot loader.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationImageType.RealMode">
            <summary>
            Real mode boot loader.
            </summary>
        </member>
        <member name="T:DiscUtils.BootConfig.ApplicationType">
            <summary>
            Enumeration of known application types.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationType.None">
            <summary>
            Unknown type.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationType.FirmwareBootManager">
            <summary>
            Firmware boot manager (e.g. UEFI).
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationType.BootManager">
            <summary>
            Windows boot manager.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationType.OsLoader">
            <summary>
            Operating System Loader.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationType.Resume">
            <summary>
            Resume loader.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationType.MemoryDiagnostics">
            <summary>
            Memory diagnostic application.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationType.NtLoader">
            <summary>
            Legacy NT loader application.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationType.SetupLoader">
            <summary>
            Windows setup application.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationType.BootSector">
            <summary>
            Boot sector application.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ApplicationType.Startup">
            <summary>
            Startup application.
            </summary>
        </member>
        <member name="T:DiscUtils.BootConfig.BaseStorage">
            <summary>
            Base class for BCD storage repositories.
            </summary>
        </member>
        <member name="M:DiscUtils.BootConfig.BaseStorage.HasValue(System.Guid,System.Int32)">
            <summary>
            Tests if an element is present (i.e. has a value) on an object.
            </summary>
            <param name="obj">The object to inspect</param>
            <param name="element">The element to inspect</param>
            <returns><c>true</c> if present, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.BaseStorage.GetString(System.Guid,System.Int32)">
            <summary>
            Gets the value of a string element.
            </summary>
            <param name="obj">The object to inspect</param>
            <param name="element">The element to retrieve</param>
            <returns>The value as a string</returns>
        </member>
        <member name="T:DiscUtils.BootConfig.BcdObject">
            <summary>
            Represents a Boot Configuration Database object (application, device or inherited settings).
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.EmsSettingsGroupId">
            <summary>
            Well-known object for Emergency Management Services settings.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.ResumeLoaderSettingsGroupId">
            <summary>
            Well-known object for the Resume boot loader.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.DefaultBootEntryId">
            <summary>
            Alias for the Default boot entry.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.DebuggerSettingsGroupId">
            <summary>
            Well-known object for Emergency Management Services settings.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.WindowsLegacyNtldrId">
            <summary>
            Well-known object for NTLDR application.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.BadMemoryGroupId">
            <summary>
            Well-known object for bad memory settings.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.BootLoaderSettingsGroupId">
            <summary>
            Well-known object for Boot Loader settings.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.WindowsSetupEfiId">
            <summary>
            Well-known object for EFI setup.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.GlobalSettingsGroupId">
            <summary>
            Well-known object for Global settings.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.WindowsBootManagerId">
            <summary>
            Well-known object for Windows Boot Manager.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.WindowsOsTargetTemplatePcatId">
            <summary>
            Well-known object for PCAT Template.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.FirmwareBootManagerId">
            <summary>
            Well-known object for Firmware Boot Manager.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.WindowsSetupRamdiskOptionsId">
            <summary>
            Well-known object for Windows Setup RAMDISK options.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.WindowsOsTargetTemplateEfiId">
            <summary>
            Well-known object for EFI template.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.WindowsMemoryTesterId">
            <summary>
            Well-known object for Windows memory tester application.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.WindowsSetupPcatId">
            <summary>
            Well-known object for Windows PCAT setup.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.BcdObject.CurrentBootEntryId">
            <summary>
            Alias for the current boot entry.
            </summary>
        </member>
        <member name="M:DiscUtils.BootConfig.BcdObject.IsInheritableBy(DiscUtils.BootConfig.ObjectType)">
            <summary>
            Indicates if the settings in this object are inheritable by another object.
            </summary>
            <param name="type">The type of the object to test for inheritability</param>
            <returns><c>true</c> if the settings can be inherited, else <c>false</c></returns>
        </member>
        <member name="M:DiscUtils.BootConfig.BcdObject.HasElement(System.Int32)">
            <summary>
            Indicates if this object has a specific element.
            </summary>
            <param name="id">The identity of the element to look for.</param>
            <returns><c>true</c> if present, else <c>false</c></returns>
        </member>
        <member name="M:DiscUtils.BootConfig.BcdObject.HasElement(DiscUtils.BootConfig.WellKnownElement)">
            <summary>
            Indicates if this object has a specific element.
            </summary>
            <param name="id">The identity of the element to look for.</param>
            <returns><c>true</c> if present, else <c>false</c></returns>
        </member>
        <member name="M:DiscUtils.BootConfig.BcdObject.GetElement(System.Int32)">
            <summary>
            Gets a specific element in this object.
            </summary>
            <param name="id">The identity of the element to look for.</param>
            <returns>The element object</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.BcdObject.GetElement(DiscUtils.BootConfig.WellKnownElement)">
            <summary>
            Gets a specific element in this object.
            </summary>
            <param name="id">The identity of the element to look for.</param>
            <returns>The element object</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.BcdObject.AddElement(System.Int32,DiscUtils.BootConfig.ElementValue)">
            <summary>
            Adds an element in this object.
            </summary>
            <param name="id">The identity of the element to add.</param>
            <param name="initialValue">The initial value of the element</param>
            <returns>The element object</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.BcdObject.AddElement(DiscUtils.BootConfig.WellKnownElement,DiscUtils.BootConfig.ElementValue)">
            <summary>
            Adds an element in this object.
            </summary>
            <param name="id">The identity of the element to add.</param>
            <param name="initialValue">The initial value of the element</param>
            <returns>The element object</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.BcdObject.RemoveElement(System.Int32)">
            <summary>
            Removes a specific element
            </summary>
            <param name="id">The element to remove</param>
        </member>
        <member name="M:DiscUtils.BootConfig.BcdObject.RemoveElement(DiscUtils.BootConfig.WellKnownElement)">
            <summary>
            Removes a specific element
            </summary>
            <param name="id">The element to remove</param>
        </member>
        <member name="M:DiscUtils.BootConfig.BcdObject.ToString">
            <summary>
            Returns the object identity as a GUID string.
            </summary>
            <returns>A string representation, with surrounding curly braces</returns>
        </member>
        <member name="P:DiscUtils.BootConfig.BcdObject.Identity">
            <summary>
            Gets the identity of this object.
            </summary>
        </member>
        <member name="P:DiscUtils.BootConfig.BcdObject.FriendlyName">
            <summary>
            Gets the friendly name for this object, if known.
            </summary>
        </member>
        <member name="P:DiscUtils.BootConfig.BcdObject.ObjectType">
            <summary>
            Gets the object type for this object.
            </summary>
        </member>
        <member name="P:DiscUtils.BootConfig.BcdObject.ApplicationImageType">
            <summary>
            Gets the image type for this application.
            </summary>
        </member>
        <member name="P:DiscUtils.BootConfig.BcdObject.ApplicationType">
            <summary>
            Gets the application type for this application.
            </summary>
        </member>
        <member name="P:DiscUtils.BootConfig.BcdObject.Elements">
            <summary>
            Gets the elements in this object.
            </summary>
        </member>
        <member name="T:DiscUtils.BootConfig.ElementValue">
            <summary>
            The value of an element.
            </summary>
        </member>
        <member name="M:DiscUtils.BootConfig.ElementValue.ForDevice(System.Guid,DiscUtils.PhysicalVolumeInfo)">
            <summary>
            Gets a value representing a device (aka partition).
            </summary>
            <param name="parentObject">Object containing detailed information about the device.</param>
            <param name="physicalVolume">The volume to represent</param>
            <returns>The value as an object</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.ElementValue.ForBootDevice">
            <summary>
            Gets a value representing the logical boot device.
            </summary>
            <returns>The boot pseudo-device as an object</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.ElementValue.ForString(System.String)">
            <summary>
            Gets a value representing a string value.
            </summary>
            <param name="value">The value to convert</param>
            <returns>The value as an object</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.ElementValue.ForInteger(System.Int64)">
            <summary>
            Gets a value representing an integer value.
            </summary>
            <param name="value">The value to convert</param>
            <returns>The value as an object</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.ElementValue.ForIntegerList(System.Int64[])">
            <summary>
            Gets a value representing an integer list value.
            </summary>
            <param name="values">The value to convert</param>
            <returns>The value as an object</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.ElementValue.ForBoolean(System.Boolean)">
            <summary>
            Gets a value representing a boolean value.
            </summary>
            <param name="value">The value to convert</param>
            <returns>The value as an object</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.ElementValue.ForGuid(System.Guid)">
            <summary>
            Gets a value representing a GUID value.
            </summary>
            <param name="value">The value to convert</param>
            <returns>The value as an object</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.ElementValue.ForGuidList(System.Guid[])">
            <summary>
            Gets a value representing a GUID list value.
            </summary>
            <param name="values">The value to convert</param>
            <returns>The value as an object</returns>
        </member>
        <member name="P:DiscUtils.BootConfig.ElementValue.Format">
            <summary>
            Gets the format of the value.
            </summary>
        </member>
        <member name="P:DiscUtils.BootConfig.ElementValue.ParentObject">
            <summary>
            Gets the parent object (only for Device values).
            </summary>
        </member>
        <member name="T:DiscUtils.BootConfig.Element">
            <summary>
            Represents an element in a Boot Configuration Database object.
            </summary>
        </member>
        <member name="M:DiscUtils.BootConfig.Element.ToString">
            <summary>
            Gets the element's id as a hex string.
            </summary>
            <returns>A hex string</returns>
        </member>
        <member name="P:DiscUtils.BootConfig.Element.FriendlyName">
            <summary>
            Gets the friendly name of the element, if any.
            </summary>
        </member>
        <member name="P:DiscUtils.BootConfig.Element.Class">
            <summary>
            Gets the class of the element.
            </summary>
        </member>
        <member name="P:DiscUtils.BootConfig.Element.Format">
            <summary>
            Gets the element's format.
            </summary>
        </member>
        <member name="P:DiscUtils.BootConfig.Element.Value">
            <summary>
            Gets or sets the element's value.
            </summary>
        </member>
        <member name="T:DiscUtils.BootConfig.ElementClass">
            <summary>
            The known classes of element.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementClass.None">
            <summary>
            Unknown class.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementClass.Library">
            <summary>
            Common setting.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementClass.Application">
            <summary>
            An application setting.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementClass.Device">
            <summary>
            A device (or partition) setting.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementClass.Hidden">
            <summary>
            A hidden setting.
            </summary>
        </member>
        <member name="T:DiscUtils.BootConfig.ElementFormat">
            <summary>
            The known formats used to store BCD values.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementFormat.None">
            <summary>
            Unknown format.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementFormat.Device">
            <summary>
            A block device, or partition.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementFormat.String">
            <summary>
            A unicode string.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementFormat.Guid">
            <summary>
            A Globally Unique Identifier (GUID).
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementFormat.GuidList">
            <summary>
            A GUID list.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementFormat.Integer">
            <summary>
            An integer.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementFormat.Boolean">
            <summary>
            A boolean.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ElementFormat.IntegerList">
            <summary>
            An integer list.
            </summary>
        </member>
        <member name="T:DiscUtils.BootConfig.InheritType">
            <summary>
            Indicates the type of objects that can inherit from an object.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.InheritType.None">
            <summary>
            Undefined value.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.InheritType.AnyObject">
            <summary>
            Any type of object may inherit from this object.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.InheritType.ApplicationObjects">
            <summary>
            Only Application objects may inherit from this object.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.InheritType.DeviceObjects">
            <summary>
            Only Device objects may inherit from this object.
            </summary>
        </member>
        <member name="T:DiscUtils.BootConfig.ObjectType">
            <summary>
            Enumeration of known object types.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ObjectType.None">
            <summary>
            An unknown type.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ObjectType.Application">
            <summary>
            An application object.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ObjectType.Inherit">
            <summary>
            Inheritable common settings.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.ObjectType.Device">
            <summary>
            Device (or partition) object.
            </summary>
        </member>
        <member name="T:DiscUtils.BootConfig.Store">
            <summary>
            Represents a Boot Configuration Database store (i.e. a BCD file).
            </summary>
        </member>
        <member name="M:DiscUtils.BootConfig.Store.#ctor(DiscUtils.Registry.RegistryKey)">
            <summary>
            Initializes a new instance of the Store class.
            </summary>
            <param name="key">The registry key that is the root of the configuration database</param>
        </member>
        <member name="M:DiscUtils.BootConfig.Store.Initialize(DiscUtils.Registry.RegistryKey)">
            <summary>
            Initializes a new Boot Configuration Database
            </summary>
            <param name="root">The registry key at the root of the database</param>
            <returns>The BCD store</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.Store.GetObject(System.Guid)">
            <summary>
            Gets an object from the store.
            </summary>
            <param name="id">The identity of the object</param>
            <returns>The requested object, or <c>null</c></returns>
        </member>
        <member name="M:DiscUtils.BootConfig.Store.CreateObject(System.Guid,System.Int32)">
            <summary>
            Creates a specific object.
            </summary>
            <param name="id">The identity of the object to create</param>
            <param name="type">The object's type</param>
            <returns>The object representing the new application</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.Store.CreateApplication(DiscUtils.BootConfig.ApplicationImageType,DiscUtils.BootConfig.ApplicationType)">
            <summary>
            Creates an application object.
            </summary>
            <param name="imageType">The image type of the application</param>
            <param name="appType">The application's type</param>
            <returns>The object representing the new application</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.Store.CreateApplication(System.Guid,DiscUtils.BootConfig.ApplicationImageType,DiscUtils.BootConfig.ApplicationType)">
            <summary>
            Creates an application object.
            </summary>
            <param name="id">The identity of the object to create</param>
            <param name="imageType">The image type of the application</param>
            <param name="appType">The application's type</param>
            <returns>The object representing the new application</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.Store.CreateInherit(DiscUtils.BootConfig.InheritType)">
            <summary>
            Creates an 'inherit' object that contains common settings.
            </summary>
            <param name="inheritType">The type of object the settings apply to</param>
            <returns>The object representing the new settings</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.Store.CreateInherit(System.Guid,DiscUtils.BootConfig.InheritType)">
            <summary>
            Creates an 'inherit' object that contains common settings.
            </summary>
            <param name="id">The identity of the object to create</param>
            <param name="inheritType">The type of object the settings apply to</param>
            <returns>The object representing the new settings</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.Store.CreateDevice">
            <summary>
            Creates a new device object, representing a partition.
            </summary>
            <returns>The object representing the new device.</returns>
        </member>
        <member name="M:DiscUtils.BootConfig.Store.RemoveObject(System.Guid)">
            <summary>
            Removes an object.
            </summary>
            <param name="id">The identity of the object to remove</param>
        </member>
        <member name="P:DiscUtils.BootConfig.Store.Objects">
            <summary>
            Gets the objects within the store.
            </summary>
        </member>
        <member name="T:DiscUtils.BootConfig.WellKnownElement">
            <summary>
            Enumeration of known BCD elements.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.None">
            <summary>
            Not specified.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryApplicationDevice">
            <summary>
            Device containing the application.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryApplicationPath">
            <summary>
            Path to the application.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDescription">
            <summary>
            Description of the object.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryPreferredLocale">
            <summary>
            Preferred locale of the object.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryInheritedObjects">
            <summary>
            Objects containing elements inherited by the object.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryTruncatePhysicalMemory">
            <summary>
            Upper bound on physical addresses used by Windows.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryRecoverySequence">
            <summary>
            List of objects, indicating recovery sequence.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryAutoRecoveryEnabled">
            <summary>
            Enables auto recovery.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryBadMemoryList">
            <summary>
            List of bad memory regions.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryAllowBadMemoryAccess">
            <summary>
            Allow use of bad memory regions.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryFirstMegaBytePolicy">
            <summary>
            Policy on use of first mega-byte of physical RAM.
            </summary>
            <remarks>0 = UseNone, 1 = UseAll, 2 = UsePrivate</remarks>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDebuggerEnabled">
            <summary>
            Debugger enabled.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDebuggerType">
            <summary>
            Debugger type.
            </summary>
            <remarks>0 = Serial, 1 = 1394, 2 = USB</remarks>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDebuggerSerialAddress">
            <summary>
            Debugger serial port address.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDebuggerSerialPort">
            <summary>
            Debugger serial port.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDebuggerSerialBaudRate">
            <summary>
            Debugger serial port baud rate.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDebugger1394Channel">
            <summary>
            Debugger 1394 channel.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDebuggerUsbTargetName">
            <summary>
            Debugger USB target name.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDebuggerIgnoreUserModeExceptions">
            <summary>
            Debugger ignores user mode exceptions.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDebuggerStartPolicy">
            <summary>
            Debugger start policy.
            </summary>
            <remarks>0 = Active, 1 = AutoEnable, 2 = Disable</remarks>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryEmergencyManagementSystemEnabled">
            <summary>
            Emergency Management System enabled.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryEmergencyManagementSystemPort">
            <summary>
            Emergency Management System serial port.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryEmergencyManagementSystemBaudRate">
            <summary>
            Emergency Management System baud rate.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryLoadOptions">
            <summary>
            Load options.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDisplayAdvancedOptions">
            <summary>
            Displays advanced options.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDisplayOptionsEdit">
            <summary>
            Displays UI to edit advanced options.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryFveKeyRingAddress">
            <summary>
            FVE (Full Volume Encryption - aka BitLocker?) KeyRing address.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryBootStatusLogDevice">
            <summary>
            Device to contain Boot Status Log.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryBootStatusLogFile">
            <summary>
            Path to Boot Status Log.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryBootStatusLogAppend">
            <summary>
            Whether to append to the existing Boot Status Log.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryGraphicsModeDisabled">
            <summary>
            Disables graphics mode.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryConfigAccessPolicy">
            <summary>
            Configure access policy.
            </summary>
            <remarks>0 = default, 1 = DisallowMmConfig</remarks>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryDisableIntegrityChecks">
            <summary>
            Disables integrity checks.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryAllowPrereleaseSignatures">
            <summary>
            Allows pre-release signatures (test signing).
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryConsoleExtendedInput">
            <summary>
            Console extended input.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LibraryInitialConsoleInput">
            <summary>
            Initial console input.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.BootMgrDisplayOrder">
            <summary>
            Application display order.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.BootMgrBootSequence">
            <summary>
            Application boot sequence.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.BootMgrDefaultObject">
            <summary>
            Default application.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.BootMgrTimeout">
            <summary>
            User input timeout.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.BootMgrAttemptResume">
            <summary>
            Attempt to resume from hibernated state.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.BootMgrResumeObject">
            <summary>
            The resume application.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.BootMgrToolsDisplayOrder">
            <summary>
            The tools display order.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.BootMgrDisplayBootMenu">
            <summary>
            Displays the boot menu.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.BootMgrNoErrorDisplay">
            <summary>
            No error display.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.BootMgrBcdDevice">
            <summary>
            The BCD device.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.BootMgrBcdFilePath">
            <summary>
            The BCD file path.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.BootMgrCustomActionsList">
            <summary>
            The custom actions list.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderOsDevice">
            <summary>
            Device containing the Operating System.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderSystemRoot">
            <summary>
            System root on the OS device.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderAssociatedResumeObject">
            <summary>
            The resume application associated with this OS.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderDetectKernelAndHal">
            <summary>
            Auto-detect the correct kernel &amp; HAL.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderKernelPath">
            <summary>
            The filename of the kernel.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderHalPath">
            <summary>
            The filename of the HAL.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderDebugTransportPath">
            <summary>
            The debug transport path.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderNxPolicy">
            <summary>
            NX (No-Execute) policy.
            </summary>
            <remarks>0 = OptIn, 1 = OptOut, 2 = AlwaysOff, 3 = AlwaysOn</remarks>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderPaePolicy">
            <summary>
            PAE policy.
            </summary>
            <remarks>0 = default, 1 = ForceEnable, 2 = ForceDisable</remarks>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderWinPeMode">
            <summary>
            WinPE mode.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderDisableCrashAutoReboot">
            <summary>
            Disable automatic reboot on OS crash.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderUseLastGoodSettings">
            <summary>
            Use the last known good settings.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderDisableIntegrityChecks">
            <summary>
            Disable integrity checks.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderAllowPrereleaseSignatures">
            <summary>
            Allows pre-release signatures (test signing).
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderNoLowMemory">
            <summary>
            Loads all executables above 4GB boundary.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderRemoveMemory">
            <summary>
            Excludes a given amount of memory from use by Windows.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderIncreaseUserVa">
            <summary>
            Increases the User Mode virtual address space.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderPerformanceDataMemory">
            <summary>
            Size of buffer (in MB) for perfomance data logging.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderUseVgaDriver">
            <summary>
            Uses the VGA display driver.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderDisableBootDisplay">
            <summary>
            Quiet boot.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderDisableVesaBios">
            <summary>
            Disables use of the VESA BIOS.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderClusterModeAddressing">
            <summary>
            Maximum processors in a single APIC cluster.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderUsePhysicalDestination">
            <summary>
            Forces the physical APIC to be used.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderRestrictApicCluster">
            <summary>
            The largest APIC cluster number the system can use.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderUseBootProcessorOnly">
            <summary>
            Forces only the boot processor to be used.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderNumberOfProcessors">
            <summary>
            The number of processors to be used.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderForceMaxProcessors">
            <summary>
            Use maximum number of processors.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderProcessorConfigurationFlags">
            <summary>
            Processor specific configuration flags.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderUseFirmwarePciSettings">
            <summary>
            Uses BIOS-configured PCI resources.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderMsiPolicy">
            <summary>
            Message Signalled Interrupt setting.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderPciExpressPolicy">
            <summary>
            PCE Express Policy.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderSafeBoot">
            <summary>
            The safe boot option.
            </summary>
            <remarks>0 = Minimal, 1 = Network, 2 = DsRepair</remarks>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderSafeBootAlternateShell">
            <summary>
            Loads the configured alternate shell during a safe boot.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderBootLogInitialization">
            <summary>
            Enables boot log.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderVerboseObjectLoadMode">
            <summary>
            Displays diagnostic information during boot.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderKernelDebuggerEnabled">
            <summary>
            Enables the kernel debugger.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderDebuggerHalBreakpoint">
            <summary>
            Causes the kernal to halt early during boot.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderEmsEnabled">
            <summary>
            Enables Windows Emergency Management System.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderForceFailure">
            <summary>
            Forces a failure on boot.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderDriverLoadFailurePolicy">
            <summary>
            The OS failure policy.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.OsLoaderBootStatusPolicy">
            <summary>
            The OS boot status policy.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.ResumeHiberFileDevice">
            <summary>
            The device containing the hibernation file.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.ResumeHiberFilePath">
            <summary>
            The path to the hibernation file.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.ResumeUseCustomSettings">
            <summary>
            Allows resume loader to use custom settings.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.ResumePaeMode">
            <summary>
            PAE settings for resume application.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.ResumeAssociatedDosDevice">
            <summary>
            An MS-DOS device with containing resume application
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.ResumeDebugOptionEnabled">
            <summary>
            Enables debug option.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.MemDiagPassCount">
            <summary>
            The number of iterations to run.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.MemDiagTestMix">
            <summary>
            The test mix.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.MemDiagFailureCount">
            <summary>
            The failure count.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.MemDiagTestToFail">
            <summary>
            The tests to fail.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.LoaderBpbString">
            <summary>
            BPB string.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.StartupPxeSoftReboot">
            <summary>
            Causes a soft PXE reboot.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.StartupPxeApplicationName">
            <summary>
            PXE application name.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.DeviceRamDiskImageOffset">
            <summary>
            Offset of the RAM disk image.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.DeviceRamDiskTftpClientPort">
            <summary>
            Client port for TFTP.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.DeviceRamDiskSdiDevice">
            <summary>
            Device containing the SDI file.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.DeviceRamDiskSdiPath">
            <summary>
            Path to the SDI file.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.DeviceRamDiskRamDiskImageLength">
            <summary>
            Length of the RAM disk image.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.DeviceRamDiskExportAsCd">
            <summary>
            Exports the image as a CD.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.DeviceRamDiskTftpBlockSize">
            <summary>
            The TFTP transfer block size.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.SetupDeviceType">
            <summary>
            The device type.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.SetupAppRelativePath">
            <summary>
            The application relative path.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.SetupRamDiskDeviceRelativePath">
            <summary>
            The device relative path.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.SetupOmitOsLoaderElements">
            <summary>
            Omit OS loader elements.
            </summary>
        </member>
        <member name="F:DiscUtils.BootConfig.WellKnownElement.SetupRecoveryOs">
            <summary>
            Recovery OS flag.
            </summary>
        </member>
        <member name="T:DiscUtils.Buffer">
            <summary>
            Abstract base class for implementations of IBuffer.
            </summary>
        </member>
        <member name="T:DiscUtils.IBuffer">
            <summary>
            Interface shared by all buffers.
            </summary>
            <remarks>
            Buffers are very similar to streams, except the buffer has no notion of
            'current position'.  All I/O operations instead specify the position, as
            needed.  Buffers also support sparse behaviour.
            </remarks>
        </member>
        <member name="M:DiscUtils.IBuffer.Read(System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads from the buffer into a byte array.
            </summary>
            <param name="pos">The offset within the buffer to start reading.</param>
            <param name="buffer">The destination byte array.</param>
            <param name="offset">The start offset within the destination buffer.</param>
            <param name="count">The number of bytes to read.</param>
            <returns>The actual number of bytes read</returns>
        </member>
        <member name="M:DiscUtils.IBuffer.Write(System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a byte array into the buffer.
            </summary>
            <param name="pos">The start offset within the buffer.</param>
            <param name="buffer">The source byte array.</param>
            <param name="offset">The start offset within the source byte array.</param>
            <param name="count">The number of bytes to write.</param>
        </member>
        <member name="M:DiscUtils.IBuffer.Clear(System.Int64,System.Int32)">
            <summary>
            Clears bytes from the buffer.
            </summary>
            <param name="pos">The start offset within the buffer.</param>
            <param name="count">The number of bytes to clear</param>
            <remarks>
            <para>Logically equivalent to writing <c>count</c> null/zero bytes to the buffer, some
            implementations determine that some (or all) of the range indicated is not actually
            stored.  There is no direct, automatic, correspondance to clearing bytes and them
            not being represented as an 'extent' - for example, the implementation of the underlying
            stream may not permit fine-grained extent storage.</para>
            <para>It is always safe to call this method to 'zero-out' a section of a buffer, regardless of
            the underlying buffer implementation.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.IBuffer.Flush">
            <summary>
            Flushes all data to the underlying storage.
            </summary>
        </member>
        <member name="M:DiscUtils.IBuffer.SetCapacity(System.Int64)">
            <summary>
            Sets the capacity of the buffer, truncating if appropriate.
            </summary>
            <param name="value">The desired capacity of the buffer.</param>
        </member>
        <member name="M:DiscUtils.IBuffer.GetExtentsInRange(System.Int64,System.Int64)">
            <summary>
            Gets the parts of a buffer that are stored, within a specified range.
            </summary>
            <param name="start">The offset of the first byte of interest</param>
            <param name="count">The number of bytes of interest</param>
            <returns>An enumeration of stream extents, indicating stored bytes</returns>
        </member>
        <member name="P:DiscUtils.IBuffer.CanRead">
            <summary>
            Gets a value indicating whether this buffer can be read.
            </summary>
        </member>
        <member name="P:DiscUtils.IBuffer.CanWrite">
            <summary>
            Gets a value indicating whether this buffer can be modified.
            </summary>
        </member>
        <member name="P:DiscUtils.IBuffer.Capacity">
            <summary>
            Gets the current capacity of the buffer, in bytes.
            </summary>
        </member>
        <member name="P:DiscUtils.IBuffer.Extents">
            <summary>
            Gets the parts of the buffer that are stored.
            </summary>
            <remarks>This may be an empty enumeration if all bytes are zero.</remarks>
        </member>
        <member name="M:DiscUtils.Buffer.Read(System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads from the buffer into a byte array.
            </summary>
            <param name="pos">The offset within the buffer to start reading.</param>
            <param name="buffer">The destination byte array.</param>
            <param name="offset">The start offset within the destination buffer.</param>
            <param name="count">The number of bytes to read.</param>
            <returns>The actual number of bytes read</returns>
        </member>
        <member name="M:DiscUtils.Buffer.Write(System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a byte array into the buffer.
            </summary>
            <param name="pos">The start offset within the buffer.</param>
            <param name="buffer">The source byte array.</param>
            <param name="offset">The start offset within the source byte array.</param>
            <param name="count">The number of bytes to write.</param>
        </member>
        <member name="M:DiscUtils.Buffer.Clear(System.Int64,System.Int32)">
            <summary>
            Clears bytes from the buffer.
            </summary>
            <param name="pos">The start offset within the buffer.</param>
            <param name="count">The number of bytes to ckear</param>
            <remarks>
            <para>Logically equivalent to writing <c>count</c> null/zero bytes to the buffer, some
            implementations determine that some (or all) of the range indicated is not actually
            stored.  There is no direct, automatic, correspondance to clearing bytes and them
            not being represented as an 'extent' - for example, the implementation of the underlying
            stream may not permit fine-grained extent storage.</para>
            <para>It is always safe to call this method to 'zero-out' a section of a buffer, regardless of
            the underlying buffer implementation.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.Buffer.Flush">
            <summary>
            Flushes all data to the underlying storage.
            </summary>
            <remarks>The default behaviour, implemented by this class, is to take no action.</remarks>
        </member>
        <member name="M:DiscUtils.Buffer.SetCapacity(System.Int64)">
            <summary>
            Sets the capacity of the buffer, truncating if appropriate.
            </summary>
            <param name="value">The desired capacity of the buffer.</param>
        </member>
        <member name="M:DiscUtils.Buffer.GetExtentsInRange(System.Int64,System.Int64)">
            <summary>
            Gets the parts of a buffer that are stored, within a specified range.
            </summary>
            <param name="start">The offset of the first byte of interest</param>
            <param name="count">The number of bytes of interest</param>
            <returns>An enumeration of stream extents, indicating stored bytes</returns>
        </member>
        <member name="P:DiscUtils.Buffer.CanRead">
            <summary>
            Gets a value indicating whether this buffer can be read.
            </summary>
        </member>
        <member name="P:DiscUtils.Buffer.CanWrite">
            <summary>
            Gets a value indicating whether this buffer can be modified.
            </summary>
        </member>
        <member name="P:DiscUtils.Buffer.Capacity">
            <summary>
            Gets the current capacity of the buffer, in bytes.
            </summary>
        </member>
        <member name="P:DiscUtils.Buffer.Extents">
            <summary>
            Gets the parts of the stream that are stored.
            </summary>
            <remarks>This may be an empty enumeration if all bytes are zero.</remarks>
        </member>
        <member name="T:DiscUtils.BufferStream">
            <summary>
            Converts a Buffer into a Stream.
            </summary>
        </member>
        <member name="M:DiscUtils.BufferStream.#ctor(DiscUtils.IBuffer,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the BufferStream class.
            </summary>
            <param name="buffer">The buffer to use</param>
            <param name="access">The access permitted to clients</param>
        </member>
        <member name="M:DiscUtils.BufferStream.Flush">
            <summary>
            Flushes all data to the underlying storage.
            </summary>
        </member>
        <member name="M:DiscUtils.BufferStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a number of bytes from the stream.
            </summary>
            <param name="buffer">The destination buffer.</param>
            <param name="offset">The start offset within the destination buffer.</param>
            <param name="count">The number of bytes to read.</param>
            <returns>The number of bytes read.</returns>
        </member>
        <member name="M:DiscUtils.BufferStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Changes the current stream position.
            </summary>
            <param name="offset">The origin-relative stream position.</param>
            <param name="origin">The origin for the stream position.</param>
            <returns>The new stream position</returns>
        </member>
        <member name="M:DiscUtils.BufferStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the stream (the underlying buffer's capacity).
            </summary>
            <param name="value">The new length of the stream.</param>
        </member>
        <member name="M:DiscUtils.BufferStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a buffer to the stream.
            </summary>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The starting offset within buffer.</param>
            <param name="count">The number of bytes to write.</param>
        </member>
        <member name="M:DiscUtils.BufferStream.Clear(System.Int32)">
            <summary>
            Clears bytes from the stream.
            </summary>
            <param name="count">The number of bytes (from the current position) to clear</param>
            <remarks>
            <para>Logically equivalent to writing <c>count</c> null/zero bytes to the stream, some
            implementations determine that some (or all) of the range indicated is not actually
            stored.  There is no direct, automatic, correspondance to clearing bytes and them
            not being represented as an 'extent' - for example, the implementation of the underlying
            stream may not permit fine-grained extent storage.</para>
            <para>It is always safe to call this method to 'zero-out' a section of a stream, regardless of
            the underlying stream implementation.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.BufferStream.GetExtentsInRange(System.Int64,System.Int64)">
            <summary>
            Gets the parts of a stream that are stored, within a specified range.
            </summary>
            <param name="start">The offset of the first byte of interest</param>
            <param name="count">The number of bytes of interest</param>
            <returns>An enumeration of stream extents, indicating stored bytes</returns>
        </member>
        <member name="P:DiscUtils.BufferStream.CanRead">
            <summary>
            Gets an indication of whether read access is permitted.
            </summary>
        </member>
        <member name="P:DiscUtils.BufferStream.CanSeek">
            <summary>
            Gets an indication of whether seeking is permitted.
            </summary>
        </member>
        <member name="P:DiscUtils.BufferStream.CanWrite">
            <summary>
            Gets an indication of whether write access is permitted.
            </summary>
        </member>
        <member name="P:DiscUtils.BufferStream.Length">
            <summary>
            Gets the length of the stream (the capacity of the underlying buffer).
            </summary>
        </member>
        <member name="P:DiscUtils.BufferStream.Position">
            <summary>
            Gets and sets the current position within the stream.
            </summary>
        </member>
        <member name="P:DiscUtils.BufferStream.Extents">
            <summary>
            Gets the stored extents within the sparse stream.
            </summary>
        </member>
        <member name="P:DiscUtils.BuilderExtent.StreamExtents">
            <summary>
            Gets the parts of the stream that are stored.
            </summary>
            <remarks>This may be an empty enumeration if all bytes are zero.</remarks>
        </member>
        <member name="T:DiscUtils.ChsAddress">
            <summary>
            Class whose instances represent a CHS (Cylinder, Head, Sector) address on a disk.
            </summary>
            <remarks>Instances of this class are immutable.</remarks>
        </member>
        <member name="F:DiscUtils.ChsAddress.First">
            <summary>
            The address of the first sector on any disk.
            </summary>
        </member>
        <member name="M:DiscUtils.ChsAddress.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the ChsAddress class.
            </summary>
            <param name="cylinder">The number of cylinders of the disk</param>
            <param name="head">The number of heads (aka platters) of the disk</param>
            <param name="sector">The number of sectors per track/cylinder of the disk</param>
        </member>
        <member name="M:DiscUtils.ChsAddress.Equals(System.Object)">
            <summary>
            Determines if this object is equivalent to another.
            </summary>
            <param name="obj">The object to test against.</param>
            <returns><c>true</c> if the <paramref name="obj"/> is equalivalent, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.ChsAddress.GetHashCode">
            <summary>
            Calculates the hash code for this object.
            </summary>
            <returns>The hash code.</returns>
        </member>
        <member name="M:DiscUtils.ChsAddress.ToString">
            <summary>
            Gets a string representation of this object, in the form (C/H/S).
            </summary>
            <returns>The string representation</returns>
        </member>
        <member name="P:DiscUtils.ChsAddress.Cylinder">
            <summary>
            Gets the cylinder number (zero-based).
            </summary>
        </member>
        <member name="P:DiscUtils.ChsAddress.Head">
            <summary>
            Gets the head (zero-based).
            </summary>
        </member>
        <member name="P:DiscUtils.ChsAddress.Sector">
            <summary>
            Gets the sector number (one-based).
            </summary>
        </member>
        <member name="T:DiscUtils.Crc32BigEndian">
            <summary>
            Calculates CRC32 of buffers.
            </summary>
        </member>
        <member name="F:DiscUtils.Crc32Algorithm.Common">
            <summary>
            Used in Ethernet, PKZIP, BZIP2, Gzip, PNG, etc. (aka CRC32)
            </summary>
        </member>
        <member name="F:DiscUtils.Crc32Algorithm.Castagnoli">
            <summary>
            Used in iSCSI, SCTP, Btrfs, Vhdx. (aka CRC32C)
            </summary>
        </member>
        <member name="F:DiscUtils.Crc32Algorithm.Koopman">
            <summary>
            Unknown usage. (aka CRC32K)
            </summary>
        </member>
        <member name="F:DiscUtils.Crc32Algorithm.Aeronautical">
            <summary>
            Used in AIXM.  (aka CRC32Q)
            </summary>
        </member>
        <member name="T:DiscUtils.Crc32LittleEndian">
            <summary>
            Calculates CRC32 of buffers.
            </summary>
        </member>
        <member name="T:DiscUtils.Ext.ExtFileSystemOptions">
            <summary>
            FAT file system options.
            </summary>
        </member>
        <member name="T:DiscUtils.DiscFileSystemOptions">
            <summary>
            Common file system options.
            </summary>
            <remarks>Not all options are honoured by all file systems.</remarks>
        </member>
        <member name="M:DiscUtils.DiscFileSystemOptions.#ctor">
            <summary>
            Initializes a new instance of the DiscFileSystemOptions class.
            </summary>
            <remarks>You shouldn't normally create a new instance.  File systems will provide
            an instance of the correct derived type.</remarks>
        </member>
        <member name="P:DiscUtils.DiscFileSystemOptions.RandomNumberGenerator">
            <summary>
            Gets or sets the random number generator the file system should use.
            </summary>
            <remarks>This option is normally <c>null</c>, which is fine for most purposes.
            Use this option when you need to finely control the filesystem for
            reproducibility of behaviour (for example in a test harness).</remarks>
        </member>
        <member name="P:DiscUtils.Ext.ExtFileSystemOptions.FileNameEncoding">
            <summary>
            Gets or sets the character encoding used for file names.
            </summary>
        </member>
        <member name="T:DiscUtils.ClusterRoles">
            <summary>
            Enumeration of possible cluster roles.
            </summary>
            <remarks>A cluster may be in more than one role.</remarks>
        </member>
        <member name="F:DiscUtils.ClusterRoles.None">
            <summary>
            Unknown, or unspecified role.
            </summary>
        </member>
        <member name="F:DiscUtils.ClusterRoles.Free">
            <summary>
            Cluster is free.
            </summary>
        </member>
        <member name="F:DiscUtils.ClusterRoles.DataFile">
            <summary>
            Cluster is in use by a normal file.
            </summary>
        </member>
        <member name="F:DiscUtils.ClusterRoles.SystemFile">
            <summary>
            Cluster is in use by a system file.
            </summary>
            <remarks>This isn't a file marked with the 'system' attribute,
            rather files that form part of the file system namespace but also
            form part of the file system meta-data.</remarks>
        </member>
        <member name="F:DiscUtils.ClusterRoles.Metadata">
            <summary>
            Cluster is in use for meta-data.
            </summary>
        </member>
        <member name="F:DiscUtils.ClusterRoles.BootArea">
            <summary>
            Cluster contains the boot region.
            </summary>
        </member>
        <member name="F:DiscUtils.ClusterRoles.Bad">
            <summary>
            Cluster is marked bad.
            </summary>
        </member>
        <member name="T:DiscUtils.ClusterMap">
            <summary>
            Class that identifies the role of each cluster in a file system.
            </summary>
        </member>
        <member name="M:DiscUtils.ClusterMap.GetRole(System.Int64)">
            <summary>
            Gets the role of a cluster within the file system.
            </summary>
            <param name="cluster">The cluster to inspect</param>
            <returns>The clusters role (or roles)</returns>
        </member>
        <member name="M:DiscUtils.ClusterMap.ClusterToPaths(System.Int64)">
            <summary>
            Converts a cluster to a list of file names.
            </summary>
            <param name="cluster">The cluster to inspect</param>
            <returns>A list of paths that map to the cluster</returns>
            <remarks>A list is returned because on file systems with the notion of
            hard links, a cluster may correspond to multiple directory entries.</remarks>
        </member>
        <member name="T:DiscUtils.Compression.Adler32">
            <summary>
            Implementation of the Adler-32 checksum algorithm.
            </summary>
        </member>
        <member name="M:DiscUtils.Compression.Adler32.#ctor">
            <summary>
            Initializes a new instance of the Adler32 class.
            </summary>
        </member>
        <member name="M:DiscUtils.Compression.Adler32.Process(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Provides data that should be checksummed.
            </summary>
            <param name="buffer">Buffer containing the data to checksum</param>
            <param name="offset">Offset of the first byte to checksum</param>
            <param name="count">The number of bytes to checksum</param>
            <remarks>
            Call this method repeatedly until all checksummed
            data has been processed.
            </remarks>
        </member>
        <member name="P:DiscUtils.Compression.Adler32.Value">
            <summary>
            Gets the checksum of all data processed so far.
            </summary>
        </member>
        <member name="T:DiscUtils.Compression.BlockCompressor">
            <summary>
            Base class for block compression algorithms.
            </summary>
        </member>
        <member name="M:DiscUtils.Compression.BlockCompressor.Compress(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32@)">
            <summary>
            Compresses some data.
            </summary>
            <param name="source">The uncompressed input</param>
            <param name="sourceOffset">Offset of the input data in <c>source</c></param>
            <param name="sourceLength">The amount of uncompressed data</param>
            <param name="compressed">The destination for the output compressed data</param>
            <param name="compressedOffset">Offset for the output data in <c>compressed</c></param>
            <param name="compressedLength">The maximum size of the compressed data on input, and the actual size on output</param>
            <returns>Indication of success, or indication the data could not compress into the requested space</returns>
        </member>
        <member name="M:DiscUtils.Compression.BlockCompressor.Decompress(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
            <summary>
            Decompresses some data.
            </summary>
            <param name="source">The compressed input</param>
            <param name="sourceOffset">Offset of the input data in <c>source</c></param>
            <param name="sourceLength">The amount of compressed data</param>
            <param name="decompressed">The destination for the output decompressed data</param>
            <param name="decompressedOffset">Offset for the output data in <c>decompressed</c></param>
            <returns>The amount of decompressed data</returns>
        </member>
        <member name="P:DiscUtils.Compression.BlockCompressor.BlockSize">
            <summary>
            Gets or sets the block size parameter to the algorithm.
            </summary>
            <remarks>
            Some algorithms may use this to control both compression and decompression, others may
            only use it to control compression.  Some may ignore it entirely.
            </remarks>
        </member>
        <member name="T:DiscUtils.Compression.BZip2DecoderStream">
            <summary>
            Implementation of a BZip2 decoder.
            </summary>
        </member>
        <member name="M:DiscUtils.Compression.BZip2DecoderStream.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the BZip2DecoderStream class.
            </summary>
            <param name="stream">The compressed input stream.</param>
            <param name="ownsStream">Whether ownership of stream passes to the new instance.</param>
        </member>
        <member name="M:DiscUtils.Compression.BZip2DecoderStream.Flush">
            <summary>
            Flushes all data to the underlying storage.
            </summary>
        </member>
        <member name="M:DiscUtils.Compression.BZip2DecoderStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a number of bytes from the stream.
            </summary>
            <param name="buffer">The destination buffer.</param>
            <param name="offset">The start offset within the destination buffer.</param>
            <param name="count">The number of bytes to read.</param>
            <returns>The number of bytes read.</returns>
        </member>
        <member name="M:DiscUtils.Compression.BZip2DecoderStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Changes the current stream position.
            </summary>
            <param name="offset">The origin-relative stream position.</param>
            <param name="origin">The origin for the stream position.</param>
            <returns>The new stream position</returns>
        </member>
        <member name="M:DiscUtils.Compression.BZip2DecoderStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the stream (the underlying buffer's capacity).
            </summary>
            <param name="value">The new length of the stream.</param>
        </member>
        <member name="M:DiscUtils.Compression.BZip2DecoderStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a buffer to the stream.
            </summary>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The starting offset within buffer.</param>
            <param name="count">The number of bytes to write.</param>
        </member>
        <member name="M:DiscUtils.Compression.BZip2DecoderStream.Dispose(System.Boolean)">
            <summary>
            Releases underlying resources.
            </summary>
            <param name="disposing">Whether this method is called from Dispose.</param>
        </member>
        <member name="P:DiscUtils.Compression.BZip2DecoderStream.CanRead">
            <summary>
            Gets an indication of whether read access is permitted.
            </summary>
        </member>
        <member name="P:DiscUtils.Compression.BZip2DecoderStream.CanSeek">
            <summary>
            Gets an indication of whether seeking is permitted.
            </summary>
        </member>
        <member name="P:DiscUtils.Compression.BZip2DecoderStream.CanWrite">
            <summary>
            Gets an indication of whether write access is permitted.
            </summary>
        </member>
        <member name="P:DiscUtils.Compression.BZip2DecoderStream.Length">
            <summary>
            Gets the length of the stream (the capacity of the underlying buffer).
            </summary>
        </member>
        <member name="P:DiscUtils.Compression.BZip2DecoderStream.Position">
            <summary>
            Gets and sets the current position within the stream.
            </summary>
        </member>
        <member name="T:DiscUtils.Compression.CompressionResult">
            <summary>
            Possible results of attempting to compress data.
            </summary>
            <remarks>
            A compression routine <i>may</i> return <c>Compressed</c>, even if the data
            was 'all zeros' or increased in size.  The <c>AllZeros</c> and <c>Incompressible</c>
            values are for algorithms that include special detection for these cases.
            </remarks>
        </member>
        <member name="F:DiscUtils.Compression.CompressionResult.Compressed">
            <summary>
            The data compressed succesfully.
            </summary>
        </member>
        <member name="F:DiscUtils.Compression.CompressionResult.AllZeros">
            <summary>
            The data was all-zero's.
            </summary>
        </member>
        <member name="F:DiscUtils.Compression.CompressionResult.Incompressible">
            <summary>
            The data was incompressible (could not fit into destination buffer).
            </summary>
        </member>
        <member name="T:DiscUtils.Compression.BigEndianBitStream">
            <summary>
            Converts a byte stream into a bit stream.
            </summary>
        </member>
        <member name="T:DiscUtils.Compression.BitStream">
            <summary>
            Base class for bit streams.
            </summary>
            <remarks>
            The rules for conversion of a byte stream to a bit stream vary
            between implementations.
            </remarks>
        </member>
        <member name="M:DiscUtils.Compression.BitStream.Read(System.Int32)">
            <summary>
            Reads bits from the stream.
            </summary>
            <param name="count">The number of bits to read.</param>
            <returns>The bits as a UInt32</returns>
        </member>
        <member name="M:DiscUtils.Compression.BitStream.Peek(System.Int32)">
            <summary>
            Queries data from the stream.
            </summary>
            <param name="count">The number of bits to query.</param>
            <returns>The bits as a UInt32</returns>
            <remarks>This method does not consume the bits (i.e. move the file pointer)</remarks>
        </member>
        <member name="M:DiscUtils.Compression.BitStream.Consume(System.Int32)">
            <summary>
            Consumes bits from the stream without returning them.
            </summary>
            <param name="count">The number of bits to consume</param>
        </member>
        <member name="P:DiscUtils.Compression.BitStream.MaxReadAhead">
            <summary>
            Gets the maximum number of bits that can be peeked on the stream.
            </summary>
        </member>
        <member name="T:DiscUtils.Compression.ZlibStream">
            <summary>
            Implementation of the Zlib compression algorithm.
            </summary>
            <remarks>Only decompression is currently implemented.</remarks>
        </member>
        <member name="M:DiscUtils.Compression.ZlibStream.#ctor(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean)">
            <summary>
            Initializes a new instance of the ZlibStream class.
            </summary>
            <param name="stream">The stream to compress of decompress</param>
            <param name="mode">Whether to compress or decompress</param>
            <param name="leaveOpen">Whether closing this stream should leave <c>stream</c> open.</param>
        </member>
        <member name="M:DiscUtils.Compression.ZlibStream.Close">
            <summary>
            Closes the stream.
            </summary>
        </member>
        <member name="M:DiscUtils.Compression.ZlibStream.Flush">
            <summary>
            Flushes the stream.
            </summary>
        </member>
        <member name="M:DiscUtils.Compression.ZlibStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads data from the stream.
            </summary>
            <param name="buffer">The buffer to populate</param>
            <param name="offset">The first byte to write</param>
            <param name="count">The number of bytes requested</param>
            <returns>The number of bytes read</returns>
        </member>
        <member name="M:DiscUtils.Compression.ZlibStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Seeks to a new position.
            </summary>
            <param name="offset">Relative position to seek to.</param>
            <param name="origin">The origin of the seek.</param>
            <returns>The new position</returns>
        </member>
        <member name="M:DiscUtils.Compression.ZlibStream.SetLength(System.Int64)">
            <summary>
            Changes the length of the stream.
            </summary>
            <param name="value">The new desired length of the stream.</param>
        </member>
        <member name="M:DiscUtils.Compression.ZlibStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data to the stream.
            </summary>
            <param name="buffer">Buffer containing the data to write.</param>
            <param name="offset">Offset of the first byte to write.</param>
            <param name="count">Number of bytes to write.</param>
        </member>
        <member name="P:DiscUtils.Compression.ZlibStream.CanRead">
            <summary>
            Gets whether the stream can be read.
            </summary>
        </member>
        <member name="P:DiscUtils.Compression.ZlibStream.CanSeek">
            <summary>
            Gets whether the stream pointer can be changed.
            </summary>
        </member>
        <member name="P:DiscUtils.Compression.ZlibStream.CanWrite">
            <summary>
            Gets whether the stream can be written to.
            </summary>
        </member>
        <member name="P:DiscUtils.Compression.ZlibStream.Length">
            <summary>
            Gets the length of the stream.
            </summary>
        </member>
        <member name="P:DiscUtils.Compression.ZlibStream.Position">
            <summary>
            Gets and sets the stream position.
            </summary>
        </member>
        <member name="T:DiscUtils.ConcatStream">
            <summary>
            The concatenation of multiple streams (read-only, for now).
            </summary>
        </member>
        <member name="T:DiscUtils.DiscDirectoryInfo">
            <summary>
            Provides information about a directory on a disc.
            </summary>
            <remarks>
            This class allows navigation of the disc directory/file hierarchy.
            </remarks>
        </member>
        <member name="T:DiscUtils.DiscFileSystemInfo">
            <summary>
            Provides the base class for both <see cref="T:DiscUtils.DiscFileInfo"/> and <see cref="T:DiscUtils.DiscDirectoryInfo"/> objects.
            </summary>
        </member>
        <member name="M:DiscUtils.DiscFileSystemInfo.Delete">
            <summary>
            Deletes a file or directory.
            </summary>
        </member>
        <member name="M:DiscUtils.DiscFileSystemInfo.Equals(System.Object)">
            <summary>
            Indicates if <paramref name="obj"/> is equivalent to this object.
            </summary>
            <param name="obj">The object to compare</param>
            <returns><c>true</c> if <paramref name="obj"/> is equivalent, else <c>false</c></returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystemInfo.GetHashCode">
            <summary>
            Gets the hash code for this object.
            </summary>
            <returns>The hash code</returns>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.FileSystem">
            <summary>
            Gets the file system the referenced file or directory exists on.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.Name">
            <summary>
            Gets the name of the file or directory.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.FullName">
            <summary>
            Gets the full path of the file or directory.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.Extension">
            <summary>
            Gets the extension part of the file or directory name.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.Attributes">
            <summary>
            Gets or sets the <see cref="T:System.IO.FileAttributes"/> of the current <see cref="T:DiscUtils.DiscFileSystemInfo"/> object.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.Parent">
            <summary>
            Gets the <see cref="T:DiscUtils.DiscDirectoryInfo"/> of the directory containing the current <see cref="T:DiscUtils.DiscFileSystemInfo"/> object.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.Exists">
            <summary>
            Gets a value indicating whether the file system object exists.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.CreationTime">
            <summary>
            Gets or sets the creation time (in local time) of the current <see cref="T:DiscUtils.DiscFileSystemInfo"/> object.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.CreationTimeUtc">
            <summary>
            Gets or sets the creation time (in UTC) of the current <see cref="T:DiscUtils.DiscFileSystemInfo"/> object.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.LastAccessTime">
            <summary>
            Gets or sets the last time (in local time) the file or directory was accessed.
            </summary>
            <remarks>Read-only file systems will never update this value, it will remain at a fixed value.</remarks>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.LastAccessTimeUtc">
            <summary>
            Gets or sets the last time (in UTC) the file or directory was accessed.
            </summary>
            <remarks>Read-only file systems will never update this value, it will remain at a fixed value.</remarks>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.LastWriteTime">
            <summary>
            Gets or sets the last time (in local time) the file or directory was written to.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.LastWriteTimeUtc">
            <summary>
            Gets or sets the last time (in UTC) the file or directory was written to.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystemInfo.Path">
            <summary>
            Gets the path to the referenced file.
            </summary>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.#ctor(DiscUtils.DiscFileSystem,System.String)">
            <summary>
            Initializes a new instance of the DiscDirectoryInfo class.
            </summary>
            <param name="fileSystem">The file system the directory info relates to</param>
            <param name="path">The path within the file system of the directory</param>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.Create">
            <summary>
            Creates a directory.
            </summary>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.Delete">
            <summary>
            Deletes a directory, even if it's not empty.
            </summary>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.Delete(System.Boolean)">
            <summary>
            Deletes a directory, with the caller choosing whether to recurse.
            </summary>
            <param name="recursive"><c>true</c> to delete all child node, <c>false</c> to fail if the directory is not empty</param>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.MoveTo(System.String)">
            <summary>
            Moves a directory and it's contents to a new path.
            </summary>
            <param name="destinationDirName">The destination directory name</param>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.GetDirectories">
            <summary>
            Gets all child directories.
            </summary>
            <returns>An array of child directories</returns>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.GetDirectories(System.String)">
            <summary>
            Gets all child directories matching a search pattern.
            </summary>
            <param name="pattern">The search pattern</param>
            <returns>An array of child directories, or empty if none match</returns>
            <remarks>The search pattern can include the wildcards * (matching 0 or more characters)
            and ? (matching 1 character).</remarks>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.GetDirectories(System.String,System.IO.SearchOption)">
            <summary>
            Gets all descendant directories matching a search pattern.
            </summary>
            <param name="pattern">The search pattern</param>
            <param name="searchOption">Whether to search just this directory, or all children</param>
            <returns>An array of descendant directories, or empty if none match</returns>
            <remarks>The search pattern can include the wildcards * (matching 0 or more characters)
            and ? (matching 1 character).  The option parameter determines whether only immediate
            children, or all children are returned.</remarks>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.GetFiles">
            <summary>
            Gets all files.
            </summary>
            <returns>An array of files.</returns>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.GetFiles(System.String)">
            <summary>
            Gets all files matching a search pattern.
            </summary>
            <param name="pattern">The search pattern</param>
            <returns>An array of files, or empty if none match</returns>
            <remarks>The search pattern can include the wildcards * (matching 0 or more characters)
            and ? (matching 1 character).</remarks>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.GetFiles(System.String,System.IO.SearchOption)">
            <summary>
            Gets all descendant files matching a search pattern.
            </summary>
            <param name="pattern">The search pattern</param>
            <param name="searchOption">Whether to search just this directory, or all children</param>
            <returns>An array of descendant files, or empty if none match</returns>
            <remarks>The search pattern can include the wildcards * (matching 0 or more characters)
            and ? (matching 1 character).  The option parameter determines whether only immediate
            children, or all children are returned.</remarks>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.GetFileSystemInfos">
            <summary>
            Gets all files and directories in this directory.
            </summary>
            <returns>An array of files and directories.</returns>
        </member>
        <member name="M:DiscUtils.DiscDirectoryInfo.GetFileSystemInfos(System.String)">
            <summary>
            Gets all files and directories in this directory.
            </summary>
            <param name="pattern">The search pattern</param>
            <returns>An array of files and directories.</returns>
            <remarks>The search pattern can include the wildcards * (matching 0 or more characters)
            and ? (matching 1 character).</remarks>
        </member>
        <member name="P:DiscUtils.DiscDirectoryInfo.Exists">
            <summary>
            Gets a value indicating whether the directory exists.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscDirectoryInfo.FullName">
            <summary>
            Gets the full path of the directory.
            </summary>
        </member>
        <member name="T:DiscUtils.DiscFileInfo">
            <summary>
            Provides information about a file on a disc.
            </summary>
        </member>
        <member name="M:DiscUtils.DiscFileInfo.Delete">
            <summary>
            Deletes a file.
            </summary>
        </member>
        <member name="M:DiscUtils.DiscFileInfo.AppendText">
            <summary>
            Creates a <see cref="T:System.IO.StreamWriter"/> that appends text to the file represented by this <see cref="T:DiscUtils.DiscFileInfo"/>.
            </summary>
            <returns>The newly created writer</returns>
        </member>
        <member name="M:DiscUtils.DiscFileInfo.CopyTo(System.String)">
            <summary>
            Copies an existing file to a new file.
            </summary>
            <param name="destinationFileName">The destination file</param>
        </member>
        <member name="M:DiscUtils.DiscFileInfo.CopyTo(System.String,System.Boolean)">
            <summary>
            Copies an existing file to a new file, allowing overwriting of an existing file.
            </summary>
            <param name="destinationFileName">The destination file</param>
            <param name="overwrite">Whether to permit over-writing of an existing file.</param>
        </member>
        <member name="M:DiscUtils.DiscFileInfo.Create">
            <summary>
            Creates a new file for reading and writing.
            </summary>
            <returns>The newly created stream.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileInfo.CreateText">
            <summary>
            Creates a new <see cref="T:System.IO.StreamWriter"/> that writes a new text file.
            </summary>
            <returns>A new stream writer that can write to the file contents.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileInfo.MoveTo(System.String)">
            <summary>
            Moves a file to a new location.
            </summary>
            <param name="destinationFileName">The new name of the file</param>
        </member>
        <member name="M:DiscUtils.DiscFileInfo.Open(System.IO.FileMode)">
            <summary>
            Opens the current file.
            </summary>
            <param name="mode">The file mode for the created stream.</param>
            <returns>The newly created stream</returns>
            <remarks>Read-only file systems only support <c>FileMode.Open</c>.</remarks>
        </member>
        <member name="M:DiscUtils.DiscFileInfo.Open(System.IO.FileMode,System.IO.FileAccess)">
            <summary>
            Opens the current file.
            </summary>
            <param name="mode">The file mode for the created stream.</param>
            <param name="access">The access permissions for the created stream.</param>
            <returns>The newly created stream</returns>
            <remarks>Read-only file systems only support <c>FileMode.Open</c> and <c>FileAccess.Read</c>.</remarks>
        </member>
        <member name="M:DiscUtils.DiscFileInfo.OpenRead">
            <summary>
            Opens an existing file for read-only access.
            </summary>
            <returns>The newly created stream</returns>
        </member>
        <member name="M:DiscUtils.DiscFileInfo.OpenText">
            <summary>
            Opens an existing file for reading as UTF-8 text.
            </summary>
            <returns>The newly created reader</returns>
        </member>
        <member name="M:DiscUtils.DiscFileInfo.OpenWrite">
            <summary>
            Opens a file for writing.
            </summary>
            <returns>The newly created stream.</returns>
        </member>
        <member name="P:DiscUtils.DiscFileInfo.Exists">
            <summary>
            Gets a value indicating whether the file exists.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileInfo.Directory">
            <summary>
            Gets an instance of the parent directory.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileInfo.DirectoryName">
            <summary>
            Gets a string representing the directory's full path.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileInfo.IsReadOnly">
            <summary>
            Gets or sets a value indicating whether the file is read-only.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileInfo.Length">
            <summary>
            Gets the length of the current file in bytes.
            </summary>
        </member>
        <member name="T:DiscUtils.DiscFileSystem">
            <summary>
            Provides the base class for all file systems.
            </summary>
        </member>
        <member name="T:DiscUtils.IFileSystem">
            <summary>
            Common interface for all file systems.
            </summary>
        </member>
        <member name="M:DiscUtils.IFileSystem.CopyFile(System.String,System.String)">
            <summary>
            Copies an existing file to a new file.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.CopyFile(System.String,System.String,System.Boolean)">
            <summary>
            Copies an existing file to a new file, allowing overwriting of an existing file.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
            <param name="overwrite">Whether to permit over-writing of an existing file.</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.CreateDirectory(System.String)">
            <summary>
            Creates a directory.
            </summary>
            <param name="path">The path of the new directory</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.DeleteDirectory(System.String)">
            <summary>
            Deletes a directory.
            </summary>
            <param name="path">The path of the directory to delete.</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.DeleteDirectory(System.String,System.Boolean)">
            <summary>
            Deletes a directory, optionally with all descendants.
            </summary>
            <param name="path">The path of the directory to delete.</param>
            <param name="recursive">Determines if the all descendants should be deleted</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.DeleteFile(System.String)">
            <summary>
            Deletes a file.
            </summary>
            <param name="path">The path of the file to delete.</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.DirectoryExists(System.String)">
            <summary>
            Indicates if a directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the directory exists</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.FileExists(System.String)">
            <summary>
            Indicates if a file exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file exists</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.Exists(System.String)">
            <summary>
            Indicates if a file or directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file or directory exists</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetDirectories(System.String)">
            <summary>
            Gets the names of subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of directories.</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetDirectories(System.String,System.String)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetDirectories(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetFiles(System.String)">
            <summary>
            Gets the names of files in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files.</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetFiles(System.String,System.String)">
            <summary>
            Gets the names of files in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetFiles(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of files in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetFileSystemEntries(System.String)">
            <summary>
            Gets the names of all files and subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetFileSystemEntries(System.String,System.String)">
            <summary>
            Gets the names of files and subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.MoveDirectory(System.String,System.String)">
            <summary>
            Moves a directory.
            </summary>
            <param name="sourceDirectoryName">The directory to move.</param>
            <param name="destinationDirectoryName">The target directory name.</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.MoveFile(System.String,System.String)">
            <summary>
            Moves a file.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.MoveFile(System.String,System.String,System.Boolean)">
            <summary>
            Moves a file, allowing an existing file to be overwritten.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
            <param name="overwrite">Whether to permit a destination file to be overwritten</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.OpenFile(System.String,System.IO.FileMode)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <param name="access">The access permissions for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetAttributes(System.String)">
            <summary>
            Gets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to inspect</param>
            <returns>The attributes of the file or directory</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.SetAttributes(System.String,System.IO.FileAttributes)">
            <summary>
            Sets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to change</param>
            <param name="newValue">The new attributes of the file or directory</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetCreationTime(System.String)">
            <summary>
            Gets the creation time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.SetCreationTime(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetCreationTimeUtc(System.String)">
            <summary>
            Gets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.SetCreationTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetLastAccessTime(System.String)">
            <summary>
            Gets the last access time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last access time</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.SetLastAccessTime(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetLastAccessTimeUtc(System.String)">
            <summary>
            Gets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last access time</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.SetLastAccessTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetLastWriteTime(System.String)">
            <summary>
            Gets the last modification time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last write time</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.SetLastWriteTime(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetLastWriteTimeUtc(System.String)">
            <summary>
            Gets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last write time</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.SetLastWriteTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetFileLength(System.String)">
            <summary>
            Gets the length of a file.
            </summary>
            <param name="path">The path to the file</param>
            <returns>The length in bytes</returns>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetFileInfo(System.String)">
            <summary>
            Gets an object representing a possible file.
            </summary>
            <param name="path">The file path</param>
            <returns>The representing object</returns>
            <remarks>The file does not need to exist</remarks>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetDirectoryInfo(System.String)">
            <summary>
            Gets an object representing a possible directory.
            </summary>
            <param name="path">The directory path</param>
            <returns>The representing object</returns>
            <remarks>The directory does not need to exist</remarks>
        </member>
        <member name="M:DiscUtils.IFileSystem.GetFileSystemInfo(System.String)">
            <summary>
            Gets an object representing a possible file system object (file or directory).
            </summary>
            <param name="path">The file system path</param>
            <returns>The representing object</returns>
            <remarks>The file system object does not need to exist</remarks>
        </member>
        <member name="M:DiscUtils.IFileSystem.ReadBootCode">
            <summary>
            Reads the boot code of the file system into a byte array.
            </summary>
            <returns>The boot code, or <c>null</c> if not available</returns>
        </member>
        <member name="P:DiscUtils.IFileSystem.CanWrite">
            <summary>
            Gets a value indicating whether the file system is read-only or read-write.
            </summary>
            <returns>true if the file system is read-write.</returns>
        </member>
        <member name="P:DiscUtils.IFileSystem.Root">
            <summary>
            Gets the root directory of the file system.
            </summary>
        </member>
        <member name="P:DiscUtils.IFileSystem.IsThreadSafe">
            <summary>
            Gets a value indicating whether the file system is thread-safe.
            </summary>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.#ctor">
            <summary>
            Initializes a new instance of the DiscFileSystem class.
            </summary>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.#ctor(DiscUtils.DiscFileSystemOptions)">
            <summary>
            Initializes a new instance of the DiscFileSystem class.
            </summary>
            <param name="defaultOptions">The options instance to use for this file system instance.</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.Finalize">
            <summary>
            Finalizes an instance of the DiscFileSystem class.
            </summary>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.CopyFile(System.String,System.String)">
            <summary>
            Copies an existing file to a new file.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.CopyFile(System.String,System.String,System.Boolean)">
            <summary>
            Copies an existing file to a new file, allowing overwriting of an existing file.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
            <param name="overwrite">Whether to permit over-writing of an existing file.</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.CreateDirectory(System.String)">
            <summary>
            Creates a directory.
            </summary>
            <param name="path">The path of the new directory</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.DeleteDirectory(System.String)">
            <summary>
            Deletes a directory.
            </summary>
            <param name="path">The path of the directory to delete.</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.DeleteDirectory(System.String,System.Boolean)">
            <summary>
            Deletes a directory, optionally with all descendants.
            </summary>
            <param name="path">The path of the directory to delete.</param>
            <param name="recursive">Determines if the all descendants should be deleted</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.DeleteFile(System.String)">
            <summary>
            Deletes a file.
            </summary>
            <param name="path">The path of the file to delete.</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.DirectoryExists(System.String)">
            <summary>
            Indicates if a directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the directory exists</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.FileExists(System.String)">
            <summary>
            Indicates if a file exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file exists</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.Exists(System.String)">
            <summary>
            Indicates if a file or directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file or directory exists</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetDirectories(System.String)">
            <summary>
            Gets the names of subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of directories.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetDirectories(System.String,System.String)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetDirectories(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetFiles(System.String)">
            <summary>
            Gets the names of files in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetFiles(System.String,System.String)">
            <summary>
            Gets the names of files in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetFiles(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of files in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetFileSystemEntries(System.String)">
            <summary>
            Gets the names of all files and subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetFileSystemEntries(System.String,System.String)">
            <summary>
            Gets the names of files and subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.MoveDirectory(System.String,System.String)">
            <summary>
            Moves a directory.
            </summary>
            <param name="sourceDirectoryName">The directory to move.</param>
            <param name="destinationDirectoryName">The target directory name.</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.MoveFile(System.String,System.String)">
            <summary>
            Moves a file.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.MoveFile(System.String,System.String,System.Boolean)">
            <summary>
            Moves a file, allowing an existing file to be overwritten.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
            <param name="overwrite">Whether to permit a destination file to be overwritten</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.OpenFile(System.String,System.IO.FileMode)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <param name="access">The access permissions for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetAttributes(System.String)">
            <summary>
            Gets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to inspect</param>
            <returns>The attributes of the file or directory</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.SetAttributes(System.String,System.IO.FileAttributes)">
            <summary>
            Sets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to change</param>
            <param name="newValue">The new attributes of the file or directory</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetCreationTime(System.String)">
            <summary>
            Gets the creation time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.SetCreationTime(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetCreationTimeUtc(System.String)">
            <summary>
            Gets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.SetCreationTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetLastAccessTime(System.String)">
            <summary>
            Gets the last access time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last access time</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.SetLastAccessTime(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetLastAccessTimeUtc(System.String)">
            <summary>
            Gets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last access time</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.SetLastAccessTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetLastWriteTime(System.String)">
            <summary>
            Gets the last modification time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last write time</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.SetLastWriteTime(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetLastWriteTimeUtc(System.String)">
            <summary>
            Gets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last write time</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.SetLastWriteTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetFileLength(System.String)">
            <summary>
            Gets the length of a file.
            </summary>
            <param name="path">The path to the file</param>
            <returns>The length in bytes</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetFileInfo(System.String)">
            <summary>
            Gets an object representing a possible file.
            </summary>
            <param name="path">The file path</param>
            <returns>The representing object</returns>
            <remarks>The file does not need to exist</remarks>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetDirectoryInfo(System.String)">
            <summary>
            Gets an object representing a possible directory.
            </summary>
            <param name="path">The directory path</param>
            <returns>The representing object</returns>
            <remarks>The directory does not need to exist</remarks>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.GetFileSystemInfo(System.String)">
            <summary>
            Gets an object representing a possible file system object (file or directory).
            </summary>
            <param name="path">The file system path</param>
            <returns>The representing object</returns>
            <remarks>The file system object does not need to exist</remarks>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.ReadBootCode">
            <summary>
            Reads the boot code of the file system into a byte array.
            </summary>
            <returns>The boot code, or <c>null</c> if not available</returns>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.Dispose">
            <summary>
            Disposes of this instance, releasing all resources.
            </summary>
        </member>
        <member name="M:DiscUtils.DiscFileSystem.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance.
            </summary>
            <param name="disposing">true if Disposing</param>
        </member>
        <member name="P:DiscUtils.DiscFileSystem.Options">
            <summary>
            Gets the file system options, which can be modified.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystem.FriendlyName">
            <summary>
            Gets a friendly description of the file system type.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystem.CanWrite">
            <summary>
            Gets a value indicating whether the file system is read-only or read-write.
            </summary>
            <returns>true if the file system is read-write.</returns>
        </member>
        <member name="P:DiscUtils.DiscFileSystem.Root">
            <summary>
            Gets the root directory of the file system.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystem.VolumeLabel">
            <summary>
            Gets the volume label.
            </summary>
        </member>
        <member name="P:DiscUtils.DiscFileSystem.IsThreadSafe">
            <summary>
            Gets a value indicating whether the file system is thread-safe.
            </summary>
        </member>
        <member name="T:DiscUtils.ReportLevels">
            <summary>
            Flags for the amount of detail to include in a report.
            </summary>
        </member>
        <member name="F:DiscUtils.ReportLevels.None">
            <summary>
            Report no information.
            </summary>
        </member>
        <member name="F:DiscUtils.ReportLevels.Information">
            <summary>
            Report informational level items.
            </summary>
        </member>
        <member name="F:DiscUtils.ReportLevels.Warnings">
            <summary>
            Report warning level items.
            </summary>
        </member>
        <member name="F:DiscUtils.ReportLevels.Errors">
            <summary>
            Report error level items.
            </summary>
        </member>
        <member name="F:DiscUtils.ReportLevels.All">
            <summary>
            Report all items.
            </summary>
        </member>
        <member name="T:DiscUtils.DiscFileSystemChecker">
            <summary>
            Base class for objects that validate file system integrity.
            </summary>
            <remarks>Instances of this class do not offer the ability to fix/correct
            file system issues, just to perform a limited number of checks on
            integrity of the file system.</remarks>
        </member>
        <member name="M:DiscUtils.DiscFileSystemChecker.Check(System.IO.TextWriter,DiscUtils.ReportLevels)">
            <summary>
            Checks the integrity of a file system held in a stream.
            </summary>
            <param name="reportOutput">A report on issues found</param>
            <param name="levels">The amount of detail to report</param>
            <returns><c>true</c> if the file system appears valid, else <c>false</c></returns>
        </member>
        <member name="T:DiscUtils.DiskImageBuilder">
            <summary>
            Base class for all disk image builders.
            </summary>
        </member>
        <member name="M:DiscUtils.DiskImageBuilder.GetBuilder(System.String,System.String)">
            <summary>
            Gets an instance that constructs the specified type (and variant) of virtual disk image.
            </summary>
            <param name="type">The type of image to build (VHD, VMDK, etc)</param>
            <param name="variant">The variant type (differencing/dynamic, fixed/static, etc).</param>
            <returns>The builder instance.</returns>
        </member>
        <member name="M:DiscUtils.DiskImageBuilder.Build(System.String)">
            <summary>
            Initiates the construction of the disk image.
            </summary>
            <param name="baseName">The base name for the disk images.</param>
            <returns>A set of one or more logical files that constitute the
            disk image.  The first file is the 'primary' file that is normally attached to VMs.</returns>
            <remarks>The supplied <c>baseName</c> is the start of the file name, with no file
            extension.  The set of file specifications will indicate the actual name corresponding
            to each logical file that comprises the disk image.  For example, given a base name
            'foo', the files 'foo.vmdk' and 'foo-flat.vmdk' could be returned.</remarks>
        </member>
        <member name="P:DiscUtils.DiskImageBuilder.Content">
            <summary>
            Gets or sets the content for this disk, implying the size of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.DiskImageBuilder.Geometry">
            <summary>
            Gets or sets the geometry of this disk, will be implied from the content stream if not set.
            </summary>
        </member>
        <member name="P:DiscUtils.DiskImageBuilder.BiosGeometry">
            <summary>
            Gets or sets the geometry of this disk, as reported by the BIOS, will be implied from the content stream if not set.
            </summary>
        </member>
        <member name="P:DiscUtils.DiskImageBuilder.GenericAdapterType">
            <summary>
            Gets or sets the adapter type for created virtual disk, for file formats that encode this information.
            </summary>
        </member>
        <member name="P:DiscUtils.DiskImageBuilder.PreservesBiosGeometry">
            <summary>
            Gets a value indicating whether this file format preserves BIOS geometry information.
            </summary>
        </member>
        <member name="T:DiscUtils.DiskImageFileSpecification">
            <summary>
            Describes a particular file that is a constituent part of a virtual disk.
            </summary>
        </member>
        <member name="M:DiscUtils.DiskImageFileSpecification.OpenStream">
            <summary>
            Gets the object that provides access to the file's content.
            </summary>
            <returns>A stream object that contains the file's content</returns>
        </member>
        <member name="P:DiscUtils.DiskImageFileSpecification.Name">
            <summary>
            Gets name of the file.
            </summary>
        </member>
        <member name="T:DiscUtils.Compression.BZip2CombinedHuffmanTrees">
            <summary>
            Represents scheme used by BZip2 where multiple Huffman trees are used as a
            virtual Huffman tree, with a logical selector every 50 bits in the bit stream.
            </summary>
        </member>
        <member name="T:DiscUtils.VirtualDiskLayer">
            <summary>
            Represents the base layer, or a differencing layer of a VirtualDisk.
            </summary>
            <remarks>
            <para>VirtualDisks are composed of one or more layers - a base layer
            which represents the entire disk (even if not all bytes are actually stored),
            and a number of differencing layers that store the disk sectors that are
            logically different to the base layer.</para>
            <para>Disk Layers may not store all sectors.  Any sectors that are not stored
            are logically zero's (for base layers), or holes through to the layer underneath
            (all other layers).</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.VirtualDiskLayer.Finalize">
            <summary>
            Finalizes an instance of the VirtualDiskLayer class.
            </summary>
        </member>
        <member name="M:DiscUtils.VirtualDiskLayer.OpenContent(DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Gets the content of this layer.
            </summary>
            <param name="parent">The parent stream (if any)</param>
            <param name="ownsParent">Controls ownership of the parent stream</param>
            <returns>The content as a stream</returns>
        </member>
        <member name="M:DiscUtils.VirtualDiskLayer.GetParentLocations">
            <summary>
            Gets the possible locations of the parent file (if any).
            </summary>
            <returns>Array of strings, empty if no parent</returns>
        </member>
        <member name="M:DiscUtils.VirtualDiskLayer.Dispose">
            <summary>
            Disposes of this instance, freeing underlying resources.
            </summary>
        </member>
        <member name="M:DiscUtils.VirtualDiskLayer.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing"><c>true</c> if running inside Dispose(), indicating
            graceful cleanup of all managed objects should be performed, or <c>false</c>
            if running inside destructor.</param>
        </member>
        <member name="P:DiscUtils.VirtualDiskLayer.Geometry">
            <summary>
            Gets the geometry of the virtual disk layer.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskLayer.Extents">
            <summary>
            Gets and sets the logical extents that make up this layer.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskLayer.IsSparse">
            <summary>
            Gets a value indicating whether the layer only stores meaningful sectors.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskLayer.NeedsParent">
            <summary>
            Gets a value indicating whether this is a differential disk.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskLayer.FullPath">
            <summary>
            Gets the full path to this disk layer, or empty string.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskLayer.Capacity">
            <summary>
            Gets the capacity of the disk (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskLayer.RelativeFileLocator">
            <summary>
            Gets a <c>FileLocator</c> that can resolve relative paths, or <c>null</c>.
            </summary>
            <remarks>
            Typically used to locate parent disks.
            </remarks>
        </member>
        <member name="M:DiscUtils.Dmg.DiskImageFile.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="stream">The stream to read</param>
            <param name="ownsStream">Indicates if the new instance should control the lifetime of the stream.</param>
        </member>
        <member name="M:DiscUtils.Dmg.DiskImageFile.GetParentLocations">
            <summary>
            Gets the location of the parent file, given a base path.
            </summary>
            <returns>Array of candidate file locations</returns>
        </member>
        <member name="P:DiscUtils.Dmg.DiskImageFile.Geometry">
            <summary>
            Gets the geometry of the virtual disk layer.
            </summary>
        </member>
        <member name="P:DiscUtils.Dmg.DiskImageFile.NeedsParent">
            <summary>
            Gets a value indicating whether the file is a differencing disk.
            </summary>
        </member>
        <member name="T:DiscUtils.Dmg.Disk">
            <summary>
            Represents a DMG (aka UDIF) backed disk.
            </summary>
        </member>
        <member name="T:DiscUtils.VirtualDisk">
            <summary>
            Base class representing virtual hard disks.
            </summary>
        </member>
        <member name="M:DiscUtils.VirtualDisk.Finalize">
            <summary>
            Finalizes an instance of the VirtualDisk class.
            </summary>
        </member>
        <member name="M:DiscUtils.VirtualDisk.GetSupportedDiskVariants(System.String)">
            <summary>
            Gets the set of supported variants of a type of virtual disk.
            </summary>
            <param name="type">A type, as returned by <see cref="P:DiscUtils.VirtualDisk.SupportedDiskTypes"/></param>
            <returns>A collection of identifiers, or empty if there is no variant concept for this type of disk.</returns>
        </member>
        <member name="M:DiscUtils.VirtualDisk.GetDiskType(System.String,System.String)">
            <summary>
            Gets information about disk type.
            </summary>
            <param name="type">The disk type, as returned by <see cref="P:DiscUtils.VirtualDisk.SupportedDiskTypes"/></param>
            <param name="variant">The variant of the disk type</param>
            <returns>Information about the disk type</returns>
        </member>
        <member name="M:DiscUtils.VirtualDisk.CreateDisk(DiscUtils.DiscFileSystem,System.String,System.String,System.String,System.Int64,DiscUtils.Geometry,System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>
            Create a new virtual disk, possibly within an existing disk.
            </summary>
            <param name="fileSystem">The file system to create the disk on</param>
            <param name="type">The type of disk to create (see <see cref="P:DiscUtils.VirtualDisk.SupportedDiskTypes"/>)</param>
            <param name="variant">The variant of the type to create (see <see cref="M:DiscUtils.VirtualDisk.GetSupportedDiskVariants(System.String)"/>)</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <param name="capacity">The capacity of the new disk</param>
            <param name="geometry">The geometry of the new disk (or null).</param>
            <param name="parameters">Untyped parameters controlling the creation process (TBD)</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.VirtualDisk.CreateDisk(System.String,System.String,System.String,System.Int64,DiscUtils.Geometry,System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>
            Create a new virtual disk.
            </summary>
            <param name="type">The type of disk to create (see <see cref="P:DiscUtils.VirtualDisk.SupportedDiskTypes"/>)</param>
            <param name="variant">The variant of the type to create (see <see cref="M:DiscUtils.VirtualDisk.GetSupportedDiskVariants(System.String)"/>)</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <param name="capacity">The capacity of the new disk</param>
            <param name="geometry">The geometry of the new disk (or null).</param>
            <param name="parameters">Untyped parameters controlling the creation process (TBD)</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.VirtualDisk.CreateDisk(System.String,System.String,System.String,System.Int64,DiscUtils.Geometry,System.String,System.String,System.Collections.Generic.Dictionary{System.String,System.String})">
            <summary>
            Create a new virtual disk.
            </summary>
            <param name="type">The type of disk to create (see <see cref="P:DiscUtils.VirtualDisk.SupportedDiskTypes"/>)</param>
            <param name="variant">The variant of the type to create (see <see cref="M:DiscUtils.VirtualDisk.GetSupportedDiskVariants(System.String)"/>)</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <param name="capacity">The capacity of the new disk</param>
            <param name="geometry">The geometry of the new disk (or null).</param>
            <param name="user">The user identity to use when accessing the <c>path</c> (or null)</param>
            <param name="password">The password to use when accessing the <c>path</c> (or null)</param>
            <param name="parameters">Untyped parameters controlling the creation process (TBD)</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.VirtualDisk.CreateDisk(System.String,System.String,System.String,DiscUtils.VirtualDiskParameters,System.String,System.String)">
            <summary>
            Create a new virtual disk.
            </summary>
            <param name="type">The type of disk to create (see <see cref="P:DiscUtils.VirtualDisk.SupportedDiskTypes"/>)</param>
            <param name="variant">The variant of the type to create (see <see cref="M:DiscUtils.VirtualDisk.GetSupportedDiskVariants(System.String)"/>)</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <param name="diskParameters">Parameters controlling the capacity, geometry, etc of the new disk.</param>
            <param name="user">The user identity to use when accessing the <c>path</c> (or null)</param>
            <param name="password">The password to use when accessing the <c>path</c> (or null)</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.VirtualDisk.OpenDisk(System.String,System.IO.FileAccess)">
            <summary>
            Opens an existing virtual disk.
            </summary>
            <param name="path">The path of the virtual disk to open, can be a URI</param>
            <param name="access">The desired access to the disk</param>
            <returns>The Virtual Disk, or <c>null</c> if an unknown disk format</returns>
        </member>
        <member name="M:DiscUtils.VirtualDisk.OpenDisk(System.String,System.IO.FileAccess,System.String,System.String)">
            <summary>
            Opens an existing virtual disk.
            </summary>
            <param name="path">The path of the virtual disk to open, can be a URI</param>
            <param name="access">The desired access to the disk</param>
            <param name="user">The user name to use for authentication (if necessary)</param>
            <param name="password">The password to use for authentication (if necessary)</param>
            <returns>The Virtual Disk, or <c>null</c> if an unknown disk format</returns>
        </member>
        <member name="M:DiscUtils.VirtualDisk.OpenDisk(System.String,System.String,System.IO.FileAccess,System.String,System.String)">
            <summary>
            Opens an existing virtual disk.
            </summary>
            <param name="path">The path of the virtual disk to open, can be a URI</param>
            <param name="forceType">Force the detected disk type (<c>null</c> to detect)</param>
            <param name="access">The desired access to the disk</param>
            <param name="user">The user name to use for authentication (if necessary)</param>
            <param name="password">The password to use for authentication (if necessary)</param>
            <returns>The Virtual Disk, or <c>null</c> if an unknown disk format</returns>
            <remarks>
            The detected disk type can be forced by specifying a known disk type: 
            RAW, VHD, VMDK, etc.
            </remarks>
        </member>
        <member name="M:DiscUtils.VirtualDisk.OpenDisk(DiscUtils.DiscFileSystem,System.String,System.IO.FileAccess)">
            <summary>
            Opens an existing virtual disk, possibly from within an existing disk.
            </summary>
            <param name="fs">The file system to open the disk on</param>
            <param name="path">The path of the virtual disk to open</param>
            <param name="access">The desired access to the disk</param>
            <returns>The Virtual Disk, or <c>null</c> if an unknown disk format</returns>
        </member>
        <member name="M:DiscUtils.VirtualDisk.Dispose">
            <summary>
            Disposes of this instance, freeing underlying resources.
            </summary>
        </member>
        <member name="M:DiscUtils.VirtualDisk.GetMasterBootRecord">
            <summary>
            Reads the first sector of the disk, known as the Master Boot Record.
            </summary>
            <returns>The MBR as a byte array</returns>
        </member>
        <member name="M:DiscUtils.VirtualDisk.SetMasterBootRecord(System.Byte[])">
            <summary>
            Overwrites the first sector of the disk, known as the Master Boot Record.
            </summary>
            <param name="data">The master boot record, must be 512 bytes in length.</param>
        </member>
        <member name="M:DiscUtils.VirtualDisk.CreateDifferencingDisk(DiscUtils.DiscFileSystem,System.String)">
            <summary>
            Create a new differencing disk, possibly within an existing disk.
            </summary>
            <param name="fileSystem">The file system to create the disk on</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.VirtualDisk.CreateDifferencingDisk(System.String)">
            <summary>
            Create a new differencing disk.
            </summary>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.VirtualDisk.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing"><c>true</c> if running inside Dispose(), indicating
            graceful cleanup of all managed objects should be performed, or <c>false</c>
            if running inside destructor.</param>
        </member>
        <member name="P:DiscUtils.VirtualDisk.SupportedDiskFormats">
            <summary>
            Gets the set of disk formats supported as an array of file extensions.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDisk.SupportedDiskTypes">
            <summary>
            Gets the set of disk types supported, as an array of identifiers.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDisk.Geometry">
            <summary>
            Gets the geometry of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDisk.BiosGeometry">
            <summary>
            Gets the geometry of the disk as it is anticipated a hypervisor BIOS will represent it.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDisk.DiskClass">
            <summary>
            Gets the type of disk represented by this object.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDisk.Capacity">
            <summary>
            Gets the capacity of the disk (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDisk.BlockSize">
            <summary>
            Gets the size of the disk's logical blocks (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDisk.Content">
            <summary>
            Gets the content of the disk as a stream.
            </summary>
            <remarks>Note the returned stream is not guaranteed to be at any particular position.  The actual position
            will depend on the last partition table/file system activity, since all access to the disk contents pass
            through a single stream instance.  Set the stream position before accessing the stream.</remarks>
        </member>
        <member name="P:DiscUtils.VirtualDisk.Layers">
            <summary>
            Gets the layers that make up the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDisk.Signature">
            <summary>
            Gets or sets the Windows disk signature of the disk, which uniquely identifies the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDisk.IsPartitioned">
            <summary>
            Gets a value indicating whether the disk appears to have a valid partition table.
            </summary>
            <remarks>There is no reliable way to determine whether a disk has a valid partition
            table.  The 'guess' consists of checking for basic indicators and looking for obviously
            invalid data, such as overlapping partitions.</remarks>
        </member>
        <member name="P:DiscUtils.VirtualDisk.Partitions">
            <summary>
            Gets the object that interprets the partition structure.
            </summary>
            <remarks>It is theoretically possible for a disk to contain two independant partition structures - a
            BIOS/GPT one and an Apple one, for example.  This method will return in order of preference,
            a GUID partition table, a BIOS partition table, then in undefined preference one of any other partition
            tables found.  See PartitionTable.GetPartitionTables to gain access to all the discovered partition
            tables on a disk.</remarks>
        </member>
        <member name="P:DiscUtils.VirtualDisk.Parameters">
            <summary>
            Gets the parameters of the disk.
            </summary>
            <remarks>Most of the parameters are also available individually, such as DiskType and Capacity.</remarks>
        </member>
        <member name="P:DiscUtils.VirtualDisk.DiskTypeInfo">
            <summary>
            Gets information about the type of disk.
            </summary>
            <remarks>This property provides access to meta-data about the disk format, for example whether the
            BIOS geometry is preserved in the disk file.</remarks>
        </member>
        <member name="M:DiscUtils.Dmg.Disk.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disk class.
            </summary>
            <param name="stream">The stream containing the disk</param>
            <param name="ownsStream">Whether the new instance takes ownership of stream</param>
        </member>
        <member name="M:DiscUtils.Dmg.Disk.CreateDifferencingDisk(DiscUtils.DiscFileSystem,System.String)">
            <summary>
            Create a new differencing disk, possibly within an existing disk.
            </summary>
            <param name="fileSystem">The file system to create the disk on</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Dmg.Disk.CreateDifferencingDisk(System.String)">
            <summary>
            Create a new differencing disk.
            </summary>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Dmg.Disk.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance, freeing underlying resources.
            </summary>
            <param name="disposing"><c>true</c> if called from Dispose</param>
        </member>
        <member name="P:DiscUtils.Dmg.Disk.Geometry">
            <summary>
            Gets the geometry of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Dmg.Disk.DiskClass">
            <summary>
            Gets the type of disk represented by this object.
            </summary>
        </member>
        <member name="P:DiscUtils.Dmg.Disk.Capacity">
            <summary>
            Gets the capacity of the disk (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Dmg.Disk.Content">
            <summary>
            Gets the content of the disk as a stream.
            </summary>
            <remarks>
            Note the returned stream is not guaranteed to be at any particular position.  The actual position
            will depend on the last partition table/file system activity, since all access to the disk contents pass
            through a single stream instance.  Set the stream position before accessing the stream.
            </remarks>
        </member>
        <member name="P:DiscUtils.Dmg.Disk.Layers">
            <summary>
            Gets the layers that make up the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Dmg.Disk.DiskTypeInfo">
            <summary>
            Gets information about the type of disk.
            </summary>
            <remarks>This property provides access to meta-data about the disk format, for example whether the
            BIOS geometry is preserved in the disk file.</remarks>
        </member>
        <member name="T:DiscUtils.Ext.CompatibleFeatures">
            <summary>
            Feature flags for backwards compatible features.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.CompatibleFeatures.DirectoryPreallocation">
            <summary>
            Indicates pre-allocation hints are present.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.CompatibleFeatures.IMagicInodes">
            <summary>
            AFS support in inodex.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.CompatibleFeatures.HasJournal">
            <summary>
            Indicates an EXT3-style journal is present.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.CompatibleFeatures.ExtendedAttributes">
            <summary>
            Indicates extended attributes (e.g. FileACLs) are present.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.CompatibleFeatures.ResizeInode">
            <summary>
            Indicates space is reserved through a special inode to enable the file system to be resized dynamically.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.CompatibleFeatures.DirectoryIndex">
            <summary>
            Indicates that directory indexes are present (not used in mainline?).
            </summary>
        </member>
        <member name="T:DiscUtils.Vfs.IVfsFile">
            <summary>
            Interface implemented by a class representing a file.
            </summary>
            <remarks>
            File system implementations should have a class that implements this
            interface.  If the file system implementation is read-only, it is
            acceptable to throw <c>NotImplementedException</c> from setters.
            </remarks>
        </member>
        <member name="P:DiscUtils.Vfs.IVfsFile.LastAccessTimeUtc">
            <summary>
            Gets or sets the last access time in UTC.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.IVfsFile.LastWriteTimeUtc">
            <summary>
            Gets or sets the last write time in UTC.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.IVfsFile.CreationTimeUtc">
            <summary>
            Gets or sets the last creation time in UTC.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.IVfsFile.FileAttributes">
            <summary>
            Gets or sets the file's attributes.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.IVfsFile.FileLength">
            <summary>
            Gets the length of the file.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.IVfsFile.FileContent">
            <summary>
            Gets a buffer to access the file's contents.
            </summary>
        </member>
        <member name="T:DiscUtils.Vfs.IVfsDirectory`2">
            <summary>
            Interface implemented by classes representing a directory.
            </summary>
            <typeparam name="TDirEntry">Concrete type representing directory entries.</typeparam>
            <typeparam name="TFile">Concrete type representing files.</typeparam>
        </member>
        <member name="M:DiscUtils.Vfs.IVfsDirectory`2.GetEntryByName(System.String)">
            <summary>
            Gets a specific directory entry, by name.
            </summary>
            <param name="name">The name of the directory entry</param>
            <returns>The directory entry, or <c>null</c> if not found</returns>
        </member>
        <member name="M:DiscUtils.Vfs.IVfsDirectory`2.CreateNewFile(System.String)">
            <summary>
            Creates a new file.
            </summary>
            <param name="name">The name of the file (relative to this directory)</param>
            <returns>The newly created file</returns>
        </member>
        <member name="P:DiscUtils.Vfs.IVfsDirectory`2.AllEntries">
            <summary>
            Gets all of the directory entries.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.IVfsDirectory`2.Self">
            <summary>
            Gets a self-reference, if available.
            </summary>
        </member>
        <member name="T:DiscUtils.Vfs.VfsDirEntry">
            <summary>
            Base class for directory entries in a file system.
            </summary>
            <remarks>
            File system implementations should have a class that derives from
            this abstract class.  If the file system implementation is read-only,
            it is acceptable to throw <c>NotImplementedException</c> from methods
            that attempt to modify the file system.
            </remarks>
        </member>
        <member name="P:DiscUtils.Vfs.VfsDirEntry.IsDirectory">
            <summary>
            Gets a value indicating whether this directory entry represents a directory (rather than a file).
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.VfsDirEntry.IsSymlink">
            <summary>
            Gets a value indicating whether this directory entry represents a symlink (rather than a file or directory).
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.VfsDirEntry.FileName">
            <summary>
            Gets the name of this directory entry.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.VfsDirEntry.HasVfsTimeInfo">
            <summary>
            Gets a value indicating whether this directory entry contains time information.
            </summary>
            <remarks>
            <para>Typically either always returns <c>true</c> or <c>false</c>.</para>
            </remarks>
        </member>
        <member name="P:DiscUtils.Vfs.VfsDirEntry.LastAccessTimeUtc">
            <summary>
            Gets the last access time of the file or directory.
            </summary>
            <remarks>
            May throw <c>NotSupportedException</c> if <c>HasVfsTimeInfo</c> is <c>false</c>.
            </remarks>
        </member>
        <member name="P:DiscUtils.Vfs.VfsDirEntry.LastWriteTimeUtc">
            <summary>
            Gets the last write time of the file or directory.
            </summary>
            <remarks>
            May throw <c>NotSupportedException</c> if <c>HasVfsTimeInfo</c> is <c>false</c>.
            </remarks>
        </member>
        <member name="P:DiscUtils.Vfs.VfsDirEntry.CreationTimeUtc">
            <summary>
            Gets the creation time of the file or directory.
            </summary>
            <remarks>
            May throw <c>NotSupportedException</c> if <c>HasVfsTimeInfo</c> is <c>false</c>.
            </remarks>
        </member>
        <member name="P:DiscUtils.Vfs.VfsDirEntry.HasVfsFileAttributes">
            <summary>
            Gets a value indicating whether this directory entry contains file attribute information.
            </summary>
            <remarks>
            <para>Typically either always returns <c>true</c> or <c>false</c>.</para>
            </remarks>
        </member>
        <member name="P:DiscUtils.Vfs.VfsDirEntry.FileAttributes">
            <summary>
            Gets the file attributes from the directory entry.
            </summary>
            <remarks>
            May throw <c>NotSupportedException</c> if <c>HasVfsFileAttributes</c> is <c>false</c>.
            </remarks>
        </member>
        <member name="P:DiscUtils.Vfs.VfsDirEntry.UniqueCacheId">
            <summary>
            Gets a unique id for the file or directory represented by this directory entry.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.VfsDirEntry.SearchName">
            <summary>
            Gets a version of FileName that can be used in wildcard matches.
            </summary>
            <remarks>
            The returned name, must have an extension separator '.', and not have any optional version
            information found in some files.  The returned name is matched against a wildcard patterns
            such as "*.*".
            </remarks>
        </member>
        <member name="T:DiscUtils.Vfs.VfsContext">
            <summary>
            Base class for a context object that holds global state for file system implementations.
            </summary>
        </member>
        <member name="T:DiscUtils.Ext.ExtFileSystem">
            <summary>
            Read-only access to ext file system.
            </summary>
        </member>
        <member name="T:DiscUtils.Vfs.VfsFileSystemFacade">
            <summary>
            Base class for the public facade on a file system.
            </summary>
            <remarks>
            The derived class can extend the functionality available from a file system
            beyond that defined by DiscFileSystem.
            </remarks>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.#ctor(DiscUtils.DiscFileSystem)">
            <summary>
            Initializes a new instance of the VfsFileSystemFacade class.
            </summary>
            <param name="toWrap">The actual file system instance</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.CopyFile(System.String,System.String)">
            <summary>
            Copies an existing file to a new file.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.CopyFile(System.String,System.String,System.Boolean)">
            <summary>
            Copies an existing file to a new file.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
            <param name="overwrite">Overwrite any existing file</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.CreateDirectory(System.String)">
            <summary>
            Creates a directory.
            </summary>
            <param name="path">The path of the new directory</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.DeleteDirectory(System.String)">
            <summary>
            Deletes a directory.
            </summary>
            <param name="path">The path of the directory to delete.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.DeleteDirectory(System.String,System.Boolean)">
            <summary>
            Deletes a directory, optionally with all descendants.
            </summary>
            <param name="path">The path of the directory to delete.</param>
            <param name="recursive">Determines if the all descendants should be deleted</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.DeleteFile(System.String)">
            <summary>
            Deletes a file.
            </summary>
            <param name="path">The path of the file to delete.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.DirectoryExists(System.String)">
            <summary>
            Indicates if a directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the directory exists</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.FileExists(System.String)">
            <summary>
            Indicates if a file exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file exists</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.Exists(System.String)">
            <summary>
            Indicates if a file or directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file or directory exists</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetDirectories(System.String)">
            <summary>
            Gets the names of subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of directories.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetDirectories(System.String,System.String)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetDirectories(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetFiles(System.String)">
            <summary>
            Gets the names of files in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetFiles(System.String,System.String)">
            <summary>
            Gets the names of files in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetFiles(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of files in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetFileSystemEntries(System.String)">
            <summary>
            Gets the names of all files and subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetFileSystemEntries(System.String,System.String)">
            <summary>
            Gets the names of files and subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.MoveDirectory(System.String,System.String)">
            <summary>
            Moves a directory.
            </summary>
            <param name="sourceDirectoryName">The directory to move.</param>
            <param name="destinationDirectoryName">The target directory name.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.MoveFile(System.String,System.String)">
            <summary>
            Moves a file.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.MoveFile(System.String,System.String,System.Boolean)">
            <summary>
            Moves a file, allowing an existing file to be overwritten.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
            <param name="overwrite">Whether to permit a destination file to be overwritten</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.OpenFile(System.String,System.IO.FileMode)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <param name="access">The access permissions for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetAttributes(System.String)">
            <summary>
            Gets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to inspect</param>
            <returns>The attributes of the file or directory</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.SetAttributes(System.String,System.IO.FileAttributes)">
            <summary>
            Sets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to change</param>
            <param name="newValue">The new attributes of the file or directory</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetCreationTime(System.String)">
            <summary>
            Gets the creation time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.SetCreationTime(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetCreationTimeUtc(System.String)">
            <summary>
            Gets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.SetCreationTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetLastAccessTime(System.String)">
            <summary>
            Gets the last access time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last access time</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.SetLastAccessTime(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetLastAccessTimeUtc(System.String)">
            <summary>
            Gets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last access time</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.SetLastAccessTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetLastWriteTime(System.String)">
            <summary>
            Gets the last modification time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last write time</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.SetLastWriteTime(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetLastWriteTimeUtc(System.String)">
            <summary>
            Gets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last write time</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.SetLastWriteTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetFileLength(System.String)">
            <summary>
            Gets the length of a file.
            </summary>
            <param name="path">The path to the file</param>
            <returns>The length in bytes</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetFileInfo(System.String)">
            <summary>
            Gets an object representing a possible file.
            </summary>
            <param name="path">The file path</param>
            <returns>The representing object</returns>
            <remarks>The file does not need to exist</remarks>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetDirectoryInfo(System.String)">
            <summary>
            Gets an object representing a possible directory.
            </summary>
            <param name="path">The directory path</param>
            <returns>The representing object</returns>
            <remarks>The directory does not need to exist</remarks>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetFileSystemInfo(System.String)">
            <summary>
            Gets an object representing a possible file system object (file or directory).
            </summary>
            <param name="path">The file system path</param>
            <returns>The representing object</returns>
            <remarks>The file system object does not need to exist</remarks>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetRealFileSystem``4">
            <summary>
            Provides access to the actual file system implementation
            </summary>
            <typeparam name="TDirEntry">The concrete type representing directory entries</typeparam>
            <typeparam name="TFile">The concrete type representing files</typeparam>
            <typeparam name="TDirectory">The concrete type representing directories</typeparam>
            <typeparam name="TContext">The concrete type holding global state</typeparam>
            <returns>The actual file system instance.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFacade.GetRealFileSystem``1">
            <summary>
            Provides access to the actual file system implementation
            </summary>
            <typeparam name="T">The concrete type of the actual file system.</typeparam>
            <returns>The actual file system instance.</returns>
        </member>
        <member name="P:DiscUtils.Vfs.VfsFileSystemFacade.Options">
            <summary>
            Gets the file system options, which can be modified.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.VfsFileSystemFacade.FriendlyName">
            <summary>
            Gets a friendly name for the file system.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.VfsFileSystemFacade.CanWrite">
            <summary>
            Indicates whether the file system is read-only or read-write.
            </summary>
            <returns>true if the file system is read-write.</returns>
        </member>
        <member name="P:DiscUtils.Vfs.VfsFileSystemFacade.Root">
            <summary>
            Gets the root directory of the file system.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.VfsFileSystemFacade.VolumeLabel">
            <summary>
            Gets the volume label.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.VfsFileSystemFacade.IsThreadSafe">
            <summary>
            Gets a value indicating whether the file system is thread-safe.
            </summary>
        </member>
        <member name="T:DiscUtils.IUnixFileSystem">
            <summary>
            Provides the base class for all file systems that support Unix semantics.
            </summary>
        </member>
        <member name="M:DiscUtils.IUnixFileSystem.GetUnixFileInfo(System.String)">
            <summary>
            Retrieves Unix-specific information about a file or directory.
            </summary>
            <param name="path">Path to the file or directory</param>
            <returns>Information about the owner, group, permissions and type of the
            file or directory.</returns>
        </member>
        <member name="M:DiscUtils.Ext.ExtFileSystem.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the ExtFileSystem class.
            </summary>
            <param name="stream">The stream containing the ext file system.</param>
        </member>
        <member name="M:DiscUtils.Ext.ExtFileSystem.#ctor(System.IO.Stream,DiscUtils.FileSystemParameters)">
            <summary>
            Initializes a new instance of the ExtFileSystem class.
            </summary>
            <param name="stream">The stream containing the ext file system.</param>
            <param name="parameters">The generic file system parameters (only file name encoding is honoured)</param>
        </member>
        <member name="M:DiscUtils.Ext.ExtFileSystem.GetUnixFileInfo(System.String)">
            <summary>
            Retrieves Unix-specific information about a file or directory.
            </summary>
            <param name="path">Path to the file or directory</param>
            <returns>Information about the owner, group, permissions and type of the
            file or directory.</returns>
        </member>
        <member name="T:DiscUtils.Vfs.VfsFileSystemFactory">
            <summary>
            Base class for logic to detect file systems.
            </summary>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFactory.Detect(System.IO.Stream)">
            <summary>
            Detects if a stream contains any known file systems.
            </summary>
            <param name="stream">The stream to inspect</param>
            <returns>A list of file systems (may be empty)</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFactory.Detect(DiscUtils.VolumeInfo)">
            <summary>
            Detects if a volume contains any known file systems.
            </summary>
            <param name="volume">The volume to inspect</param>
            <returns>A list of file systems (may be empty)</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemFactory.Detect(System.IO.Stream,DiscUtils.VolumeInfo)">
            <summary>
            The logic for detecting file systems.
            </summary>
            <param name="stream">The stream to inspect.</param>
            <param name="volumeInfo">Optionally, information about the volume</param>
            <returns>A list of file systems detected (may be empty)</returns>
        </member>
        <member name="T:DiscUtils.Ext.IncompatibleFeatures">
            <summary>
            Feature flags for features backwards compatible with read-only mounting.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.IncompatibleFeatures.Compression">
            <summary>
            File compression used (not used in mainline?).
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.IncompatibleFeatures.FileType">
            <summary>
            Indicates that directory entries contain a file type field (uses byte of file name length field).
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.IncompatibleFeatures.NeedsRecovery">
            <summary>
            Ext3 feature - indicates a dirty journal, that needs to be replayed (safe for read-only access, not for read-write).
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.IncompatibleFeatures.IsJournalDevice">
            <summary>
            Ext3 feature - indicates the file system is a dedicated EXT3 journal, not an actual file system.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.IncompatibleFeatures.MetaBlockGroup">
            <summary>
            Indicates the file system saves space by only allocating backup space for the superblock in groups storing it (used with SparseSuperBlock).
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.IncompatibleFeatures.Extents">
            <summary>
            Ext4 feature to store files as extents.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.IncompatibleFeatures.SixtyFourBit">
            <summary>
            Ext4 feature to support some 64-bit fields.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.IncompatibleFeatures.FlexBlockGroups">
            <summary>
            Ext4 feature for storage of block groups.
            </summary>
        </member>
        <member name="T:DiscUtils.Ext.InodeFlags">
            <summary>
            Inode flags.
            </summary>
        </member>
        <member name="T:DiscUtils.Ext.ReadOnlyCompatibleFeatures">
            <summary>
            Feature flags for features backwards compatible with read-only mounting.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.ReadOnlyCompatibleFeatures.SparseSuperblock">
            <summary>
            Indicates that not all block groups contain a backup superblock.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.ReadOnlyCompatibleFeatures.LargeFiles">
            <summary>
            Indicates file system contains files greater than 0x7FFFFFFF in size (limit of unsigned uints).
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.ReadOnlyCompatibleFeatures.BtreeDirectory">
            <summary>
            Indicates BTree-style directories present (not used in mainline?).
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.ReadOnlyCompatibleFeatures.HugeFile">
            <summary>
            Ext4 feature - support for storing huge files.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.ReadOnlyCompatibleFeatures.GdtChecksum">
            <summary>
            Ext4 feature - checksum block group structures.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.ReadOnlyCompatibleFeatures.DirNlink">
            <summary>
            Ext4 feature - Unknown.
            </summary>
        </member>
        <member name="F:DiscUtils.Ext.ReadOnlyCompatibleFeatures.ExtraInodeSize">
            <summary>
            Ext4 feature - extra inode size.
            </summary>
        </member>
        <member name="T:DiscUtils.Vfs.IVfsSymlink`2">
            <summary>
            Interface implemented by classes representing a directory.
            </summary>
            <typeparam name="TDirEntry">Concrete type representing directory entries.</typeparam>
            <typeparam name="TFile">Concrete type representing files.</typeparam>
        </member>
        <member name="P:DiscUtils.Vfs.IVfsSymlink`2.TargetPath">
            <summary>
            Gets the target path for this symlink.
            </summary>
        </member>
        <member name="T:DiscUtils.Vfs.VfsReadOnlyFileSystem`4">
            <summary>
            Base class for read-only file system implementations.
            </summary>
            <typeparam name="TDirEntry">The concrete type representing directory entries</typeparam>
            <typeparam name="TFile">The concrete type representing files</typeparam>
            <typeparam name="TDirectory">The concrete type representing directories</typeparam>
            <typeparam name="TContext">The concrete type holding global state</typeparam>
        </member>
        <member name="T:DiscUtils.Vfs.VfsFileSystem`4">
            <summary>
            Base class for VFS file systems.
            </summary>
            <typeparam name="TDirEntry">The concrete type representing directory entries</typeparam>
            <typeparam name="TFile">The concrete type representing files</typeparam>
            <typeparam name="TDirectory">The concrete type representing directories</typeparam>
            <typeparam name="TContext">The concrete type holding global state</typeparam>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.#ctor(DiscUtils.DiscFileSystemOptions)">
            <summary>
            Initializes a new instance of the VfsFileSystem class.
            </summary>
            <param name="defaultOptions">The default file system options</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.CopyFile(System.String,System.String,System.Boolean)">
            <summary>
            Copies a file - not supported on read-only file systems.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
            <param name="overwrite">Whether to permit over-writing of an existing file.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.CreateDirectory(System.String)">
            <summary>
            Creates a directory - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the new directory</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.DeleteDirectory(System.String)">
            <summary>
            Deletes a directory - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the directory to delete.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.DeleteFile(System.String)">
            <summary>
            Deletes a file - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the file to delete.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.DirectoryExists(System.String)">
            <summary>
            Indicates if a directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the directory exists</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.FileExists(System.String)">
            <summary>
            Indicates if a file exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file exists</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.GetDirectories(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.GetFiles(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of files in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.GetFileSystemEntries(System.String)">
            <summary>
            Gets the names of all files and subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.GetFileSystemEntries(System.String,System.String)">
            <summary>
            Gets the names of files and subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.MoveDirectory(System.String,System.String)">
            <summary>
            Moves a directory.
            </summary>
            <param name="sourceDirectoryName">The directory to move.</param>
            <param name="destinationDirectoryName">The target directory name.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.MoveFile(System.String,System.String,System.Boolean)">
            <summary>
            Moves a file.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
            <param name="overwrite">Overwrite any existing file.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <param name="access">The access permissions for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.GetAttributes(System.String)">
            <summary>
            Gets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to inspect</param>
            <returns>The attributes of the file or directory</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.SetAttributes(System.String,System.IO.FileAttributes)">
            <summary>
            Sets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to change</param>
            <param name="newValue">The new attributes of the file or directory</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.GetCreationTimeUtc(System.String)">
            <summary>
            Gets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.SetCreationTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.GetLastAccessTimeUtc(System.String)">
            <summary>
            Gets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last access time</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.SetLastAccessTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.GetLastWriteTimeUtc(System.String)">
            <summary>
            Gets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last write time</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.SetLastWriteTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.GetFileLength(System.String)">
            <summary>
            Gets the length of a file.
            </summary>
            <param name="path">The path to the file</param>
            <returns>The length in bytes</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.ForAllDirEntries(System.String,DiscUtils.Vfs.VfsFileSystem{`0,`1,`2,`3}.DirEntryHandler)">
            <summary>
            Gets all directory entries in the specified directory and sub-directories.
            </summary>
            <param name="path">The path to inspect</param>
            <param name="handler">Delegate invoked for each directory entry</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.GetFile(System.String)">
            <summary>
            Gets the file object for a given path.
            </summary>
            <param name="path">The path to query.</param>
            <returns>The file object corresponding to the path</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.ConvertDirEntryToFile(`0)">
            <summary>
            Converts a directory entry to an object representing a file.
            </summary>
            <param name="dirEntry">The directory entry to convert</param>
            <returns>The corresponding file object</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystem`4.FormatFileName(System.String)">
            <summary>
            Converts an internal directory entry name into an external one.
            </summary>
            <param name="name">The name to convert</param>
            <returns>The external name</returns>
            <remarks>
            This method is called on a single path element (i.e. name contains no path
            separators).
            </remarks>
        </member>
        <member name="P:DiscUtils.Vfs.VfsFileSystem`4.VolumeLabel">
            <summary>
            Gets the volume label.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.VfsFileSystem`4.Context">
            <summary>
            Gets or sets the global shared state.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.VfsFileSystem`4.RootDirectory">
            <summary>
            Gets or sets the object representing the root directory.
            </summary>
        </member>
        <member name="T:DiscUtils.Vfs.VfsFileSystem`4.DirEntryHandler">
            <summary>
            Delegate for processing directory entries.
            </summary>
            <param name="path">Full path to the directory entry</param>
            <param name="dirEntry">The directory entry itself</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.#ctor(DiscUtils.DiscFileSystemOptions)">
            <summary>
            Initializes a new instance of the VfsReadOnlyFileSystem class.
            </summary>
            <param name="defaultOptions">The default file system options</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.CopyFile(System.String,System.String,System.Boolean)">
            <summary>
            Copies a file - not supported on read-only file systems.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
            <param name="overwrite">Whether to permit over-writing of an existing file.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.CreateDirectory(System.String)">
            <summary>
            Creates a directory - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the new directory</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.DeleteDirectory(System.String)">
            <summary>
            Deletes a directory - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the directory to delete.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.DeleteFile(System.String)">
            <summary>
            Deletes a file - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the file to delete.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.MoveDirectory(System.String,System.String)">
            <summary>
            Moves a directory - not supported on read-only file systems.
            </summary>
            <param name="sourceDirectoryName">The directory to move.</param>
            <param name="destinationDirectoryName">The target directory name.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.MoveFile(System.String,System.String,System.Boolean)">
            <summary>
            Moves a file - not supported on read-only file systems.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
            <param name="overwrite">Whether to allow an existing file to be overwritten</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.OpenFile(System.String,System.IO.FileMode)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.SetAttributes(System.String,System.IO.FileAttributes)">
            <summary>
            Sets the attributes of a file or directory - not supported on read-only file systems.
            </summary>
            <param name="path">The file or directory to change</param>
            <param name="newValue">The new attributes of the file or directory</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.SetCreationTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in UTC) of a file or directory - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.SetLastAccessTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in UTC) of a file or directory - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.SetLastWriteTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in UTC) of a file or directory - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="P:DiscUtils.Vfs.VfsReadOnlyFileSystem`4.CanWrite">
            <summary>
            Indicates whether the file system is read-only or read-write.
            </summary>
            <returns>Always false.</returns>
        </member>
        <member name="F:DiscUtils.Ext.SuperBlock.OldRevision">
            <summary>
            Old revision, not supported by DiscUtils.
            </summary>
        </member>
        <member name="F:DiscUtils.Fat.ClusterReader._clusterSize">
            <summary>
            Pre-calculated value because of number of uses of this externally.
            </summary>
        </member>
        <member name="M:DiscUtils.Fat.ClusterStream.WriteToCluster(System.UInt32,System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes up to the next cluster boundary, making sure to preserve existing data in the cluster
            that falls outside of the updated range.
            </summary>
            <param name="cluster">The cluster to write to.</param>
            <param name="pos">The file position of the write (within the cluster)</param>
            <param name="buffer">The buffer with the new data</param>
            <param name="offset">Offset into buffer of the first byte to write</param>
            <param name="count">The maximum number of bytes to write</param>
            <returns>The number of bytes written - either count, or the number that fit up to
            the cluster boundary.</returns>
        </member>
        <member name="M:DiscUtils.Fat.ClusterStream.ExtendChain">
            <summary>
            Adds a new cluster to the end of the existing chain, by allocating a free cluster.
            </summary>
            <returns>The cluster allocated</returns>
            <remarks>This method does not initialize the data in the cluster, the caller should
            perform a write to ensure the cluster data is in known state.</remarks>
        </member>
        <member name="M:DiscUtils.Fat.Directory.#ctor(DiscUtils.Fat.Directory,System.Int64)">
            <summary>
            Initializes a new instance of the Directory class.  Use this constructor to represent non-root directories.
            </summary>
            <param name="parent">The parent directory</param>
            <param name="parentId">The identity of the entry representing this directory in the parent</param>
        </member>
        <member name="M:DiscUtils.Fat.Directory.#ctor(DiscUtils.Fat.FatFileSystem,System.IO.Stream)">
            <summary>
            Initializes a new instance of the Directory class.  Use this constructor to represent the root directory.
            </summary>
            <param name="fileSystem">The file system</param>
            <param name="dirStream">The stream containing the directory info</param>
        </member>
        <member name="F:DiscUtils.Fat.FatBuffer.EndOfChain">
            <summary>
            The End-of-chain marker to WRITE (SetNext).  Don't use this value to test for end of chain.
            </summary>
            <remarks>
            The actual end-of-chain marker bits on disk vary by FAT type, and can end ...F8 through ...FF.
            </remarks>
        </member>
        <member name="F:DiscUtils.Fat.FatBuffer.BadCluster">
            <summary>
            The Bad-Cluster marker to WRITE (SetNext).  Don't use this value to test for bad clusters.
            </summary>
            <remarks>
            The actual bad-cluster marker bits on disk vary by FAT type.
            </remarks>
        </member>
        <member name="F:DiscUtils.Fat.FatBuffer.FreeCluster">
            <summary>
            The Free-Cluster marker to WRITE (SetNext).  Don't use this value to test for free clusters.
            </summary>
            <remarks>
            The actual free-cluster marker bits on disk vary by FAT type.
            </remarks>
        </member>
        <member name="T:DiscUtils.Fat.FatFileSystem">
            <summary>
            Class for accessing FAT file systems.
            </summary>
        </member>
        <member name="F:DiscUtils.Fat.FatFileSystem.Epoch">
            <summary>
            The Epoch for FAT file systems (1st Jan, 1980).
            </summary>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the FatFileSystem class.
            </summary>
            <param name="data">The stream containing the file system.</param>
            <remarks>
            Local time is the effective timezone of the new instance.
            </remarks>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the FatFileSystem class.
            </summary>
            <param name="data">The stream containing the file system.</param>
            <param name="ownsData">Indicates if the new instance should take ownership
            of <paramref name="data"/>.</param>
            <remarks>
            Local time is the effective timezone of the new instance.
            </remarks>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.#ctor(System.IO.Stream,DiscUtils.TimeConverter)">
            <summary>
            Initializes a new instance of the FatFileSystem class.
            </summary>
            <param name="data">The stream containing the file system.</param>
            <param name="timeConverter">A delegate to convert to/from the file system's timezone.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.#ctor(System.IO.Stream,DiscUtils.Ownership,DiscUtils.TimeConverter)">
            <summary>
            Initializes a new instance of the FatFileSystem class.
            </summary>
            <param name="data">The stream containing the file system.</param>
            <param name="ownsData">Indicates if the new instance should take ownership
            of <paramref name="data"/>.</param>
            <param name="timeConverter">A delegate to convert to/from the file system's timezone.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.#ctor(System.IO.Stream,DiscUtils.Ownership,DiscUtils.FileSystemParameters)">
            <summary>
            Initializes a new instance of the FatFileSystem class.
            </summary>
            <param name="data">The stream containing the file system.</param>
            <param name="ownsData">Indicates if the new instance should take ownership
            of <paramref name="data"/>.</param>
            <param name="parameters">The parameters for the file system.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.FormatFloppy(System.IO.Stream,DiscUtils.FloppyDiskType,System.String)">
            <summary>
            Creates a formatted floppy disk image in a stream.
            </summary>
            <param name="stream">The stream to write the blank image to</param>
            <param name="type">The type of floppy to create</param>
            <param name="label">The volume label for the floppy (or null)</param>
            <returns>An object that provides access to the newly created floppy disk image</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.FormatPartition(DiscUtils.VirtualDisk,System.Int32,System.String)">
            <summary>
            Formats a virtual hard disk partition.
            </summary>
            <param name="disk">The disk containing the partition</param>
            <param name="partitionIndex">The index of the partition on the disk</param>
            <param name="label">The volume label for the partition (or null)</param>
            <returns>An object that provides access to the newly created partition file system</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.FormatPartition(System.IO.Stream,System.String,DiscUtils.Geometry,System.Int32,System.Int32,System.Int16)">
            <summary>
            Creates a formatted hard disk partition in a stream.
            </summary>
            <param name="stream">The stream to write the new file system to</param>
            <param name="label">The volume label for the partition (or null)</param>
            <param name="diskGeometry">The geometry of the disk containing the partition</param>
            <param name="firstSector">The starting sector number of this partition (hide's sectors in other partitions)</param>
            <param name="sectorCount">The number of sectors in this partition</param>
            <param name="reservedSectors">The number of reserved sectors at the start of the partition</param>
            <returns>An object that provides access to the newly created partition file system</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.Detect(System.IO.Stream)">
            <summary>
            Detects if a stream contains a FAT file system.
            </summary>
            <param name="stream">The stream to inspect</param>
            <returns><c>true</c> if the stream appears to be a FAT file system, else <c>false</c></returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess)">
            <summary>
            Opens a file for reading and/or writing.
            </summary>
            <param name="path">The full path to the file</param>
            <param name="mode">The file mode</param>
            <param name="access">The desired access</param>
            <returns>The stream to the opened file</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetAttributes(System.String)">
            <summary>
            Gets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to inspect</param>
            <returns>The attributes of the file or directory</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.SetAttributes(System.String,System.IO.FileAttributes)">
            <summary>
            Sets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to change</param>
            <param name="newValue">The new attributes of the file or directory</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetCreationTime(System.String)">
            <summary>
            Gets the creation time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.SetCreationTime(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetCreationTimeUtc(System.String)">
            <summary>
            Gets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.SetCreationTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetLastAccessTime(System.String)">
            <summary>
            Gets the last access time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The time the file or directory was last accessed</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.SetLastAccessTime(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetLastAccessTimeUtc(System.String)">
            <summary>
            Gets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The time the file or directory was last accessed</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.SetLastAccessTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetLastWriteTime(System.String)">
            <summary>
            Gets the last modification time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The time the file or directory was last modified</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.SetLastWriteTime(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetLastWriteTimeUtc(System.String)">
            <summary>
            Gets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The time the file or directory was last modified</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.SetLastWriteTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetFileLength(System.String)">
            <summary>
            Gets the length of a file.
            </summary>
            <param name="path">The path to the file</param>
            <returns>The length in bytes</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.CopyFile(System.String,System.String,System.Boolean)">
            <summary>
            Copies an existing file to a new file, allowing overwriting of an existing file.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
            <param name="overwrite">Whether to permit over-writing of an existing file.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.CreateDirectory(System.String)">
            <summary>
            Creates a directory.
            </summary>
            <param name="path">The directory to create.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.DeleteDirectory(System.String)">
            <summary>
            Deletes a directory, optionally with all descendants.
            </summary>
            <param name="path">The path of the directory to delete.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.DeleteFile(System.String)">
            <summary>
            Deletes a file.
            </summary>
            <param name="path">The path of the file to delete.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.DirectoryExists(System.String)">
            <summary>
            Indicates if a directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the directory exists</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.FileExists(System.String)">
            <summary>
            Indicates if a file exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file exists</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.Exists(System.String)">
            <summary>
            Indicates if a file or directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file or directory exists</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetDirectories(System.String)">
            <summary>
            Gets the names of subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of directories.</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetDirectories(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetFiles(System.String)">
            <summary>
            Gets the names of files in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files.</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetFiles(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of files in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetFileSystemEntries(System.String)">
            <summary>
            Gets the names of all files and subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.GetFileSystemEntries(System.String,System.String)">
            <summary>
            Gets the names of files and subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.MoveDirectory(System.String,System.String)">
            <summary>
            Moves a directory.
            </summary>
            <param name="sourceDirectoryName">The directory to move.</param>
            <param name="destinationDirectoryName">The target directory name.</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.MoveFile(System.String,System.String,System.Boolean)">
            <summary>
            Moves a file, allowing an existing file to be overwritten.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
            <param name="overwrite">Whether to permit a destination file to be overwritten</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance.
            </summary>
            <param name="disposing">true if Disposing</param>
        </member>
        <member name="M:DiscUtils.Fat.FatFileSystem.WriteBPB(System.Byte[],System.UInt32,DiscUtils.Fat.FatType,System.UInt16,System.UInt32,System.UInt16,System.Byte,DiscUtils.Geometry,System.Boolean,System.UInt32,System.String)">
            <summary>
            Writes a FAT12/FAT16 BPB.
            </summary>
            <param name="bootSector">The buffer to fill</param>
            <param name="sectors">The total capacity of the disk (in sectors)</param>
            <param name="fatType">The number of bits in each FAT entry</param>
            <param name="maxRootEntries">The maximum number of root directory entries</param>
            <param name="hiddenSectors">The number of hidden sectors before this file system (i.e. partition offset)</param>
            <param name="reservedSectors">The number of reserved sectors before the FAT</param>
            <param name="sectorsPerCluster">The number of sectors per cluster</param>
            <param name="diskGeometry">The geometry of the disk containing the Fat file system</param>
            <param name="isFloppy">Indicates if the disk is a removable media (a floppy disk)</param>
            <param name="volId">The disk's volume Id</param>
            <param name="label">The disk's label (or null)</param>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.FatOptions">
            <summary>
            Gets the FAT file system options, which can be modified.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.FatVariant">
            <summary>
            Gets the FAT variant of the file system.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.FriendlyName">
            <summary>
            Gets the friendly name for the file system, including FAT variant.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.OemName">
            <summary>
            Gets the OEM name from the file system.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.BytesPerSector">
            <summary>
            Gets the number of bytes per sector (as stored in the file-system meta data).
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.SectorsPerCluster">
            <summary>
            Gets the number of contiguous sectors that make up one cluster.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.ReservedSectorCount">
            <summary>
            Gets the number of reserved sectors at the start of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.FatCount">
            <summary>
            Gets the number of FATs present.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.MaxRootDirectoryEntries">
            <summary>
            Gets the maximum number of root directory entries (on FAT variants that have a limit).
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.TotalSectors">
            <summary>
            Gets the total number of sectors on the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.Media">
            <summary>
            Gets the Media marker byte, which indicates fixed or removable media.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.FatSize">
            <summary>
            Gets the size of a single FAT, in sectors.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.SectorsPerTrack">
            <summary>
            Gets the number of sectors per logical track.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.Heads">
            <summary>
            Gets the number of logical heads.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.HiddenSectors">
            <summary>
            Gets the number of hidden sectors, hiding partition tables, etc.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.BiosDriveNumber">
            <summary>
            Gets the BIOS drive number for BIOS Int 13h calls.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.ExtendedBootSignaturePresent">
            <summary>
            Gets a value indicating whether the VolumeId, VolumeLabel and FileSystemType fields are valid.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.VolumeId">
            <summary>
            Gets the volume serial number.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.VolumeLabel">
            <summary>
            Gets the volume label.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.FileSystemType">
            <summary>
            Gets the (informational only) file system type recorded in the meta-data.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.ActiveFat">
            <summary>
            Gets the active FAT (zero-based index).
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.MirrorFat">
            <summary>
            Gets a value indicating whether FAT changes are mirrored to all copies of the FAT.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.Version">
            <summary>
            Gets the file-system version (usually 0)
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.RootDirectoryCluster">
            <summary>
            Gets the cluster number of the first cluster of the root directory (FAT32 only).
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.FSInfoSector">
            <summary>
            Gets the sector location of the FSINFO structure (FAT32 only).
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.BackupBootSector">
            <summary>
            Gets the Sector location of the backup boot sector (FAT32 only).
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystem.CanWrite">
            <summary>
            Indicates if this file system is read-only or read-write.
            </summary>
            <returns></returns>
        </member>
        <member name="T:DiscUtils.Fat.FatFileSystemOptions">
            <summary>
            FAT file system options.
            </summary>
        </member>
        <member name="P:DiscUtils.Fat.FatFileSystemOptions.FileNameEncoding">
            <summary>
            Gets or sets the character encoding used for file names.
            </summary>
        </member>
        <member name="T:DiscUtils.Fat.FatType">
            <summary>
            Enumeration of known FAT types.
            </summary>
        </member>
        <member name="F:DiscUtils.Fat.FatType.None">
            <summary>
            Represents no known FAT type.
            </summary>
        </member>
        <member name="F:DiscUtils.Fat.FatType.Fat12">
            <summary>
            Represents a 12-bit FAT.
            </summary>
        </member>
        <member name="F:DiscUtils.Fat.FatType.Fat16">
            <summary>
            Represents a 16-bit FAT.
            </summary>
        </member>
        <member name="F:DiscUtils.Fat.FatType.Fat32">
            <summary>
            Represents a 32-bit FAT.
            </summary>
        </member>
        <member name="T:DiscUtils.FileSystemInfo">
            <summary>
            Base class holding information about a file system.
            </summary>
            <remarks>
            File system implementations derive from this class, to provide information about the file system.
            </remarks>
        </member>
        <member name="M:DiscUtils.FileSystemInfo.Open(DiscUtils.VolumeInfo)">
            <summary>
            Opens a volume using the file system.
            </summary>
            <param name="volume">The volume to access</param>
            <returns>A file system instance</returns>
        </member>
        <member name="M:DiscUtils.FileSystemInfo.Open(System.IO.Stream)">
            <summary>
            Opens a stream using the file system.
            </summary>
            <param name="stream">The stream to access</param>
            <returns>A file system instance</returns>
        </member>
        <member name="M:DiscUtils.FileSystemInfo.Open(DiscUtils.VolumeInfo,DiscUtils.FileSystemParameters)">
            <summary>
            Opens a volume using the file system.
            </summary>
            <param name="volume">The volume to access</param>
            <param name="parameters">Parameters for the file system</param>
            <returns>A file system instance</returns>
        </member>
        <member name="M:DiscUtils.FileSystemInfo.Open(System.IO.Stream,DiscUtils.FileSystemParameters)">
            <summary>
            Opens a stream using the file system.
            </summary>
            <param name="stream">The stream to access</param>
            <param name="parameters">Parameters for the file system</param>
            <returns>A file system instance</returns>
        </member>
        <member name="M:DiscUtils.FileSystemInfo.ToString">
            <summary>
            Gets the name of the file system.
            </summary>
            <returns>The file system name</returns>
        </member>
        <member name="P:DiscUtils.FileSystemInfo.Name">
            <summary>
            Gets the name of the file system.
            </summary>
        </member>
        <member name="P:DiscUtils.FileSystemInfo.Description">
            <summary>
            Gets a one-line description of the file system.
            </summary>
        </member>
        <member name="T:DiscUtils.FileSystemManager">
            <summary>
            FileSystemManager determines which file systems are present on a volume.
            </summary>
            <remarks>
            The static detection methods detect default file systems.  To plug in additional
            file systems, create an instance of this class and call RegisterFileSystems.
            </remarks>
        </member>
        <member name="M:DiscUtils.FileSystemManager.#ctor">
            <summary>
            Initializes a new instance of the FileSystemManager class.
            </summary>
        </member>
        <member name="M:DiscUtils.FileSystemManager.DetectDefaultFileSystems(DiscUtils.VolumeInfo)">
            <summary>
            Detect which file systems are present on a volume.
            </summary>
            <param name="volume">The volume to inspect</param>
            <returns>The list of file systems detected.</returns>
        </member>
        <member name="M:DiscUtils.FileSystemManager.DetectDefaultFileSystems(System.IO.Stream)">
            <summary>
            Detect which file systems are present in a stream.
            </summary>
            <param name="stream">The stream to inspect</param>
            <returns>The list of file systems detected.</returns>
        </member>
        <member name="M:DiscUtils.FileSystemManager.RegisterFileSystems(DiscUtils.Vfs.VfsFileSystemFactory)">
            <summary>
            Registers new file systems with an instance of this class.
            </summary>
            <param name="factory">The detector for the new file systems</param>
        </member>
        <member name="M:DiscUtils.FileSystemManager.RegisterFileSystems(System.Reflection.Assembly)">
            <summary>
            Registers new file systems detected in an assembly.
            </summary>
            <param name="assembly">The assembly to inspect</param>
            <remarks>
            To be detected, the <c>VfsFileSystemFactory</c> instances must be marked with the
            <c>VfsFileSystemFactoryAttribute</c>> attribute.
            </remarks>
        </member>
        <member name="M:DiscUtils.FileSystemManager.DetectFileSystems(DiscUtils.VolumeInfo)">
            <summary>
            Detect which file systems are present on a volume.
            </summary>
            <param name="volume">The volume to inspect</param>
            <returns>The list of file systems detected.</returns>
        </member>
        <member name="M:DiscUtils.FileSystemManager.DetectFileSystems(System.IO.Stream)">
            <summary>
            Detect which file systems are present in a stream.
            </summary>
            <param name="stream">The stream to inspect</param>
            <returns>The list of file systems detected.</returns>
        </member>
        <member name="T:DiscUtils.TimeConverter">
            <summary>
            Converts a time to/from UTC.
            </summary>
            <param name="time">The time to convert</param>
            <param name="toUtc"><c>true</c> to convert FAT time to UTC, <c>false</c> to convert UTC to FAT time</param>
            <returns>The converted time.</returns>
        </member>
        <member name="T:DiscUtils.FileSystemParameters">
            <summary>
            Class with generic file system parameters.
            </summary>
            <remarks>Note - not all parameters apply to all types of file system.</remarks>
        </member>
        <member name="P:DiscUtils.FileSystemParameters.FileNameEncoding">
            <summary>
            Gets or sets the character encoding for file names, or <c>null</c> for default.
            </summary>
            <remarks>Some file systems, such as FAT, don't specify a particular character set for
            file names.  This parameter determines the character set that will be used for such
            file systems.</remarks>
        </member>
        <member name="P:DiscUtils.FileSystemParameters.TimeConverter">
            <summary>
            Gets or sets the algorithm to convert file system time to UTC.
            </summary>
            <remarks>Some file system, such as FAT, don't have a defined way to convert from file system
            time (local time where the file system is authored) to UTC time.  This parameter determines
            the algorithm to use.</remarks>
        </member>
        <member name="T:DiscUtils.FloppyDiskType">
            <summary>
            The supported Floppy Disk logical formats.
            </summary>
        </member>
        <member name="F:DiscUtils.FloppyDiskType.DoubleDensity">
            <summary>
            720KiB capacity disk.
            </summary>
        </member>
        <member name="F:DiscUtils.FloppyDiskType.HighDensity">
            <summary>
            1440KiB capacity disk.
            </summary>
        </member>
        <member name="F:DiscUtils.FloppyDiskType.Extended">
            <summary>
            2880KiB capacity disk.
            </summary>
        </member>
        <member name="T:DiscUtils.GenericDiskAdapterType">
            <summary>
            Well known hard disk adaptor types.
            </summary>
        </member>
        <member name="F:DiscUtils.GenericDiskAdapterType.Ide">
            <summary>
            IDE adaptor.
            </summary>
        </member>
        <member name="F:DiscUtils.GenericDiskAdapterType.Scsi">
            <summary>
            SCSI adaptor.
            </summary>
        </member>
        <member name="T:DiscUtils.Geometry">
            <summary>
            Class whose instances represent disk geometries.
            </summary>
            <remarks>Instances of this class are immutable.</remarks>
        </member>
        <member name="M:DiscUtils.Geometry.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the Geometry class.  The default 512 bytes per sector is assumed.
            </summary>
            <param name="cylinders">The number of cylinders of the disk</param>
            <param name="headsPerCylinder">The number of heads (aka platters) of the disk</param>
            <param name="sectorsPerTrack">The number of sectors per track/cylinder of the disk</param>
        </member>
        <member name="M:DiscUtils.Geometry.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the Geometry class.
            </summary>
            <param name="cylinders">The number of cylinders of the disk</param>
            <param name="headsPerCylinder">The number of heads (aka platters) of the disk</param>
            <param name="sectorsPerTrack">The number of sectors per track/cylinder of the disk</param>
            <param name="bytesPerSector">The number of bytes per sector of the disk</param>
        </member>
        <member name="M:DiscUtils.Geometry.#ctor(System.Int64,System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the Geometry class.
            </summary>
            <param name="capacity">The total capacity of the disk</param>
            <param name="headsPerCylinder">The number of heads (aka platters) of the disk</param>
            <param name="sectorsPerTrack">The number of sectors per track/cylinder of the disk</param>
            <param name="bytesPerSector">The number of bytes per sector of the disk</param>
        </member>
        <member name="M:DiscUtils.Geometry.LargeBiosGeometry(DiscUtils.Geometry)">
            <summary>
            Gets the 'Large' BIOS geometry for a disk, given it's physical geometry.
            </summary>
            <param name="ideGeometry">The physical (aka IDE) geometry of the disk</param>
            <returns>The geometry a BIOS using the 'Large' method for calculating disk geometry will indicate for the disk</returns>
        </member>
        <member name="M:DiscUtils.Geometry.LbaAssistedBiosGeometry(System.Int64)">
            <summary>
            Gets the 'LBA Assisted' BIOS geometry for a disk, given it's capacity.
            </summary>
            <param name="capacity">The capacity of the disk</param>
            <returns>The geometry a BIOS using the 'LBA Assisted' method for calculating disk geometry will indicate for the disk</returns>
        </member>
        <member name="M:DiscUtils.Geometry.MakeBiosSafe(DiscUtils.Geometry,System.Int64)">
            <summary>
            Converts a geometry into one that is BIOS-safe, if not already.
            </summary>
            <param name="geometry">The geometry to make BIOS-safe.</param>
            <param name="capacity">The capacity of the disk.</param>
            <returns>The new geometry</returns>
            <remarks>This method returns the LBA-Assisted geometry if the given geometry isn't BIOS-safe.</remarks>
        </member>
        <member name="M:DiscUtils.Geometry.FromCapacity(System.Int64)">
            <summary>
            Calculates a sensible disk geometry for a disk capacity using the VHD algorithm (errs under).
            </summary>
            <param name="capacity">The desired capacity of the disk</param>
            <returns>The appropriate disk geometry.</returns>
            <remarks>The geometry returned tends to produce a disk with less capacity
            than requested (an exact capacity is not always possible).  The geometry returned is the IDE
            (aka Physical) geometry of the disk, not necessarily the geometry used by the BIOS.</remarks>
        </member>
        <member name="M:DiscUtils.Geometry.ToLogicalBlockAddress(DiscUtils.ChsAddress)">
            <summary>
            Converts a CHS (Cylinder,Head,Sector) address to a LBA (Logical Block Address).
            </summary>
            <param name="chsAddress">The CHS address to convert</param>
            <returns>The Logical Block Address (in sectors)</returns>
        </member>
        <member name="M:DiscUtils.Geometry.ToLogicalBlockAddress(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts a CHS (Cylinder,Head,Sector) address to a LBA (Logical Block Address).
            </summary>
            <param name="cylinder">The cylinder of the address</param>
            <param name="head">The head of the address</param>
            <param name="sector">The sector of the address</param>
            <returns>The Logical Block Address (in sectors)</returns>
        </member>
        <member name="M:DiscUtils.Geometry.ToChsAddress(System.Int64)">
            <summary>
            Converts a LBA (Logical Block Address) to a CHS (Cylinder, Head, Sector) address.
            </summary>
            <param name="logicalBlockAddress">The logical block address (in sectors)</param>
            <returns>The address in CHS form.</returns>
        </member>
        <member name="M:DiscUtils.Geometry.TranslateToBios(DiscUtils.GeometryTranslation)">
            <summary>
            Translates an IDE (aka Physical) geometry to a BIOS (aka Logical) geometry.
            </summary>
            <param name="translation">The translation to perform</param>
            <returns>The translated disk geometry</returns>
        </member>
        <member name="M:DiscUtils.Geometry.TranslateToBios(System.Int64,DiscUtils.GeometryTranslation)">
            <summary>
            Translates an IDE (aka Physical) geometry to a BIOS (aka Logical) geometry.
            </summary>
            <param name="capacity">The capacity of the disk, required if the geometry is an approximation on the actual disk size</param>
            <param name="translation">The translation to perform</param>
            <returns>The translated disk geometry</returns>
        </member>
        <member name="M:DiscUtils.Geometry.Equals(System.Object)">
            <summary>
            Determines if this object is equivalent to another.
            </summary>
            <param name="obj">The object to test against.</param>
            <returns><c>true</c> if the <paramref name="obj"/> is equalivalent, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.Geometry.GetHashCode">
            <summary>
            Calculates the hash code for this object.
            </summary>
            <returns>The hash code.</returns>
        </member>
        <member name="M:DiscUtils.Geometry.ToString">
            <summary>
            Gets a string representation of this object, in the form (C/H/S).
            </summary>
            <returns>The string representation</returns>
        </member>
        <member name="P:DiscUtils.Geometry.Null">
            <summary>
            Gets a null geometry, which has 512-byte sectors but zero sectors, tracks or cylinders.
            </summary>
        </member>
        <member name="P:DiscUtils.Geometry.Cylinders">
            <summary>
            Gets the number of cylinders.
            </summary>
        </member>
        <member name="P:DiscUtils.Geometry.HeadsPerCylinder">
            <summary>
            Gets the number of heads (aka platters).
            </summary>
        </member>
        <member name="P:DiscUtils.Geometry.SectorsPerTrack">
            <summary>
            Gets the number of sectors per track.
            </summary>
        </member>
        <member name="P:DiscUtils.Geometry.BytesPerSector">
            <summary>
            Gets the number of bytes in each sector.
            </summary>
        </member>
        <member name="P:DiscUtils.Geometry.TotalSectors">
            <summary>
            Gets the total size of the disk (in sectors).
            </summary>
        </member>
        <member name="P:DiscUtils.Geometry.Capacity">
            <summary>
            Gets the total capacity of the disk (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Geometry.LastSector">
            <summary>
            Gets the address of the last sector on the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Geometry.IsBiosSafe">
            <summary>
            Gets a value indicating whether the Geometry is consistent with the values a BIOS can support.
            </summary>
        </member>
        <member name="P:DiscUtils.Geometry.IsIdeSafe">
            <summary>
            Gets a value indicating whether the Geometry is consistent with the values IDE can represent.
            </summary>
        </member>
        <member name="P:DiscUtils.Geometry.IsBiosAndIdeSafe">
            <summary>
            Gets a value indicating whether the Geometry is representable both by the BIOS and by IDE.
            </summary>
        </member>
        <member name="T:DiscUtils.GeometryTranslation">
            <summary>
            Enumeration of standard BIOS disk geometry translation methods
            </summary>
        </member>
        <member name="F:DiscUtils.GeometryTranslation.None">
            <summary>
            Apply no translation.
            </summary>
        </member>
        <member name="F:DiscUtils.GeometryTranslation.Auto">
            <summary>
            Automatic, based on the physical geometry select the most appropriate translation.
            </summary>
        </member>
        <member name="F:DiscUtils.GeometryTranslation.Lba">
            <summary>
            LBA assisted translation, based on just the disk capacity.
            </summary>
        </member>
        <member name="F:DiscUtils.GeometryTranslation.Large">
            <summary>
            Bit-shifting translation, based on the physical geometry of the disk.
            </summary>
        </member>
        <member name="T:DiscUtils.Vfs.IVfsFileWithStreams">
            <summary>
            Interface implemented by classes representing files, in file systems that support multi-stream files.
            </summary>
        </member>
        <member name="M:DiscUtils.Vfs.IVfsFileWithStreams.CreateStream(System.String)">
            <summary>
            Creates a new stream.
            </summary>
            <param name="name">The name of the stream.</param>
            <returns>An object representing the stream.</returns>
        </member>
        <member name="M:DiscUtils.Vfs.IVfsFileWithStreams.OpenExistingStream(System.String)">
            <summary>
            Opens an existing stream.
            </summary>
            <param name="name">The name of the stream.</param>
            <returns>An object representing the stream.</returns>
            <remarks>The implementation must not implicitly create the stream if it doesn't already
            exist.</remarks>
        </member>
        <member name="T:DiscUtils.HfsPlus.HfsPlusFileSystem">
            <summary>
            Class that interprets Apple's HFS+ file system, found in DMG files.
            </summary>
        </member>
        <member name="M:DiscUtils.HfsPlus.HfsPlusFileSystem.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the HfsPlusFileSystem class.
            </summary>
            <param name="stream">A stream containing the file system.</param>
        </member>
        <member name="M:DiscUtils.HfsPlus.HfsPlusFileSystem.GetUnixFileInfo(System.String)">
            <summary>
            Gets the Unix (BSD) file information about a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>Unix file information</returns>
        </member>
        <member name="T:DiscUtils.IClusterBasedFileSystem">
            <summary>
            Base class for all file systems based on a cluster model.
            </summary>
        </member>
        <member name="M:DiscUtils.IClusterBasedFileSystem.ClusterToOffset(System.Int64)">
            <summary>
            Converts a cluster (index) into an absolute byte position in the underlying stream.
            </summary>
            <param name="cluster">The cluster to convert</param>
            <returns>The corresponding absolute byte position.</returns>
        </member>
        <member name="M:DiscUtils.IClusterBasedFileSystem.OffsetToCluster(System.Int64)">
            <summary>
            Converts an absolute byte position in the underlying stream to a cluster (index).
            </summary>
            <param name="offset">The byte position to convert</param>
            <returns>The cluster containing the specified byte</returns>
        </member>
        <member name="M:DiscUtils.IClusterBasedFileSystem.PathToClusters(System.String)">
            <summary>
            Converts a file name to the list of clusters occupied by the file's data.
            </summary>
            <param name="path">The path to inspect</param>
            <returns>The clusters</returns>
            <remarks>Note that in some file systems, small files may not have dedicated
            clusters.  Only dedicated clusters will be returned.</remarks>
        </member>
        <member name="M:DiscUtils.IClusterBasedFileSystem.PathToExtents(System.String)">
            <summary>
            Converts a file name to the extents containing its data.
            </summary>
            <param name="path">The path to inspect</param>
            <returns>The file extents, as absolute byte positions in the underlying stream</returns>
            <remarks>Use this method with caution - not all file systems will store all bytes
            directly in extents.  Files may be compressed, sparse or encrypted.  This method
            merely indicates where file data is stored, not what's stored.</remarks>
        </member>
        <member name="M:DiscUtils.IClusterBasedFileSystem.BuildClusterMap">
            <summary>
            Gets an object that can convert between clusters and files.
            </summary>
            <returns>The cluster map</returns>
        </member>
        <member name="P:DiscUtils.IClusterBasedFileSystem.ClusterSize">
            <summary>
            Gets the size (in bytes) of each cluster.
            </summary>
        </member>
        <member name="P:DiscUtils.IClusterBasedFileSystem.TotalClusters">
            <summary>
            Gets the total number of clusters managed by the file system.
            </summary>
        </member>
        <member name="T:DiscUtils.IDiagnosticTraceable">
            <summary>
            Interface exposed by objects that can provide a structured trace of their content.
            </summary>
        </member>
        <member name="M:DiscUtils.IDiagnosticTraceable.Dump(System.IO.TextWriter,System.String)">
            <summary>
            Writes a diagnostic report about the state of the object to a writer.
            </summary>
            <param name="writer">The writer to send the report to</param>
            <param name="linePrefix">The prefix to place at the start of each line</param>
        </member>
        <member name="T:DiscUtils.InvalidFileSystemException">
            <summary>
            Exception thrown when some invalid file system data is found, indicating probably corruption.
            </summary>
        </member>
        <member name="M:DiscUtils.InvalidFileSystemException.#ctor">
            <summary>
            Initializes a new instance of the InvalidFileSystemException class.
            </summary>
        </member>
        <member name="M:DiscUtils.InvalidFileSystemException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the InvalidFileSystemException class.
            </summary>
            <param name="message">The exception message.</param>
        </member>
        <member name="M:DiscUtils.InvalidFileSystemException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the InvalidFileSystemException class.
            </summary>
            <param name="message">The exception message</param>
            <param name="innerException">The inner exception</param>
        </member>
        <member name="M:DiscUtils.InvalidFileSystemException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the InvalidFileSystemException class.
            </summary>
            <param name="info">The serialization info</param>
            <param name="context">The streaming context</param>
        </member>
        <member name="F:DiscUtils.Iscsi.Connection._negotiatedParameters">
            <summary>
            The set of all 'parameters' we've negotiated.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.Connection.Send(DiscUtils.Iscsi.ScsiCommand,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sends an SCSI command (aka task) to a LUN via the connected target.
            </summary>
            <param name="cmd">The command to send</param>
            <param name="outBuffer">The data to send with the command</param>
            <param name="outBufferOffset">The offset of the first byte to send</param>
            <param name="outBufferCount">The number of bytes to send, if any</param>
            <param name="inBuffer">The buffer to fill with returned data</param>
            <param name="inBufferOffset">The first byte to fill with returned data</param>
            <param name="inBufferMax">The maximum amount of data to receive</param>
            <returns>The number of bytes received</returns>
        </member>
        <member name="T:DiscUtils.Iscsi.Disk">
            <summary>
            Represents a disk accessed via iSCSI.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.Disk.CreateDifferencingDisk(DiscUtils.DiscFileSystem,System.String)">
            <summary>
            Create a new differencing disk, possibly within an existing disk.
            </summary>
            <param name="fileSystem">The file system to create the disk on</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.Disk.CreateDifferencingDisk(System.String)">
            <summary>
            Create a new differencing disk.
            </summary>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="P:DiscUtils.Iscsi.Disk.Geometry">
            <summary>
            The Geometry of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.Disk.DiskClass">
            <summary>
            Gets the type of disk represented by this object.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.Disk.Capacity">
            <summary>
            The capacity of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.Disk.BlockSize">
            <summary>
            Gets the size of the disk's logical blocks (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.Disk.Content">
            <summary>
            Gets a stream that provides access to the disk's content.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.Disk.Layers">
            <summary>
            Gets the disk layers that constitute the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.Disk.DiskTypeInfo">
            <summary>
            Gets information about the type of disk.
            </summary>
            <remarks>This property provides access to meta-data about the disk format, for example whether the
            BIOS geometry is preserved in the disk file.</remarks>
        </member>
        <member name="T:DiscUtils.Iscsi.Initiator">
            <summary>
            Class representing an iSCSI initiator.
            </summary>
            <remarks>Normally, this is the first class instantiated when talking to an iSCSI Portal (i.e. network entity).
            Create an instance and configure it, before communicating with the Target.</remarks>
        </member>
        <member name="M:DiscUtils.Iscsi.Initiator.#ctor">
            <summary>
            Initializes a new instance of the Initiator class.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.Initiator.SetCredentials(System.String,System.String)">
            <summary>
            Sets credentials used to authenticate this Initiator to the Target.
            </summary>
            <param name="userName">The user name</param>
            <param name="password">The password, should be at least 12 characters</param>
        </member>
        <member name="M:DiscUtils.Iscsi.Initiator.ConnectTo(DiscUtils.Iscsi.TargetInfo)">
            <summary>
            Connects to a Target.
            </summary>
            <param name="target">The Target to connect to.</param>
            <returns>The session representing the target connection.</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.Initiator.ConnectTo(System.String,System.String[])">
            <summary>
            Connects to a Target.
            </summary>
            <param name="target">The Target to connect to</param>
            <param name="addresses">The list of addresses for the target</param>
            <returns>The session representing the target connection.</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.Initiator.ConnectTo(System.String,System.Collections.Generic.IList{DiscUtils.Iscsi.TargetAddress})">
            <summary>
            Connects to a Target.
            </summary>
            <param name="target">The Target to connect to</param>
            <param name="addresses">The list of addresses for the target</param>
            <returns>The session representing the target connection.</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.Initiator.GetTargets(System.String)">
            <summary>
            Gets the Targets available from a Portal (i.e. network entity).
            </summary>
            <param name="address">The address of the Portal</param>
            <returns>The list of Targets available</returns>
            <remarks>If you just have an IP address, use this method to discover the available Targets.</remarks>
        </member>
        <member name="M:DiscUtils.Iscsi.Initiator.GetTargets(DiscUtils.Iscsi.TargetAddress)">
            <summary>
            Gets the Targets available from a Portal (i.e. network entity).
            </summary>
            <param name="address">The address of the Portal</param>
            <returns>The list of Targets available</returns>
            <remarks>If you just have an IP address, use this method to discover the available Targets.</remarks>
        </member>
        <member name="T:DiscUtils.Iscsi.InvalidProtocolException">
            <summary>
            Exception thrown when a low-level iSCSI failure is detected.
            </summary>
        </member>
        <member name="T:DiscUtils.Iscsi.IscsiException">
            <summary>
            Base exception for any iSCSI-related failures.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.IscsiException.#ctor">
            <summary>
            Initializes a new instance of the IscsiException class.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.IscsiException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the IscsiException class.
            </summary>
            <param name="message">The reason for the exception</param>
        </member>
        <member name="M:DiscUtils.Iscsi.IscsiException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the IscsiException class.
            </summary>
            <param name="message">The reason for the exception</param>
            <param name="innerException">The inner exception</param>
        </member>
        <member name="M:DiscUtils.Iscsi.IscsiException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the IscsiException class.
            </summary>
            <param name="info">The serialization info</param>
            <param name="context">Ther context</param>
        </member>
        <member name="M:DiscUtils.Iscsi.InvalidProtocolException.#ctor">
            <summary>
            Initializes a new instance of the InvalidProtocolException class.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.InvalidProtocolException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the InvalidProtocolException class.
            </summary>
            <param name="message">The reason for the exception</param>
        </member>
        <member name="M:DiscUtils.Iscsi.InvalidProtocolException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the InvalidProtocolException class.
            </summary>
            <param name="message">The reason for the exception</param>
            <param name="innerException">The inner exception</param>
        </member>
        <member name="M:DiscUtils.Iscsi.InvalidProtocolException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the InvalidProtocolException class.
            </summary>
            <param name="info">The serialization info</param>
            <param name="context">Ther context</param>
        </member>
        <member name="T:DiscUtils.Iscsi.LoginException">
            <summary>
            Exception thrown when an authentication exception occurs.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.LoginException.#ctor">
            <summary>
            Initializes a new instance of the LoginException class.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.LoginException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the LoginException class.
            </summary>
            <param name="message">The reason for the exception</param>
        </member>
        <member name="M:DiscUtils.Iscsi.LoginException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the LoginException class.
            </summary>
            <param name="message">The reason for the exception</param>
            <param name="innerException">The inner exception</param>
        </member>
        <member name="M:DiscUtils.Iscsi.LoginException.#ctor(System.String,DiscUtils.Iscsi.LoginStatusCode)">
            <summary>
            Initializes a new instance of the LoginException class.
            </summary>
            <param name="message">The reason for the exception</param>
            <param name="code">The target-indicated reason for the exception</param>
        </member>
        <member name="M:DiscUtils.Iscsi.LoginException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the LoginException class.
            </summary>
            <param name="info">The serialization info</param>
            <param name="context">Ther context</param>
        </member>
        <member name="T:DiscUtils.Iscsi.LoginStatusCode">
            <summary>
            Reasons for iSCSI login sucess or failure.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.Success">
            <summary>
            Login succeeded
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.TargetMovedTemporarily">
            <summary>
            The iSCSI target name has moved temporarily to a new address.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.TargetMovedPermanently">
            <summary>
            The iSCSI target name has moved permanently to a new address.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.InitiatorError">
            <summary>
            The Initiator was at fault.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.AuthenticationFailure">
            <summary>
            The Initiator could not be authenticated, or the Target doesn't support authentication.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.AuthorizationFailure">
            <summary>
            The Initiator is not permitted to access the given Target.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.NotFound">
            <summary>
            The given iSCSI Target Name was not found.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.TargetRemoved">
            <summary>
            The Target has been removed, and no new address provided.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.UnsupportedVersion">
            <summary>
            The Target does not support this version of the iSCSI protocol.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.TooManyConnections">
            <summary>
            Too many connections for this iSCSI session.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.MissingParameter">
            <summary>
            A required parameter is missing.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.CannotIncludeInSession">
            <summary>
            The Target does not support session spanning to this connection (address).
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.SessionTypeNotSupported">
            <summary>
            The Target does not support this type of session (or not from this Initiator).
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.SessionDoesNotExist">
            <summary>
            Attempt to add a connection to a non-existent session.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.InvalidDuringLogin">
            <summary>
            An invalid request was sent during the login sequence.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.TargetError">
            <summary>
            The Target suffered an unknown hardware or software failure.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.ServiceUnavailable">
            <summary>
            The iSCSI service or Target is not currently operational.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LoginStatusCode.OutOfResources">
            <summary>
            The Target is out of resources.
            </summary>
        </member>
        <member name="T:DiscUtils.Iscsi.LunCapacity">
            <summary>
            Class representing the capacity of a LUN.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.LunCapacity.#ctor(System.Int64,System.Int32)">
            <summary>
            Initializes a new instance of the LunCapacity class.
            </summary>
            <param name="logicalBlockCount">The number of logical blocks</param>
            <param name="blockSize">The size of each block</param>
        </member>
        <member name="M:DiscUtils.Iscsi.LunCapacity.ToString">
            <summary>
            Gets the capacity (in bytes) as a string.
            </summary>
            <returns>A string containing an integer</returns>
        </member>
        <member name="P:DiscUtils.Iscsi.LunCapacity.LogicalBlockCount">
            <summary>
            Gets the number of logical blocks in the LUN.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.LunCapacity.BlockSize">
            <summary>
            Gets the size of each logical block.
            </summary>
        </member>
        <member name="T:DiscUtils.Iscsi.LunClass">
            <summary>
            The known classes of SCSI device.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.BlockStorage">
            <summary>
            Device is block storage (i.e. normal disk)
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.TapeStorage">
            <summary>
            Device is sequential access storage
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.Printer">
            <summary>
            Device is a printer.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.Processor">
            <summary>
            Device is a SCSI processor.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.WriteOnceStorage">
            <summary>
            Device is write-once storage.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.OpticalDisc">
            <summary>
            Device is a CD/DVD drive.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.Scanner">
            <summary>
            Device is a scanner (obsolete).
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.OpticalMemory">
            <summary>
            Device is optical memory (some optical discs).
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.Jukebox">
            <summary>
            Device is a media changer device.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.Communications">
            <summary>
            Communications device (obsolete).
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.StorageArray">
            <summary>
            Device is a Storage Array (e.g. RAID).
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.EnclosureServices">
            <summary>
            Device is Enclosure Services.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.SimplifiedDirectAccess">
            <summary>
            Device is a simplified block device.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.OpticalCard">
            <summary>
            Device is an optical card reader/writer device.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.BridgeController">
            <summary>
            Device is a Bridge Controller.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.ObjectBasedStorage">
            <summary>
            Device is an object-based storage device.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.AutomationDriveInterface">
            <summary>
            Device is an Automation/Drive interface.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.SecurityManager">
            <summary>
            Device is a Security Manager.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.WellKnown">
            <summary>
            Device is a well-known device, as defined by SCSI specifications.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.LunClass.Unknown">
            <summary>
            Unknown LUN class.
            </summary>
        </member>
        <member name="T:DiscUtils.Iscsi.LunInfo">
            <summary>
            Provides information about an iSCSI LUN.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.LunInfo.ParseUri(System.String)">
            <summary>
            Parses a URI referring to a LUN.
            </summary>
            <param name="uri">The URI to parse</param>
            <returns>The LUN info</returns>
            <remarks>
            Note the LUN info is incomplete, only as much of the information as is encoded
            into the URL is available.
            </remarks>
        </member>
        <member name="M:DiscUtils.Iscsi.LunInfo.ParseUri(System.Uri)">
            <summary>
            Parses a URI referring to a LUN.
            </summary>
            <param name="uri">The URI to parse</param>
            <returns>The LUN info</returns>
            <remarks>
            Note the LUN info is incomplete, only as much of the information as is encoded
            into the URL is available.
            </remarks>
        </member>
        <member name="M:DiscUtils.Iscsi.LunInfo.ToString">
            <summary>
            Gets the LUN as a string.
            </summary>
            <returns>The LUN in string form</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.LunInfo.GetUris">
            <summary>
            Gets the URIs corresponding to this LUN.
            </summary>
            <returns>An array of URIs as strings.</returns>
            <remarks>Multiple URIs are returned because multiple targets may serve the same LUN.</remarks>
        </member>
        <member name="P:DiscUtils.Iscsi.LunInfo.Target">
            <summary>
            Gets info about the target hosting this LUN.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.LunInfo.Lun">
            <summary>
            Gets the Logical Unit Number of this device.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.LunInfo.DeviceType">
            <summary>
            Gets the type (or class) of this device.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.LunInfo.Removable">
            <summary>
            Gets a value indicating whether this Lun has removable media.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.LunInfo.VendorId">
            <summary>
            Gets the vendor id (registered name) for this device.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.LunInfo.ProductId">
            <summary>
            Gets the product id (name) for this device.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.LunInfo.ProductRevision">
            <summary>
            Gets the product revision for this device.
            </summary>
        </member>
        <member name="T:DiscUtils.Iscsi.ScsiCommandException">
            <summary>
            Exception thrown when a low-level iSCSI failure is detected.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.ScsiCommandException.#ctor">
            <summary>
            Initializes a new instance of the ScsiCommandException class.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.ScsiCommandException.#ctor(DiscUtils.Iscsi.ScsiStatus)">
            <summary>
            Initializes a new instance of the ScsiCommandException class.
            </summary>
            <param name="status">The SCSI status code</param>
        </member>
        <member name="M:DiscUtils.Iscsi.ScsiCommandException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the ScsiCommandException class.
            </summary>
            <param name="message">The reason for the exception</param>
        </member>
        <member name="M:DiscUtils.Iscsi.ScsiCommandException.#ctor(DiscUtils.Iscsi.ScsiStatus,System.String)">
            <summary>
            Initializes a new instance of the ScsiCommandException class.
            </summary>
            <param name="status">The SCSI status code</param>
            <param name="message">The reason for the exception</param>
        </member>
        <member name="M:DiscUtils.Iscsi.ScsiCommandException.#ctor(DiscUtils.Iscsi.ScsiStatus,System.String,System.Byte[])">
            <summary>
            Initializes a new instance of the ScsiCommandException class.
            </summary>
            <param name="status">The SCSI status code</param>
            <param name="message">The reason for the exception</param>
            <param name="senseData">The SCSI sense data</param>
        </member>
        <member name="M:DiscUtils.Iscsi.ScsiCommandException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the ScsiCommandException class.
            </summary>
            <param name="message">The reason for the exception</param>
            <param name="innerException">The inner exception</param>
        </member>
        <member name="M:DiscUtils.Iscsi.ScsiCommandException.#ctor(DiscUtils.Iscsi.ScsiStatus,System.String,System.Exception)">
            <summary>
            Initializes a new instance of the ScsiCommandException class.
            </summary>
            <param name="status">The SCSI status code</param>
            <param name="message">The reason for the exception</param>
            <param name="innerException">The inner exception</param>
        </member>
        <member name="M:DiscUtils.Iscsi.ScsiCommandException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the ScsiCommandException class.
            </summary>
            <param name="info">The serialization info</param>
            <param name="context">Ther context</param>
        </member>
        <member name="M:DiscUtils.Iscsi.ScsiCommandException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Gets the serialized state of this exception.
            </summary>
            <param name="info">The serialization info</param>
            <param name="context">The serialization context</param>
        </member>
        <member name="M:DiscUtils.Iscsi.ScsiCommandException.GetSenseData">
            <summary>
            Gets the SCSI sense data (if any) associated with this exception.
            </summary>
            <returns>The SCSI sense data, or <c>null</c>.</returns>
        </member>
        <member name="P:DiscUtils.Iscsi.ScsiCommandException.Status">
            <summary>
            Gets the SCSI status associated with this exception.
            </summary>
        </member>
        <member name="T:DiscUtils.Iscsi.ScsiStatus">
            <summary>
            Enumeration of SCSI command status codes.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.ScsiStatus.Good">
            <summary>
            Indicates that the command completed without error.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.ScsiStatus.CheckCondition">
            <summary>
            An unsupported condition occured.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.ScsiStatus.ConditionMet">
            <summary>
            For some commands only - indicates the specified condition was met.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.ScsiStatus.Busy">
            <summary>
            The device is busy.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.ScsiStatus.ReservationConflict">
            <summary>
            Delivered command conflicts with an existing reservation.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.ScsiStatus.TaskSetFull">
            <summary>
            The buffer of outstanding commands is full.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.ScsiStatus.AcaActive">
            <summary>
            An ACA condition exists.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.ScsiStatus.TaskAborted">
            <summary>
            The command was aborted.
            </summary>
        </member>
        <member name="T:DiscUtils.Iscsi.Session">
            <summary>
            Represents a connection to a particular Target.
            </summary>
        </member>
        <member name="F:DiscUtils.Iscsi.Session._negotiatedParameters">
            <summary>
            The set of all 'parameters' we've negotiated.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.Session.Dispose">
            <summary>
            Disposes of this instance, closing the session with the Target.
            </summary>
        </member>
        <member name="M:DiscUtils.Iscsi.Session.EnumerateTargets">
            <summary>
            Enumerates all of the Targets.
            </summary>
            <returns>The list of Targets</returns>
            <remarks>In practice, for an established session, this just returns details of
            the connected Target.</remarks>
        </member>
        <member name="M:DiscUtils.Iscsi.Session.GetLuns">
            <summary>
            Gets information about the LUNs available from the Target.
            </summary>
            <returns>The LUNs available</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.Session.GetBlockDeviceLuns">
            <summary>
            Gets all the block-device LUNs available from the Target.
            </summary>
            <returns>The block-device LUNs</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.Session.GetInfo(System.Int64)">
            <summary>
            Gets information about a particular LUN.
            </summary>
            <param name="lun">The LUN to query</param>
            <returns>Information about the LUN.</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.Session.GetCapacity(System.Int64)">
            <summary>
            Gets the capacity of a particular LUN.
            </summary>
            <param name="lun">The LUN to query</param>
            <returns>The LUN's capacity</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.Session.OpenDisk(System.Int64)">
            <summary>
            Provides read-write access to a LUN as a VirtualDisk.
            </summary>
            <param name="lun">The LUN to access</param>
            <returns>The new VirtualDisk instance</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.Session.OpenDisk(System.Int64,System.IO.FileAccess)">
            <summary>
            Provides access to a LUN as a VirtualDisk.
            </summary>
            <param name="lun">The LUN to access</param>
            <param name="access">The type of access desired</param>
            <returns>The new VirtualDisk instance</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.Session.Read(System.Int64,System.Int64,System.Int16,System.Byte[],System.Int32)">
            <summary>
            Reads some data from a LUN.
            </summary>
            <param name="lun">The LUN to read from</param>
            <param name="startBlock">The first block to read</param>
            <param name="blockCount">The number of blocks to read</param>
            <param name="buffer">The buffer to fill</param>
            <param name="offset">The offset of the first byte to fill</param>
            <returns>The number of bytes read</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.Session.Write(System.Int64,System.Int64,System.Int16,System.Int32,System.Byte[],System.Int32)">
            <summary>
            Writes some data to a LUN.
            </summary>
            <param name="lun">The LUN to write to</param>
            <param name="startBlock">The first block to write</param>
            <param name="blockCount">The number of blocks to write</param>
            <param name="blockSize">The size of each block (must match the actual LUN geometry)</param>
            <param name="buffer">The data to write</param>
            <param name="offset">The offset of the first byte to write in buffer</param>
        </member>
        <member name="M:DiscUtils.Iscsi.Session.RawCommand(System.Int64,System.Byte[],System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Performs a raw SCSI command.
            </summary>
            <param name="lun">The target LUN for the command</param>
            <param name="command">The command (a SCSI Command Descriptor Block, aka CDB)</param>
            <param name="outBuffer">Buffer of data to send with the command (or <c>null</c>)</param>
            <param name="outBufferOffset">Offset of first byte of data to send with the command</param>
            <param name="outBufferLength">Amount of data to send with the command</param>
            <param name="inBuffer">Buffer to receive data from the command (or <c>null</c>)</param>
            <param name="inBufferOffset">Offset of the first byte position to fill with received data</param>
            <param name="inBufferLength">The expected amount of data to receive</param>
            <returns>The number of bytes of data received</returns>
            <remarks>
            <para>This method permits the caller to send raw SCSI commands to a LUN.</para>
            <para>The command .</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.Iscsi.Session.Send(DiscUtils.Iscsi.ScsiCommand,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sends an SCSI command (aka task) to a LUN via the connected target.
            </summary>
            <param name="cmd">The command to send</param>
            <param name="outBuffer">The data to send with the command</param>
            <param name="outBufferOffset">The offset of the first byte to send</param>
            <param name="outBufferCount">The number of bytes to send, if any</param>
            <param name="inBuffer">The buffer to fill with returned data</param>
            <param name="inBufferOffset">The first byte to fill with returned data</param>
            <param name="inBufferMax">The maximum amount of data to receive</param>
            <returns>The number of bytes received</returns>
        </member>
        <member name="P:DiscUtils.Iscsi.Session.TargetName">
            <summary>
            Gets the name of the iSCSI target this session is connected to.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.Session.InitiatorName">
            <summary>
            Gets the name of the iSCSI initiator seen by the target for this session.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.Session.TargetAlias">
            <summary>
            Gets the friendly name of the iSCSI target this session is connected to.
            </summary>
        </member>
        <member name="T:DiscUtils.Iscsi.TargetAddress">
            <summary>
            Information about an iSCSI Target.
            </summary>
            <remarks>
            A target contains zero or more LUNs.
            </remarks>
        </member>
        <member name="M:DiscUtils.Iscsi.TargetAddress.#ctor(System.String,System.Int32,System.String)">
            <summary>
            Initializes a new instance of the TargetAddress class.
            </summary>
            <param name="address">The IP address (or FQDN) of the Target.</param>
            <param name="port">The network port of the Target</param>
            <param name="targetGroupTag">The Group Tag of the Target</param>
        </member>
        <member name="M:DiscUtils.Iscsi.TargetAddress.Parse(System.String)">
            <summary>
            Parses a Target address in string form.
            </summary>
            <param name="address">The address to parse</param>
            <returns>The structured address</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.TargetAddress.ToString">
            <summary>
            Gets the TargetAddress in string format.
            </summary>
            <returns>The string in 'host:port,targetgroup' format</returns>
        </member>
        <member name="M:DiscUtils.Iscsi.TargetAddress.ToUri">
            <summary>
            Gets the target address as a URI.
            </summary>
            <returns>The target address in the form: iscsi://host[:port][/grouptag]</returns>
        </member>
        <member name="P:DiscUtils.Iscsi.TargetAddress.NetworkAddress">
            <summary>
            Gets the IP address (or FQDN) of the Target.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.TargetAddress.NetworkPort">
            <summary>
            Gets the network port of the Target.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.TargetAddress.TargetGroupTag">
            <summary>
            Gets the Group Tag of the Target.
            </summary>
        </member>
        <member name="T:DiscUtils.Iscsi.TargetInfo">
            <summary>
            Information about an iSCSI Target.
            </summary>
            <remarks>
            A target contains zero or more LUNs.
            </remarks>
        </member>
        <member name="M:DiscUtils.Iscsi.TargetInfo.#ctor(System.String,DiscUtils.Iscsi.TargetAddress[])">
            <summary>
            Initializes a new instance of the TargetInfo class.
            </summary>
            <param name="name">The name of the Target</param>
            <param name="addresses">The network addresses of the Target</param>
        </member>
        <member name="M:DiscUtils.Iscsi.TargetInfo.ToString">
            <summary>
            Gets the primary address of the Target as a string.
            </summary>
            <returns>String of the form host[:port][,group]/name</returns>
        </member>
        <member name="P:DiscUtils.Iscsi.TargetInfo.Name">
            <summary>
            Gets the name of the Target.
            </summary>
        </member>
        <member name="P:DiscUtils.Iscsi.TargetInfo.Addresses">
            <summary>
            Gets the network addresses of the Target.
            </summary>
        </member>
        <member name="T:DiscUtils.Iso9660.BootDeviceEmulation">
            <summary>
            Enumeration of boot device emulation modes.
            </summary>
        </member>
        <member name="F:DiscUtils.Iso9660.BootDeviceEmulation.NoEmulation">
            <summary>
            No emulation, the boot image is just loaded and executed.
            </summary>
        </member>
        <member name="F:DiscUtils.Iso9660.BootDeviceEmulation.Diskette1200KiB">
            <summary>
            Emulates 1.2MB diskette image as drive A.
            </summary>
        </member>
        <member name="F:DiscUtils.Iso9660.BootDeviceEmulation.Diskette1440KiB">
            <summary>
            Emulates 1.44MB diskette image as drive A.
            </summary>
        </member>
        <member name="F:DiscUtils.Iso9660.BootDeviceEmulation.Diskette2880KiB">
            <summary>
            Emulates 2.88MB diskette image as drive A.
            </summary>
        </member>
        <member name="F:DiscUtils.Iso9660.BootDeviceEmulation.HardDisk">
            <summary>
            Emulates hard disk image as drive C.
            </summary>
        </member>
        <member name="T:DiscUtils.Iso9660.BuildDirectoryInfo">
            <summary>
            Represents a directory that will be built into the ISO image.
            </summary>
        </member>
        <member name="T:DiscUtils.Iso9660.BuildDirectoryMember">
            <summary>
            Provides the base class for <see cref="T:DiscUtils.Iso9660.BuildFileInfo"/> and
            <see cref="T:DiscUtils.Iso9660.BuildDirectoryInfo"/> objects that will be built into an
            ISO image.
            </summary>
            <remarks>Instances of this class have two names, a <see cref="P:DiscUtils.Iso9660.BuildDirectoryMember.Name"/>,
            which is the full-length Joliet name and a <see cref="P:DiscUtils.Iso9660.BuildDirectoryMember.ShortName"/>,
            which is the strictly compliant ISO 9660 name.</remarks>
        </member>
        <member name="M:DiscUtils.Iso9660.BuildDirectoryMember.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the BuildDirectoryMember class.
            </summary>
            <param name="name">The Joliet compliant name of the file or directory</param>
            <param name="shortName">The ISO 9660 compliant name of the file or directory</param>
        </member>
        <member name="P:DiscUtils.Iso9660.BuildDirectoryMember.Name">
            <summary>
            Gets the Joliet compliant name of the file or directory.
            </summary>
        </member>
        <member name="P:DiscUtils.Iso9660.BuildDirectoryMember.ShortName">
            <summary>
            Gets the ISO 9660 compliant name of the file or directory.
            </summary>
        </member>
        <member name="P:DiscUtils.Iso9660.BuildDirectoryMember.Parent">
            <summary>
            Gets the parent directory, or <c>null</c> if this is the root directory.
            </summary>
        </member>
        <member name="P:DiscUtils.Iso9660.BuildDirectoryMember.CreationTime">
            <summary>
            Gets or sets the creation date for the file or directory, in UTC.
            </summary>
        </member>
        <member name="M:DiscUtils.Iso9660.BuildDirectoryInfo.TryGetMember(System.String,DiscUtils.Iso9660.BuildDirectoryMember@)">
            <summary>
            Gets the specified child directory or file.
            </summary>
            <param name="name">The name of the file or directory to get.</param>
            <param name="member">The member found (or <c>null</c>).</param>
            <returns><c>true</c> if the specified member was found.</returns>
        </member>
        <member name="P:DiscUtils.Iso9660.BuildDirectoryInfo.Parent">
            <summary>
            The parent directory, or <c>null</c> if none.
            </summary>
        </member>
        <member name="T:DiscUtils.Iso9660.BuildFileInfo">
            <summary>
            Represents a file that will be built into the ISO image.
            </summary>
        </member>
        <member name="P:DiscUtils.Iso9660.BuildFileInfo.Parent">
            <summary>
            The parent directory, or <c>null</c> if none.
            </summary>
        </member>
        <member name="T:DiscUtils.Iso9660.CDBuilder">
            <summary>
            Class that creates ISO images.
            </summary>
            <example>
            <code>
              CDBuilder builder = new CDBuilder();
              builder.VolumeIdentifier = "MYISO";
              builder.UseJoliet = true;
              builder.AddFile("Hello.txt", Encoding.ASCII.GetBytes("hello world!"));
              builder.Build(@"C:\TEMP\myiso.iso");
            </code>
            </example>
        </member>
        <member name="T:DiscUtils.StreamBuilder">
            <summary>
            Base class for objects that can dynamically construct a stream.
            </summary>
        </member>
        <member name="M:DiscUtils.StreamBuilder.Build">
            <summary>
            Builds a new stream.
            </summary>
            <returns>The stream created by the StreamBuilder instance.</returns>
        </member>
        <member name="M:DiscUtils.StreamBuilder.Build(System.IO.Stream)">
            <summary>
            Writes the stream contents to an existing stream.
            </summary>
            <param name="output">The stream to write to.</param>
        </member>
        <member name="M:DiscUtils.StreamBuilder.Build(System.String)">
            <summary>
            Writes the stream contents to a file.
            </summary>
            <param name="outputFile">The file to write to.</param>
        </member>
        <member name="M:DiscUtils.Iso9660.CDBuilder.#ctor">
            <summary>
            Initializes a new instance of the CDBuilder class.
            </summary>
        </member>
        <member name="M:DiscUtils.Iso9660.CDBuilder.SetBootImage(System.IO.Stream,DiscUtils.Iso9660.BootDeviceEmulation,System.Int32)">
            <summary>
            Sets the boot image for the ISO image.
            </summary>
            <param name="image">Stream containing the boot image.</param>
            <param name="emulation">The type of emulation requested of the BIOS.</param>
            <param name="loadSegment">The memory segment to load the image to (0 for default).</param>
        </member>
        <member name="M:DiscUtils.Iso9660.CDBuilder.AddDirectory(System.String)">
            <summary>
            Adds a directory to the ISO image.
            </summary>
            <param name="name">The name of the directory on the ISO image.</param>
            <returns>The object representing this directory</returns>
            <remarks>
            The name is the full path to the directory, for example:
            <example><code>
              builder.AddDirectory(@"DIRA\DIRB\DIRC");
            </code></example>
            </remarks>
        </member>
        <member name="M:DiscUtils.Iso9660.CDBuilder.AddFile(System.String,System.Byte[])">
            <summary>
            Adds a byte array to the ISO image as a file.
            </summary>
            <param name="name">The name of the file on the ISO image.</param>
            <param name="content">The contents of the file.</param>
            <returns>The object representing this file.</returns>
            <remarks>
            The name is the full path to the file, for example:
            <example><code>
              builder.AddFile(@"DIRA\DIRB\FILE.TXT;1", new byte[]{0,1,2});
            </code></example>
            <para>Note the version number at the end of the file name is optional, if not
            specified the default of 1 will be used.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.Iso9660.CDBuilder.AddFile(System.String,System.String)">
            <summary>
            Adds a disk file to the ISO image as a file.
            </summary>
            <param name="name">The name of the file on the ISO image.</param>
            <param name="sourcePath">The name of the file on disk.</param>
            <returns>The object representing this file.</returns>
            <remarks>
            The name is the full path to the file, for example:
            <example><code>
              builder.AddFile(@"DIRA\DIRB\FILE.TXT;1", @"C:\temp\tempfile.bin");
            </code></example>
            <para>Note the version number at the end of the file name is optional, if not
            specified the default of 1 will be used.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.Iso9660.CDBuilder.AddFile(System.String,System.IO.Stream)">
            <summary>
            Adds a stream to the ISO image as a file.
            </summary>
            <param name="name">The name of the file on the ISO image.</param>
            <param name="source">The contents of the file.</param>
            <returns>The object representing this file.</returns>
            <remarks>
            The name is the full path to the file, for example:
            <example><code>
              builder.AddFile(@"DIRA\DIRB\FILE.TXT;1", stream);
            </code></example>
            <para>Note the version number at the end of the file name is optional, if not
            specified the default of 1 will be used.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.Iso9660.CDBuilder.PatchBootImage(System.IO.Stream,System.UInt32,System.UInt32)">
            <summary>
            Patches a boot image (esp. for ISOLINUX) before it is written to the disk.
            </summary>
            <param name="bootImage">The original (master) boot image.</param>
            <param name="pvdLba">The logical block address of the primary volume descriptor.</param>
            <param name="bootImageLba">The logical block address of the boot image itself.</param>
            <returns>A stream containing the patched boot image - does not need to be disposed.</returns>
        </member>
        <member name="P:DiscUtils.Iso9660.CDBuilder.VolumeIdentifier">
            <summary>
            Gets or sets the Volume Identifier for the ISO file.
            </summary>
            <remarks>
            Must be a valid identifier, i.e. max 32 characters in the range A-Z, 0-9 or _.
            Lower-case characters are not permitted.
            </remarks>
        </member>
        <member name="P:DiscUtils.Iso9660.CDBuilder.UseJoliet">
            <summary>
            Gets or sets a value indicating whether Joliet file-system extensions should be used.
            </summary>
        </member>
        <member name="P:DiscUtils.Iso9660.CDBuilder.UpdateIsolinuxBootTable">
            <summary>
            Gets or sets a value indicating whether to update the ISOLINUX info table at the
            start of the boot image.  Use with ISOLINUX only!
            </summary>
            <remarks>
            ISOLINUX has an 'information table' at the start of the boot loader that verifies
            the CD has been loaded correctly by the BIOS.  This table needs to be updated
            to match the actual ISO.
            </remarks>
        </member>
        <member name="T:DiscUtils.Iso9660.Iso9660Variant">
            <summary>
            Enumeration of known file system variants.
            </summary>
            <remarks>
            <para>ISO9660 has a number of significant limitations, and over time
            multiple schemes have been devised for extending the standard
            to support the richer file system semantics typical of most modern
            operating systems.  These variants differ functionally and (in the
            case of RockRidge) may represent a logically different directory
            hierarchy to that encoded in the vanilla iso9660 standard.</para>
            <para>Use this enum to control which variants to honour / prefer
            when accessing an ISO image.</para>
            </remarks>
        </member>
        <member name="F:DiscUtils.Iso9660.Iso9660Variant.None">
            <summary>
            No known variant.
            </summary>
        </member>
        <member name="F:DiscUtils.Iso9660.Iso9660Variant.Iso9660">
            <summary>
            Vanilla ISO9660.
            </summary>
        </member>
        <member name="F:DiscUtils.Iso9660.Iso9660Variant.Joliet">
            <summary>
            Joliet file system (Windows).
            </summary>
        </member>
        <member name="F:DiscUtils.Iso9660.Iso9660Variant.RockRidge">
            <summary>
            Rock Ridge (Unix).
            </summary>
        </member>
        <member name="M:DiscUtils.Iso9660.VfsCDReader.#ctor(System.IO.Stream,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the VfsCDReader class.
            </summary>
            <param name="data">The stream to read the ISO image from.</param>
            <param name="joliet">Whether to read Joliet extensions.</param>
            <param name="hideVersions">Hides version numbers (e.g. ";1") from the end of files</param>
        </member>
        <member name="M:DiscUtils.Iso9660.VfsCDReader.#ctor(System.IO.Stream,DiscUtils.Iso9660.Iso9660Variant[],System.Boolean)">
            <summary>
            Initializes a new instance of the VfsCDReader class.
            </summary>
            <param name="data">The stream to read the ISO image from.</param>
            <param name="variantPriorities">Which possible file system variants to use, and with which priority</param>
            <param name="hideVersions">Hides version numbers (e.g. ";1") from the end of files</param>
            <remarks>
            <para>
            The implementation considers each of the file system variants in <c>variantProperties</c> and selects
            the first which is determined to be present.  In this example Joliet, then Rock Ridge, then vanilla
            Iso9660 will be considered:
            </para>
            <code lang="cs">
            VfsCDReader(stream, new Iso9660Variant[] {Joliet, RockRidge, Iso9660}, true);
            </code>
            <para>The Iso9660 variant should normally be specified as the final entry in the list.  Placing it earlier
            in the list will effectively mask later items and not including it may prevent some ISOs from being read.</para>
            </remarks>
        </member>
        <member name="P:DiscUtils.Iso9660.VfsCDReader.FriendlyName">
            <summary>
            Provides the friendly name for the CD filesystem.
            </summary>
        </member>
        <member name="P:DiscUtils.Iso9660.VfsCDReader.VolumeLabel">
            <summary>
            Gets the Volume Identifier.
            </summary>
        </member>
        <member name="M:DiscUtils.Iso9660.IsoUtilities.ToUTCDateTimeFromDirectoryTime(System.Byte[],System.Int32)">
            <summary>
            Converts a DirectoryRecord time to UTC.
            </summary>
            <param name="data">buffer containing the time data</param>
            <param name="offset">offset in buffer of the time data</param>
            <returns>The time in UTC</returns>
        </member>
        <member name="T:DiscUtils.Iso9660.CDReader">
            <summary>
            Class for reading existing ISO images.
            </summary>
        </member>
        <member name="M:DiscUtils.Iso9660.CDReader.#ctor(System.IO.Stream,System.Boolean)">
            <summary>
            Initializes a new instance of the CDReader class.
            </summary>
            <param name="data">The stream to read the ISO image from.</param>
            <param name="joliet">Whether to read Joliet extensions.</param>
        </member>
        <member name="M:DiscUtils.Iso9660.CDReader.#ctor(System.IO.Stream,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the CDReader class.
            </summary>
            <param name="data">The stream to read the ISO image from.</param>
            <param name="joliet">Whether to read Joliet extensions.</param>
            <param name="hideVersions">Hides version numbers (e.g. ";1") from the end of files</param>
        </member>
        <member name="M:DiscUtils.Iso9660.CDReader.Detect(System.IO.Stream)">
            <summary>
            Detects if a stream contains a valid ISO file system.
            </summary>
            <param name="data">The stream to inspect</param>
            <returns><c>true</c> if the stream contains an ISO file system, else false.</returns>
        </member>
        <member name="M:DiscUtils.Iso9660.CDReader.OpenBootImage">
            <summary>
            Opens a stream containing the boot image.
            </summary>
            <returns>The boot image as a stream</returns>
        </member>
        <member name="M:DiscUtils.Iso9660.CDReader.ClusterToOffset(System.Int64)">
            <summary>
            Converts a cluster (index) into an absolute byte position in the underlying stream.
            </summary>
            <param name="cluster">The cluster to convert</param>
            <returns>The corresponding absolute byte position.</returns>
        </member>
        <member name="M:DiscUtils.Iso9660.CDReader.OffsetToCluster(System.Int64)">
            <summary>
            Converts an absolute byte position in the underlying stream to a cluster (index).
            </summary>
            <param name="offset">The byte position to convert</param>
            <returns>The cluster containing the specified byte</returns>
        </member>
        <member name="M:DiscUtils.Iso9660.CDReader.PathToClusters(System.String)">
            <summary>
            Converts a file name to the list of clusters occupied by the file's data.
            </summary>
            <param name="path">The path to inspect</param>
            <returns>The clusters</returns>
            <remarks>Note that in some file systems, small files may not have dedicated
            clusters.  Only dedicated clusters will be returned.</remarks>
        </member>
        <member name="M:DiscUtils.Iso9660.CDReader.PathToExtents(System.String)">
            <summary>
            Converts a file name to the extents containing its data.
            </summary>
            <param name="path">The path to inspect</param>
            <returns>The file extents, as absolute byte positions in the underlying stream</returns>
            <remarks>Use this method with caution - not all file systems will store all bytes
            directly in extents.  Files may be compressed, sparse or encrypted.  This method
            merely indicates where file data is stored, not what's stored.</remarks>
        </member>
        <member name="M:DiscUtils.Iso9660.CDReader.BuildClusterMap">
            <summary>
            Gets an object that can convert between clusters and files.
            </summary>
            <returns>The cluster map</returns>
        </member>
        <member name="M:DiscUtils.Iso9660.CDReader.GetUnixFileInfo(System.String)">
            <summary>
            Retrieves Unix-specific information about a file or directory.
            </summary>
            <param name="path">Path to the file or directory</param>
            <returns>Information about the owner, group, permissions and type of the
            file or directory.</returns>
        </member>
        <member name="P:DiscUtils.Iso9660.CDReader.HasBootImage">
            <summary>
            Gets a value indicating whether a boot image is present.
            </summary>
        </member>
        <member name="P:DiscUtils.Iso9660.CDReader.BootEmulation">
            <summary>
            Gets the emulation requested of BIOS when the image is loaded.
            </summary>
        </member>
        <member name="P:DiscUtils.Iso9660.CDReader.BootLoadSegment">
            <summary>
            Gets the memory segment the image should be loaded into (0 for default).
            </summary>
        </member>
        <member name="P:DiscUtils.Iso9660.CDReader.BootImageStart">
            <summary>
            Gets the absolute start position (in bytes) of the boot image, or zero if not found.
            </summary>
        </member>
        <member name="P:DiscUtils.Iso9660.CDReader.ClusterSize">
            <summary>
            Gets the size (in bytes) of each cluster.
            </summary>
        </member>
        <member name="P:DiscUtils.Iso9660.CDReader.TotalClusters">
            <summary>
            Gets the total number of clusters managed by the file system.
            </summary>
        </member>
        <member name="P:DiscUtils.Iso9660.CDReader.ActiveVariant">
            <summary>
            Gets which of the Iso9660 variants is being used.
            </summary>
        </member>
        <member name="T:DiscUtils.IWindowsFileSystem">
            <summary>
            Provides the base class for all file systems that support Windows semantics.
            </summary>
        </member>
        <member name="M:DiscUtils.IWindowsFileSystem.GetSecurity(System.String)">
            <summary>
            Gets the security descriptor associated with the file or directory.
            </summary>
            <param name="path">The file or directory to inspect.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:DiscUtils.IWindowsFileSystem.SetSecurity(System.String,System.Security.AccessControl.RawSecurityDescriptor)">
            <summary>
            Sets the security descriptor associated with the file or directory.
            </summary>
            <param name="path">The file or directory to change.</param>
            <param name="securityDescriptor">The new security descriptor.</param>
        </member>
        <member name="M:DiscUtils.IWindowsFileSystem.GetReparsePoint(System.String)">
            <summary>
            Gets the reparse point data associated with a file or directory.
            </summary>
            <param name="path">The file to query</param>
            <returns>The reparse point information</returns>
        </member>
        <member name="M:DiscUtils.IWindowsFileSystem.SetReparsePoint(System.String,DiscUtils.ReparsePoint)">
            <summary>
            Sets the reparse point data on a file or directory.
            </summary>
            <param name="path">The file to set the reparse point on.</param>
            <param name="reparsePoint">The new reparse point.</param>
        </member>
        <member name="M:DiscUtils.IWindowsFileSystem.RemoveReparsePoint(System.String)">
            <summary>
            Removes a reparse point from a file or directory, without deleting the file or directory.
            </summary>
            <param name="path">The path to the file or directory to remove the reparse point from</param>
        </member>
        <member name="M:DiscUtils.IWindowsFileSystem.GetShortName(System.String)">
            <summary>
            Gets the short name for a given path.
            </summary>
            <param name="path">The path to convert</param>
            <returns>The short name</returns>
            <remarks>
            This method only gets the short name for the final part of the path, to
            convert a complete path, call this method repeatedly, once for each path
            segment.  If there is no short name for the given path,<c>null</c> is
            returned.
            </remarks>
        </member>
        <member name="M:DiscUtils.IWindowsFileSystem.SetShortName(System.String,System.String)">
            <summary>
            Sets the short name for a given file or directory.
            </summary>
            <param name="path">The full path to the file or directory to change.</param>
            <param name="shortName">The shortName, which should not include a path.</param>
        </member>
        <member name="M:DiscUtils.IWindowsFileSystem.GetFileStandardInformation(System.String)">
            <summary>
            Gets the standard file information for a file.
            </summary>
            <param name="path">The full path to the file or directory to query.</param>
            <returns>The standard file information</returns>
        </member>
        <member name="M:DiscUtils.IWindowsFileSystem.SetFileStandardInformation(System.String,DiscUtils.WindowsFileInformation)">
            <summary>
            Sets the standard file information for a file.
            </summary>
            <param name="path">The full path to the file or directory to query.</param>
            <param name="info">The standard file information</param>
        </member>
        <member name="M:DiscUtils.IWindowsFileSystem.GetAlternateDataStreams(System.String)">
            <summary>
            Gets the names of the alternate data streams for a file.
            </summary>
            <param name="path">The path to the file</param>
            <returns>
            The list of alternate data streams (or empty, if none).  To access the contents
            of the alternate streams, use OpenFile(path + ":" + name, ...).
            </returns>
        </member>
        <member name="M:DiscUtils.IWindowsFileSystem.GetFileId(System.String)">
            <summary>
            Gets the file id for a given path.
            </summary>
            <param name="path">The path to get the id of</param>
            <returns>The file id, or -1</returns>
            <remarks>
            The returned file id uniquely identifies the file, and is shared by all hard
            links to the same file.  The value -1 indicates no unique identifier is
            available, and so it can be assumed the file has no hard links.
            </remarks>
        </member>
        <member name="M:DiscUtils.IWindowsFileSystem.HasHardLinks(System.String)">
            <summary>
            Indicates whether the file is known by other names.
            </summary>
            <param name="path">The file to inspect</param>
            <returns><c>true</c> if the file has other names, else <c>false</c></returns>
        </member>
        <member name="T:DiscUtils.LittleEndianDataReader">
            <summary>
            Class for reading little-endian data from a stream.
            </summary>
        </member>
        <member name="T:DiscUtils.LogicalDiskManager.DynamicDiskManager">
            <summary>
            A class that understands Windows LDM structures, mapping physical volumes to logical volumes.
            </summary>
        </member>
        <member name="M:DiscUtils.LogicalDiskManager.DynamicDiskManager.#ctor(DiscUtils.VirtualDisk[])">
            <summary>
            Initializes a new instance of the DynamicDiskManager class.
            </summary>
            <param name="disks">The initial set of disks to manage.</param>
        </member>
        <member name="M:DiscUtils.LogicalDiskManager.DynamicDiskManager.HandlesPhysicalVolume(DiscUtils.PhysicalVolumeInfo)">
            <summary>
            Determines if a physical volume contains LDM data.
            </summary>
            <param name="volumeInfo">The volume to inspect</param>
            <returns><c>true</c> if the physical volume contains LDM data, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.LogicalDiskManager.DynamicDiskManager.IsDynamicDisk(DiscUtils.VirtualDisk)">
            <summary>
            Determines if a disk is 'dynamic' (i.e. contains LDM volumes).
            </summary>
            <param name="disk">The disk to inspect</param>
            <returns><c>true</c> if the disk contains LDM volumes, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.LogicalDiskManager.DynamicDiskManager.Add(DiscUtils.VirtualDisk)">
            <summary>
            Adds a new disk to be managed.
            </summary>
            <param name="disk">The disk to manage</param>
        </member>
        <member name="M:DiscUtils.LogicalDiskManager.DynamicDiskManager.GetLogicalVolumes">
            <summary>
            Gets the logical volumes held across the set of managed disks.
            </summary>
            <returns>An array of logical volumes</returns>
        </member>
        <member name="M:DiscUtils.LogicalDiskManager.DynamicDiskManager.Dump(System.IO.TextWriter,System.String)">
            <summary>
            Writes a diagnostic report about the state of the disk manager.
            </summary>
            <param name="writer">The writer to send the report to</param>
            <param name="linePrefix">The prefix to place at the start of each line</param>
        </member>
        <member name="T:DiscUtils.LogicalVolumeStatus">
            <summary>
            Enumeration of the health status of a logical volume.
            </summary>
        </member>
        <member name="F:DiscUtils.LogicalVolumeStatus.Healthy">
            <summary>
            The volume is healthy and fully functional.
            </summary>
        </member>
        <member name="F:DiscUtils.LogicalVolumeStatus.FailedRedundancy">
            <summary>
            The volume is completely accessible, but at degraded redundancy.
            </summary>
        </member>
        <member name="F:DiscUtils.LogicalVolumeStatus.Failed">
            <summary>
            The volume is wholely, or partly, inaccessible.
            </summary>
        </member>
        <member name="T:DiscUtils.LogicalVolumeInfo">
            <summary>
            Information about a logical disk volume, which may be backed by one or more physical volumes.
            </summary>
        </member>
        <member name="T:DiscUtils.VolumeInfo">
            <summary>
            Base class that holds information about a disk volume.
            </summary>
        </member>
        <member name="M:DiscUtils.VolumeInfo.Open">
            <summary>
            Opens the volume, providing access to it's contents.
            </summary>
            <returns>Stream that can access the volume's contents.</returns>
        </member>
        <member name="P:DiscUtils.VolumeInfo.BiosType">
            <summary>
            Gets the one-byte BIOS type for this volume, which indicates the content.
            </summary>
        </member>
        <member name="P:DiscUtils.VolumeInfo.Length">
            <summary>
            Gets the size of the volume, in bytes.
            </summary>
        </member>
        <member name="P:DiscUtils.VolumeInfo.Identity">
            <summary>
            Gets the stable volume identity.
            </summary>
            <remarks>The stability of the identity depends the disk structure.
            In some cases the identity may include a simple index, when no other information
            is available.  Best practice is to add disks to the Volume Manager in a stable 
            order, if the stability of this identity is paramount.</remarks>
        </member>
        <member name="P:DiscUtils.VolumeInfo.PhysicalGeometry">
            <summary>
            Gets the disk geometry of the underlying storage medium, if any (may be null).
            </summary>
        </member>
        <member name="P:DiscUtils.VolumeInfo.BiosGeometry">
            <summary>
            Gets the disk geometry of the underlying storage medium (as used in BIOS calls), may be null.
            </summary>
        </member>
        <member name="P:DiscUtils.VolumeInfo.PhysicalStartSector">
            <summary>
            Gets the offset of this volume in the underlying storage medium, if any (may be Zero).
            </summary>
        </member>
        <member name="M:DiscUtils.LogicalVolumeInfo.Open">
            <summary>
            Opens a stream with access to the content of the logical volume.
            </summary>
            <returns>The volume's content as a stream.</returns>
        </member>
        <member name="P:DiscUtils.LogicalVolumeInfo.BiosType">
            <summary>
            Gets the one-byte BIOS type for this volume, which indicates the content.
            </summary>
        </member>
        <member name="P:DiscUtils.LogicalVolumeInfo.Status">
            <summary>
            Gets the status of the logical volume, indicating volume health.
            </summary>
        </member>
        <member name="P:DiscUtils.LogicalVolumeInfo.Length">
            <summary>
            Gets the length of the volume (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.LogicalVolumeInfo.Identity">
            <summary>
            The stable identity for this logical volume.
            </summary>
            <remarks>The stability of the identity depends the disk structure.
            In some cases the identity may include a simple index, when no other information
            is available.  Best practice is to add disks to the Volume Manager in a stable 
            order, if the stability of this identity is paramount.</remarks>
        </member>
        <member name="P:DiscUtils.LogicalVolumeInfo.PhysicalGeometry">
            <summary>
            Gets the disk geometry of the underlying storage medium, if any (may be Geometry.Null).
            </summary>
        </member>
        <member name="P:DiscUtils.LogicalVolumeInfo.BiosGeometry">
            <summary>
            Gets the disk geometry of the underlying storage medium (as used in BIOS calls), may be null.
            </summary>
        </member>
        <member name="P:DiscUtils.LogicalVolumeInfo.PhysicalStartSector">
            <summary>
            Gets the offset of this volume in the underlying storage medium, if any (may be Zero).
            </summary>
        </member>
        <member name="T:DiscUtils.NativeFileSystem">
            <summary>
            Provides an implementation for OS-mounted file systems.
            </summary>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.#ctor(System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the NativeFileSystem class.
            </summary>
            <param name="basePath">The 'root' directory of the new instance.</param>
            <param name="readOnly">Only permit 'read' activities.</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.CopyFile(System.String,System.String)">
            <summary>
            Copies an existing file to a new file.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.CopyFile(System.String,System.String,System.Boolean)">
            <summary>
            Copies an existing file to a new file, allowing overwriting of an existing file.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
            <param name="overwrite">Whether to permit over-writing of an existing file.</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.CreateDirectory(System.String)">
            <summary>
            Creates a directory.
            </summary>
            <param name="path">The path of the new directory</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.DeleteDirectory(System.String)">
            <summary>
            Deletes a directory.
            </summary>
            <param name="path">The path of the directory to delete.</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.DeleteDirectory(System.String,System.Boolean)">
            <summary>
            Deletes a directory, optionally with all descendants.
            </summary>
            <param name="path">The path of the directory to delete.</param>
            <param name="recursive">Determines if the all descendants should be deleted</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.DeleteFile(System.String)">
            <summary>
            Deletes a file.
            </summary>
            <param name="path">The path of the file to delete.</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.DirectoryExists(System.String)">
            <summary>
            Indicates if a directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the directory exists</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.FileExists(System.String)">
            <summary>
            Indicates if a file exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file exists</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.Exists(System.String)">
            <summary>
            Indicates if a file or directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file or directory exists</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetDirectories(System.String)">
            <summary>
            Gets the names of subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of directories.</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetDirectories(System.String,System.String)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetDirectories(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetFiles(System.String)">
            <summary>
            Gets the names of files in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files.</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetFiles(System.String,System.String)">
            <summary>
            Gets the names of files in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetFiles(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of files in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetFileSystemEntries(System.String)">
            <summary>
            Gets the names of all files and subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetFileSystemEntries(System.String,System.String)">
            <summary>
            Gets the names of files and subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.MoveDirectory(System.String,System.String)">
            <summary>
            Moves a directory.
            </summary>
            <param name="sourceDirectoryName">The directory to move.</param>
            <param name="destinationDirectoryName">The target directory name.</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.MoveFile(System.String,System.String)">
            <summary>
            Moves a file.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.MoveFile(System.String,System.String,System.Boolean)">
            <summary>
            Moves a file, allowing an existing file to be overwritten.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
            <param name="overwrite">Whether to permit a destination file to be overwritten</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.OpenFile(System.String,System.IO.FileMode)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <param name="access">The access permissions for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetAttributes(System.String)">
            <summary>
            Gets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to inspect</param>
            <returns>The attributes of the file or directory</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.SetAttributes(System.String,System.IO.FileAttributes)">
            <summary>
            Sets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to change</param>
            <param name="newValue">The new attributes of the file or directory</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetCreationTime(System.String)">
            <summary>
            Gets the creation time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.SetCreationTime(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetCreationTimeUtc(System.String)">
            <summary>
            Gets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.SetCreationTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetLastAccessTime(System.String)">
            <summary>
            Gets the last access time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last access time</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.SetLastAccessTime(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetLastAccessTimeUtc(System.String)">
            <summary>
            Gets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last access time</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.SetLastAccessTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetLastWriteTime(System.String)">
            <summary>
            Gets the last modification time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last write time</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.SetLastWriteTime(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetLastWriteTimeUtc(System.String)">
            <summary>
            Gets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last write time</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.SetLastWriteTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetFileLength(System.String)">
            <summary>
            Gets the length of a file.
            </summary>
            <param name="path">The path to the file</param>
            <returns>The length in bytes</returns>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetFileInfo(System.String)">
            <summary>
            Gets an object representing a possible file.
            </summary>
            <param name="path">The file path</param>
            <returns>The representing object</returns>
            <remarks>The file does not need to exist</remarks>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetDirectoryInfo(System.String)">
            <summary>
            Gets an object representing a possible directory.
            </summary>
            <param name="path">The directory path</param>
            <returns>The representing object</returns>
            <remarks>The directory does not need to exist</remarks>
        </member>
        <member name="M:DiscUtils.NativeFileSystem.GetFileSystemInfo(System.String)">
            <summary>
            Gets an object representing a possible file system object (file or directory).
            </summary>
            <param name="path">The file system path</param>
            <returns>The representing object</returns>
            <remarks>The file system object does not need to exist</remarks>
        </member>
        <member name="P:DiscUtils.NativeFileSystem.BasePath">
            <summary>
            Gets the base path used to create the file system
            </summary>
        </member>
        <member name="P:DiscUtils.NativeFileSystem.FriendlyName">
            <summary>
            Provides a friendly description of the file system type.
            </summary>
        </member>
        <member name="P:DiscUtils.NativeFileSystem.CanWrite">
            <summary>
            Indicates whether the file system is read-only or read-write.
            </summary>
            <returns>true if the file system is read-write.</returns>
        </member>
        <member name="P:DiscUtils.NativeFileSystem.Root">
            <summary>
            Gets the root directory of the file system.
            </summary>
        </member>
        <member name="P:DiscUtils.NativeFileSystem.VolumeLabel">
            <summary>
            Gets the volume label.
            </summary>
        </member>
        <member name="P:DiscUtils.NativeFileSystem.IsThreadSafe">
            <summary>
            Gets a value indicating whether the file system is thread-safe.
            </summary>
            <remarks>The Native File System is thread safe</remarks>
        </member>
        <member name="T:DiscUtils.Net.Dns.CanonicalNameRecord">
            <summary>
            Represents a DNS CNAME record.
            </summary>
        </member>
        <member name="T:DiscUtils.Net.Dns.ResourceRecord">
            <summary>
            Base class for all resource records (DNS RRs).
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ResourceRecord.Name">
            <summary>
            Gets the name of the resource (domain).
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ResourceRecord.RecordType">
            <summary>
            Gets the type of record.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ResourceRecord.Class">
            <summary>
            Gets the class of record.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ResourceRecord.Expiry">
            <summary>
            Gets the expiry time of the record.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.CanonicalNameRecord.CanonicalName">
            <summary>
            Gets the canonical name.
            </summary>
        </member>
        <member name="T:DiscUtils.Net.Dns.DnsClient">
            <summary>
            Base class for DNS clients.
            </summary>
        </member>
        <member name="M:DiscUtils.Net.Dns.DnsClient.FlushCache">
            <summary>
            Flushes any cached DNS records.
            </summary>
        </member>
        <member name="M:DiscUtils.Net.Dns.DnsClient.Lookup(System.String,DiscUtils.Net.Dns.RecordType)">
            <summary>
            Looks up a record in DNS.
            </summary>
            <param name="name">The name to lookup</param>
            <param name="type">The type of record requested</param>
            <returns>The records returned by the DNS server, if any</returns>
        </member>
        <member name="T:DiscUtils.Net.Dns.IP4AddressRecord">
            <summary>
            Represents a DNS A record.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.IP4AddressRecord.Address">
            <summary>
            Gets the IPv4 address.
            </summary>
        </member>
        <member name="T:DiscUtils.Net.Dns.MulticastDnsClient">
            <summary>
            Implements the Multicast DNS (mDNS) protocol.
            </summary>
            <remarks>
            This implementation is a hybrid of a 'proper' mDNS resolver and a classic DNS resolver
            configured to use the mDNS multicast address.  The implementation is aware of some of
            the unique semantics of mDNS, but because it is loaded in arbitrary processes cannot
            claim port 5353.  It attempts to honour the spirit of mDNS to the extent possible whilst
            not binding to port 5353.
            </remarks>
        </member>
        <member name="M:DiscUtils.Net.Dns.MulticastDnsClient.#ctor">
            <summary>
            Initializes a new instance of the MulticastDnsClient class.
            </summary>
        </member>
        <member name="M:DiscUtils.Net.Dns.MulticastDnsClient.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:DiscUtils.Net.Dns.MulticastDnsClient.FlushCache">
            <summary>
            Flushes any cached DNS records.
            </summary>
        </member>
        <member name="M:DiscUtils.Net.Dns.MulticastDnsClient.Lookup(System.String,DiscUtils.Net.Dns.RecordType)">
            <summary>
            Looks up a record in DNS.
            </summary>
            <param name="name">The name to lookup</param>
            <param name="type">The type of record requested</param>
            <returns>The records returned by the DNS server, if any</returns>
        </member>
        <member name="T:DiscUtils.Net.Dns.PointerRecord">
            <summary>
            Represents a DNS PTR record.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.PointerRecord.TargetName">
            <summary>
            Gets the DNS name pointed to.
            </summary>
        </member>
        <member name="T:DiscUtils.Net.Dns.RecordClass">
            <summary>
            Enumeration of known DNS record classes (CLASS in DNS).
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordClass.None">
            <summary>
            No class defined.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordClass.Internet">
            <summary>
            The Internet class.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordClass.CSNet">
            <summary>
            The CSNET class.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordClass.Chaos">
            <summary>
            The CHAOS network class.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordClass.Hesiod">
            <summary>
            The Hesiod class.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordClass.Any">
            <summary>
            Wildcard that matches any class.
            </summary>
        </member>
        <member name="T:DiscUtils.Net.Dns.RecordType">
            <summary>
            Enumeration of the known DNS record types.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.None">
            <summary>
             No record type defined.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.Address">
            <summary>
            DNS A record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.NameServer">
            <summary>
            DNS NS record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.MailDestination">
            <summary>
            DNS MD record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.MailForwarder">
            <summary>
            DNS MF record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.CanonicalName">
            <summary>
            DNS CNAME record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.StartOfAuthority">
            <summary>
            DNS SOA record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.Mailbox">
            <summary>
            DNS MB record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.MailGroup">
            <summary>
            DNS MG record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.MailRename">
            <summary>
            DNS MR record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.Null">
            <summary>
            DNS NULL record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.WellKnownService">
            <summary>
            DNS WKS record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.Pointer">
            <summary>
            DNS PTR record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.HostInformation">
            <summary>
            DNS HINFO record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.MailboxInformation">
            <summary>
            DNS MINFO record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.MailExchange">
            <summary>
            DNS MX record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.Text">
            <summary>
            DNS TXT record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.ResponsiblePerson">
            <summary>
            DNS RP record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.IP6Address">
            <summary>
            DNS AAAA record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.Service">
            <summary>
            DNS SRV record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.ZoneTransfer">
            <summary>
            DNS AXFR record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.MailboxRecords">
            <summary>
            DNS MAILB record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.MailAgentRecords">
            <summary>
            DNS MAILA record.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.RecordType.All">
            <summary>
            Wildcard matching all records (*).
            </summary>
        </member>
        <member name="T:DiscUtils.Net.Dns.ServiceDiscoveryClient">
            <summary>
            Provides access to DNS-SD functionality.
            </summary>
        </member>
        <member name="M:DiscUtils.Net.Dns.ServiceDiscoveryClient.#ctor">
            <summary>
            Initializes a new instance of the ServiceDiscoveryClient class.
            </summary>
        </member>
        <member name="M:DiscUtils.Net.Dns.ServiceDiscoveryClient.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:DiscUtils.Net.Dns.ServiceDiscoveryClient.FlushCache">
            <summary>
            Flushes any cached data.
            </summary>
        </member>
        <member name="M:DiscUtils.Net.Dns.ServiceDiscoveryClient.LookupServiceTypes">
            <summary>
            Queries for all the different types of service available on the local network.
            </summary>
            <returns>An array of service types, for example "_http._tcp"</returns>
        </member>
        <member name="M:DiscUtils.Net.Dns.ServiceDiscoveryClient.LookupServiceTypes(System.String)">
            <summary>
            Queries for all the different types of service available in a domain.
            </summary>
            <param name="domain">The domain to query</param>
            <returns>An array of service types, for example "_http._tcp"</returns>
        </member>
        <member name="M:DiscUtils.Net.Dns.ServiceDiscoveryClient.LookupInstances(System.String)">
            <summary>
            Queries for all instances of a particular service on the local network, retrieving all details.
            </summary>
            <param name="service">The service to query, for example "_http._tcp"</param>
            <returns>An array of service instances</returns>
        </member>
        <member name="M:DiscUtils.Net.Dns.ServiceDiscoveryClient.LookupInstances(System.String,DiscUtils.Net.Dns.ServiceInstanceFields)">
            <summary>
            Queries for all instances of a particular service on the local network.
            </summary>
            <param name="service">The service to query, for example "_http._tcp"</param>
            <param name="fields">The details to query</param>
            <returns>An array of service instances</returns>
            <remarks>Excluding some fields (for example the IP address) may reduce the time taken</remarks>
        </member>
        <member name="M:DiscUtils.Net.Dns.ServiceDiscoveryClient.LookupInstances(System.String,System.String,DiscUtils.Net.Dns.ServiceInstanceFields)">
            <summary>
            Queries for all instances of a particular service on the local network.
            </summary>
            <param name="service">The service to query, for example "_http._tcp"</param>
            <param name="domain">The domain to query</param>
            <param name="fields">The details to query</param>
            <returns>An array of service instances</returns>
            <remarks>Excluding some fields (for example the IP address) may reduce the time taken</remarks>
        </member>
        <member name="M:DiscUtils.Net.Dns.ServiceDiscoveryClient.LookupInstance(System.String,DiscUtils.Net.Dns.ServiceInstanceFields)">
            <summary>
            Queries for all instances of a particular service on the local network.
            </summary>
            <param name="name">The instance to query, for example "My WebServer._http._tcp"</param>
            <param name="fields">The details to query</param>
            <returns>The service instance</returns>
            <remarks>Excluding some fields (for example the IP address) may reduce the time taken</remarks>
        </member>
        <member name="T:DiscUtils.Net.Dns.ServiceInstance">
            <summary>
            Represents an instance of a type of DNS-SD service.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceInstance.Name">
            <summary>
            Gets the network name for the service instance (think of this as the unique key).
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceInstance.DisplayName">
            <summary>
            Gets the display name for the service instance.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceInstance.Parameters">
            <summary>
            Gets the parameters of the service instance.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceInstance.EndPoints">
            <summary>
            Gets the EndPoints that service this instance.
            </summary>
        </member>
        <member name="T:DiscUtils.Net.Dns.ServiceInstanceEndPoint">
            <summary>
            Represents an endpoint (address, port, etc) that provides a DNS-SD service instance.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceInstanceEndPoint.Priority">
            <summary>
            Gets the priority of this EndPoint (lower value is higher priority).
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceInstanceEndPoint.Weight">
            <summary>
            Gets the relative weight of this EndPoint when randomly choosing between EndPoints of equal priority.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceInstanceEndPoint.DnsAddress">
            <summary>
            Gets the DNS address of this EndPoint.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceInstanceEndPoint.Port">
            <summary>
            Gets the port of this EndPoint.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceInstanceEndPoint.IPEndPoints">
            <summary>
            Gets the IP addresses (as IPEndPoint instances) of this EndPoint.
            </summary>
        </member>
        <member name="T:DiscUtils.Net.Dns.ServiceInstanceFields">
            <summary>
            Flags controlling which details are discovered for a particular DNS-SD service.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.ServiceInstanceFields.DisplayName">
            <summary>
            Resolves the display name for the service.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.ServiceInstanceFields.Parameters">
            <summary>
            Resolves the parameters for the service (held in TXT records).
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.ServiceInstanceFields.DnsAddresses">
            <summary>
            Resolves the DNS address for the service (held in SRV records).
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.ServiceInstanceFields.IPAddresses">
            <summary>
            Resolves the IP address(es) for the service.
            </summary>
        </member>
        <member name="F:DiscUtils.Net.Dns.ServiceInstanceFields.All">
            <summary>
            Resolves all fields.
            </summary>
        </member>
        <member name="T:DiscUtils.Net.Dns.ServiceRecord">
            <summary>
            Represents a DNS SRV record.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceRecord.Priority">
            <summary>
            Gets the priority associated with this service record (lower value is higher priority).
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceRecord.Weight">
            <summary>
            Gets the relative weight associated with this service record when randomly choosing between records of equal priority.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceRecord.Port">
            <summary>
            Gets the network port at which the service can be accessed.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.ServiceRecord.Target">
            <summary>
            Gets the DNS name at which the service can be accessed.
            </summary>
        </member>
        <member name="T:DiscUtils.Net.Dns.TextRecord">
            <summary>
            Represents a DNS TXT record.
            </summary>
        </member>
        <member name="P:DiscUtils.Net.Dns.TextRecord.Values">
            <summary>
            Gets the values encoded in this record.
            </summary>
            <remarks>For data fidelity, the data is returned in byte form - typically
            the encoded data is actually ASCII or UTF-8.</remarks>
        </member>
        <member name="T:DiscUtils.Net.Dns.UnicastDnsClient">
            <summary>
            Implements the (conventional) unicast DNS protocol.
            </summary>
        </member>
        <member name="M:DiscUtils.Net.Dns.UnicastDnsClient.#ctor">
            <summary>
            Initializes a new instance of the UnicastDnsClient class.
            </summary>
            <remarks>
            This constructor attempts to detect the DNS servers in use by the local
            OS, and use those servers.
            </remarks>
        </member>
        <member name="M:DiscUtils.Net.Dns.UnicastDnsClient.#ctor(System.Net.IPEndPoint[])">
            <summary>
            Initializes a new instance of the UnicastDnsClient class, using nominated DNS servers.
            </summary>
            <param name="servers">The servers to use (non-standard ports may be specified)</param>
        </member>
        <member name="M:DiscUtils.Net.Dns.UnicastDnsClient.#ctor(System.Net.IPAddress[])">
            <summary>
            Initializes a new instance of the UnicastDnsClient class, using nominated DNS servers.
            </summary>
            <param name="servers">The servers to use (the default DNS port, 53, is used)</param>
        </member>
        <member name="M:DiscUtils.Net.Dns.UnicastDnsClient.FlushCache">
            <summary>
            Flushes any cached DNS records.
            </summary>
        </member>
        <member name="M:DiscUtils.Net.Dns.UnicastDnsClient.Lookup(System.String,DiscUtils.Net.Dns.RecordType)">
            <summary>
            Looks up a record in DNS.
            </summary>
            <param name="name">The name to lookup</param>
            <param name="type">The type of record requested</param>
            <returns>The records returned by the DNS server, if any</returns>
        </member>
        <member name="T:DiscUtils.Nfs.Nfs3CallResult">
            <summary>
            Base class for all NFS result structures.
            </summary>
        </member>
        <member name="T:DiscUtils.Nfs.Nfs3Exception">
            <summary>
            Exception thrown when some invalid file system data is found, indicating probably corruption.
            </summary>
        </member>
        <member name="M:DiscUtils.Nfs.Nfs3Exception.#ctor">
            <summary>
            Initializes a new instance of the Nfs3Exception class.
            </summary>
        </member>
        <member name="M:DiscUtils.Nfs.Nfs3Exception.#ctor(System.String)">
            <summary>
            Initializes a new instance of the Nfs3Exception class.
            </summary>
            <param name="message">The exception message.</param>
        </member>
        <member name="M:DiscUtils.Nfs.Nfs3Exception.#ctor(System.String,DiscUtils.Nfs.Nfs3Status)">
            <summary>
            Initializes a new instance of the Nfs3Exception class.
            </summary>
            <param name="message">The exception message.</param>
            <param name="status">The status result of an NFS procedure.</param>
        </member>
        <member name="M:DiscUtils.Nfs.Nfs3Exception.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the Nfs3Exception class.
            </summary>
            <param name="message">The exception message</param>
            <param name="innerException">The inner exception</param>
        </member>
        <member name="M:DiscUtils.Nfs.Nfs3Exception.#ctor(DiscUtils.Nfs.Nfs3Status)">
            <summary>
            Initializes a new instance of the Nfs3Exception class.
            </summary>
            <param name="status">The status result of an NFS procedure.</param>
        </member>
        <member name="M:DiscUtils.Nfs.Nfs3Exception.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the Nfs3Exception class.
            </summary>
            <param name="info">The serialization info</param>
            <param name="context">The streaming context</param>
        </member>
        <member name="M:DiscUtils.Nfs.Nfs3Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serializes this exception.
            </summary>
            <param name="info">The object to populate with serialized data.</param>
            <param name="context">The context for this serialization</param>
        </member>
        <member name="P:DiscUtils.Nfs.Nfs3Exception.NfsStatus">
            <summary>
            Gets the NFS status code that lead to the exception.
            </summary>
        </member>
        <member name="T:DiscUtils.Nfs.Nfs3Status">
            <summary>
            NFS status codes.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.Ok">
            <summary>
            Indicates the call completed successfully.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.NotOwner">
            <summary>
            The operation was not allowed because the caller is either not a
            privileged user (root) or not the owner of the target of the operation.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.NoSuchEntity">
            <summary>
            The file or directory name specified does not exist.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.IOError">
            <summary>
            A hard error (for example, a disk error) occurred while processing
            the requested operation.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.NoSuchDeviceOrAddress">
            <summary>
            No such device or address.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.AccessDenied">
            <summary>
            The caller does not have the correct permission to perform the requested
            operation. Contrast this with NotOwner, which restricts itself to owner
            or privileged user permission failures.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.FileExists">
            <summary>
            The file specified already exists.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.AttemptedCrossDeviceHardLink">
            <summary>
            Attempt to do a cross-device hard link.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.NoSuchDevice">
            <summary>
            No such device.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.NotDirectory">
            <summary>
            The caller specified a non-directory in a directory operation.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.IsADirectory">
            <summary>
            The caller specified a directory in a non-directory operation.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.InvalidArgument">
            <summary>
            Invalid argument or unsupported argument for an operation.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.FileTooLarge">
            <summary>
            The operation would have caused a file to grow beyond the server's
            limit.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.NoSpaceAvailable">
            <summary>
            The operation would have caused the server's file system to exceed its
            limit.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.ReadOnlyFileSystem">
            <summary>
            A modifying operation was attempted on a read-only file system.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.TooManyHardLinks">
            <summary>
            Too many hard links.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.NameTooLong">
            <summary>
            The filename in an operation was too long.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.DirectoryNotEmpty">
            <summary>
            An attempt was made to remove a directory that was not empty.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.QuotaHardLimitExceeded">
            <summary>
            The user's resource limit on the server has been exceeded.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.StaleFileHandle">
            <summary>
            The file referred to no longer exists or access to it has been revoked.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.TooManyRemoteAccessLevels">
            <summary>
            The file handle given in the arguments referred to a file on a non-local
            file system on the server.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.BadFileHandle">
            <summary>
            The file handle failed internal consistency checks.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.UpdateSynchronizationError">
            <summary>
            Update synchronization mismatch was detected during a SETATTR operation.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.StaleCookie">
            <summary>
            Directory enumeration cookie is stale.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.NotSupported">
            <summary>
            Operation is not supported.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.TooSmall">
            <summary>
            Buffer or request is too small.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.ServerFault">
            <summary>
            An error occurred on the server which does not map to any of the legal NFS
            version 3 protocol error values.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.BadType">
            <summary>
            An attempt was made to create an object of a type not supported by the
            server.
            </summary>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.SlowJukebox">
            <summary>
            The server initiated the request, but was not able to complete it in a
            timely fashion.
            </summary>
            <remarks>
            The client should wait and then try the request with a new RPC transaction ID.
            For example, this error should be returned from a server that supports
            hierarchical storage and receives a request to process a file that has been
            migrated. In this case, the server should start the immigration process and
            respond to client with this error.
            </remarks>
        </member>
        <member name="F:DiscUtils.Nfs.Nfs3Status.Unknown">
            <summary>
            An unknown error occured.
            </summary>
        </member>
        <member name="T:DiscUtils.Nfs.NfsFileSystem">
            <summary>
            A file system backed by an NFS server.
            </summary>
            <remarks>NFS is a common storage protocol for Virtual Machines.  Currently, only NFS v3 is supported</remarks>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the NfsFileSystem class.
            </summary>
            <param name="address">The address of the NFS server (IP or DNS address)</param>
            <param name="mountPoint">The mount point on the server to root the file system</param>
            <remarks>
            The created instance uses default credentials.
            </remarks>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.#ctor(System.String,DiscUtils.Nfs.RpcCredentials,System.String)">
            <summary>
            Initializes a new instance of the NfsFileSystem class.
            </summary>
            <param name="address">The address of the NFS server (IP or DNS address)</param>
            <param name="credentials">The credentials to use when accessing the NFS server</param>
            <param name="mountPoint">The mount point on the server to root the file system</param>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.GetExports(System.String)">
            <summary>
            Gets the folders exported by a server.
            </summary>
            <param name="address">The address of the server</param>
            <returns>An enumeration of exported folders</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.CopyFile(System.String,System.String,System.Boolean)">
            <summary>
            Copies a file from one location to another.
            </summary>
            <param name="sourceFile">The source file to copy</param>
            <param name="destinationFile">The destination path</param>
            <param name="overwrite">Whether to overwrite any existing file (true), or fail if such a file exists</param>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.CreateDirectory(System.String)">
            <summary>
            Creates a directory at the specified path.
            </summary>
            <param name="path">The path of the directory to create</param>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.DeleteDirectory(System.String)">
            <summary>
            Deletes a directory at the specified path.
            </summary>
            <param name="path">The directory to delete.</param>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.DeleteFile(System.String)">
            <summary>
            Deletes a file at the specified path.
            </summary>
            <param name="path">The path of the file to delete.</param>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.DirectoryExists(System.String)">
            <summary>
            Indicates whether a specified path exists, and refers to a directory.
            </summary>
            <param name="path">The path to inspect</param>
            <returns><c>true</c> if the path is a directory, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.FileExists(System.String)">
            <summary>
            Indicates whether a specified path exists, and refers to a directory.
            </summary>
            <param name="path">The path to inspect</param>
            <returns><c>true</c> if the path is a file, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.GetDirectories(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.GetFiles(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of files in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.GetFileSystemEntries(System.String)">
            <summary>
            Gets the names of all files and subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.GetFileSystemEntries(System.String,System.String)">
            <summary>
            Gets the names of files and subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.MoveDirectory(System.String,System.String)">
            <summary>
            Moves a directory.
            </summary>
            <param name="sourceDirectoryName">The directory to move.</param>
            <param name="destinationDirectoryName">The target directory name.</param>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.MoveFile(System.String,System.String,System.Boolean)">
            <summary>
            Moves a file, allowing an existing file to be overwritten.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
            <param name="overwrite">Whether to permit a destination file to be overwritten</param>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <param name="access">The access permissions for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.GetAttributes(System.String)">
            <summary>
            Gets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to inspect</param>
            <returns>The attributes of the file or directory</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.SetAttributes(System.String,System.IO.FileAttributes)">
            <summary>
            Sets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to change</param>
            <param name="newValue">The new attributes of the file or directory</param>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.GetCreationTimeUtc(System.String)">
            <summary>
            Gets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.SetCreationTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.GetLastAccessTimeUtc(System.String)">
            <summary>
            Gets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last access time</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.SetLastAccessTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.GetLastWriteTimeUtc(System.String)">
            <summary>
            Gets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last write time</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.SetLastWriteTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.GetFileLength(System.String)">
            <summary>
            Gets the length of a file.
            </summary>
            <param name="path">The path to the file</param>
            <returns>The length in bytes</returns>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystem.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance, freeing up any resources used.
            </summary>
            <param name="disposing"><c>true</c> if called from Dispose, else <c>false</c></param>
        </member>
        <member name="P:DiscUtils.Nfs.NfsFileSystem.NfsOptions">
            <summary>
            Gets the options controlling this instance.
            </summary>
        </member>
        <member name="P:DiscUtils.Nfs.NfsFileSystem.FriendlyName">
            <summary>
            Gets the friendly name for this file system (NFS).
            </summary>
        </member>
        <member name="P:DiscUtils.Nfs.NfsFileSystem.CanWrite">
            <summary>
            Gets whether this file system supports modification (true for NFS).
            </summary>
        </member>
        <member name="P:DiscUtils.Nfs.NfsFileSystem.PreferredReadSize">
            <summary>
            Gets the preferred NFS read size
            </summary>
        </member>
        <member name="P:DiscUtils.Nfs.NfsFileSystem.PreferredWriteSize">
            <summary>
            Gets the preferred NFS write size
            </summary>
        </member>
        <member name="T:DiscUtils.Nfs.NfsFileSystemOptions">
            <summary>
            Options controlling the behaviour of NFS file system.
            </summary>
        </member>
        <member name="M:DiscUtils.Nfs.NfsFileSystemOptions.#ctor">
            <summary>
            Initializes a new instance of the NfsFileSystemOptions class.
            </summary>
        </member>
        <member name="P:DiscUtils.Nfs.NfsFileSystemOptions.NewFilePermissions">
            <summary>
            Gets or sets the permission mask to apply to newly created files.
            </summary>
        </member>
        <member name="P:DiscUtils.Nfs.NfsFileSystemOptions.NewDirectoryPermissions">
            <summary>
            Gets or sets the permission mask to apply to newly created directories.
            </summary>
        </member>
        <member name="T:DiscUtils.Nfs.RpcCredentials">
            <summary>
            Base class for all RPC credentials.
            </summary>
        </member>
        <member name="T:DiscUtils.Nfs.RpcException">
            <summary>
            Exception thrown when some invalid file system data is found, indicating probably corruption.
            </summary>
        </member>
        <member name="M:DiscUtils.Nfs.RpcException.#ctor">
            <summary>
            Initializes a new instance of the RpcException class.
            </summary>
        </member>
        <member name="M:DiscUtils.Nfs.RpcException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the RpcException class.
            </summary>
            <param name="message">The exception message.</param>
        </member>
        <member name="M:DiscUtils.Nfs.RpcException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the RpcException class.
            </summary>
            <param name="message">The exception message</param>
            <param name="innerException">The inner exception</param>
        </member>
        <member name="M:DiscUtils.Nfs.RpcException.#ctor(DiscUtils.Nfs.RpcReplyHeader)">
            <summary>
            Initializes a new instance of the RpcException class.
            </summary>
            <param name="reply">The RPC reply from the server.</param>
        </member>
        <member name="M:DiscUtils.Nfs.RpcException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the RpcException class.
            </summary>
            <param name="info">The serialization info</param>
            <param name="context">The streaming context</param>
        </member>
        <member name="T:DiscUtils.Nfs.RpcNullCredentials">
            <summary>
            Null RPC credentials, for use with anonymous services / procedures.
            </summary>
        </member>
        <member name="T:DiscUtils.Nfs.RpcUnixCredential">
            <summary>
            RPC credentials used for accessing an access-controlled server.
            </summary>
            <remarks>Note there is no server-side authentication with these credentials,
            instead the client is assumed to be trusted.</remarks>
        </member>
        <member name="F:DiscUtils.Nfs.RpcUnixCredential.Default">
            <summary>
            Default credentials (nobody).
            </summary>
            <remarks>
            There is no standard UID/GID for nobody.  This default credential
            assumes 65534 for both the user and group.
            </remarks>
        </member>
        <member name="M:DiscUtils.Nfs.RpcUnixCredential.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the RpcUnixCredential class.
            </summary>
            <param name="user">The user's unique id (UID)</param>
            <param name="primaryGroup">The user's primary group id (GID)</param>
        </member>
        <member name="M:DiscUtils.Nfs.RpcUnixCredential.#ctor(System.Int32,System.Int32,System.Int32[])">
            <summary>
            Initializes a new instance of the RpcUnixCredential class.
            </summary>
            <param name="user">The user's unique id (UID)</param>
            <param name="primaryGroup">The user's primary group id (GID)</param>
            <param name="groups">The user's supplementary group ids</param>
        </member>
        <member name="T:DiscUtils.Ntfs.AttributeReference">
            <summary>
            Fully-qualified reference to an attribute.
            </summary>
        </member>
        <member name="M:DiscUtils.Ntfs.AttributeReference.#ctor(DiscUtils.Ntfs.FileRecordReference,System.UInt16)">
            <summary>
            Initializes a new instance of the AttributeReference class.
            </summary>
            <param name="fileReference">The file containing the attribute</param>
            <param name="attributeId">The identity of the attribute within the file record</param>
        </member>
        <member name="M:DiscUtils.Ntfs.AttributeReference.ToString">
            <summary>
            The reference as a string.
            </summary>
            <returns>String representing the attribute</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.AttributeReference.CompareTo(DiscUtils.Ntfs.AttributeReference)">
            <summary>
            Compares this attribute reference to another.
            </summary>
            <param name="other">The attribute reference to compare against</param>
            <returns>Zero if references are identical.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.AttributeReference.Equals(DiscUtils.Ntfs.AttributeReference)">
            <summary>
            Indicates if two references are equivalent.
            </summary>
            <param name="other">The attribute reference to compare</param>
            <returns><c>true</c> if the references are equivalent.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.AttributeReference.Equals(System.Object)">
            <summary>
            Indicates if this reference is equivalent to another object.
            </summary>
            <param name="obj">The object to compare</param>
            <returns><c>true</c> if obj is an equivalent attribute reference</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.AttributeReference.GetHashCode">
            <summary>
            Gets the hash code for this reference.
            </summary>
            <returns>The hash code.</returns>
        </member>
        <member name="P:DiscUtils.Ntfs.AttributeReference.File">
            <summary>
            Gets the file containing the attribute.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.AttributeReference.AttributeId">
            <summary>
            Gets the identity of the attribute within the file record.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.AttributeType">
            <summary>
            Enumeration of NTFS file attribute types.
            </summary>
            <remarks>Normally applications only create Data attributes.</remarks>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.None">
            <summary>
            No type specified.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.StandardInformation">
            <summary>
            NTFS Standard Information.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.AttributeList">
            <summary>
            Attribute list, that holds a list of attribute locations for files with a large attribute set.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.FileName">
            <summary>
            FileName information, one per hard link.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.ObjectId">
            <summary>
            Distributed Link Tracking object identity.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.SecurityDescriptor">
            <summary>
            Legacy Security Descriptor attribute.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.VolumeName">
            <summary>
            The name of the NTFS volume.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.VolumeInformation">
            <summary>
            Information about the NTFS volume.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.Data">
            <summary>
            File contents, a file may have multiple data attributes (default is unnamed).
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.IndexRoot">
            <summary>
            Root information for directories and other NTFS index's.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.IndexAllocation">
            <summary>
            For 'large' directories and other NTFS index's, the index contents.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.Bitmap">
            <summary>
            Bitmask of allocated clusters, records, etc - typically used in indexes.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.ReparsePoint">
            <summary>
            ReparsePoint information.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.ExtendedAttributesInformation">
            <summary>
            Extended Attributes meta-information.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.ExtendedAttributes">
            <summary>
            Extended Attributes data.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.PropertySet">
            <summary>
            Legacy attribute type from NT (not used).
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.AttributeType.LoggedUtilityStream">
            <summary>
            Encrypted File System (EFS) data.
            </summary>
        </member>
        <member name="M:DiscUtils.Ntfs.ClusterBitmap.AllocateClusters(System.Int64,System.Int64,System.Boolean,System.Int64)">
            <summary>
            Allocates clusters from the disk
            </summary>
            <param name="count">The number of clusters to allocate</param>
            <param name="proposedStart">The proposed start cluster (or -1)</param>
            <param name="isMft"><c>true</c> if this attribute is the $MFT\$DATA attribute</param>
            <param name="total">The total number of clusters in the file, including this allocation</param>
            <returns>The list of cluster allocations</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.ClusterBitmap.SetTotalClusters(System.Int64)">
            <summary>
            Sets the total number of clusters managed in the volume.
            </summary>
            <param name="numClusters">Total number of clusters in the volume</param>
            <remarks>
            Any clusters represented in the bitmap beyond the total number in the volume are marked as in-use.
            </remarks>
        </member>
        <member name="M:DiscUtils.Ntfs.ClusterBitmap.FindClusters(System.Int64,System.Collections.Generic.List{DiscUtils.Tuple{System.Int64,System.Int64}},System.Int64,System.Int64,System.Boolean,System.Boolean,System.Int64)">
            <summary>
            Finds one or more free clusters in a range.
            </summary>
            <param name="count">The number of clusters required.</param>
            <param name="result">The list of clusters found (i.e. out param)</param>
            <param name="start">The first cluster in the range to look at</param>
            <param name="end">The last cluster in the range to look at (exclusive)</param>
            <param name="isMft">Indicates if the clusters are for the MFT</param>
            <param name="contiguous">Indicates if contiguous clusters are required</param>
            <param name="headroom">Indicates how many clusters to skip before next allocation, to prevent fragmentation</param>
            <returns>The number of clusters found in the range</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.CookedDataRuns.TruncateAt(System.Int32)">
            <summary>
            Truncates the set of data runs
            </summary>
            <param name="index">The first run to be truncated</param>
        </member>
        <member name="M:DiscUtils.Ntfs.File.GetAttribute(DiscUtils.Ntfs.AttributeReference)">
            <summary>
            Gets an attribute by reference.
            </summary>
            <param name="attrRef">Reference to the attribute</param>
            <returns>The attribute</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.File.GetAttribute(DiscUtils.Ntfs.AttributeType,System.String)">
            <summary>
             Gets the first (if more than one) instance of a named attribute.
            </summary>
            <param name="type">The attribute type</param>
            <param name="name">The attribute's name</param>
            <returns>The attribute of <c>null</c>.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.File.GetAttributes(DiscUtils.Ntfs.AttributeType)">
            <summary>
             Gets all instances of an unnamed attribute.
            </summary>
            <param name="type">The attribute type</param>
            <returns>The attributes.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.File.CreateAttribute(DiscUtils.Ntfs.AttributeType,DiscUtils.Ntfs.AttributeFlags)">
            <summary>
            Creates a new unnamed attribute.
            </summary>
            <param name="type">The type of the new attribute</param>
            <param name="flags">The flags of the new attribute</param>
            <returns>The new attribute</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.File.CreateAttribute(DiscUtils.Ntfs.AttributeType,System.String,DiscUtils.Ntfs.AttributeFlags)">
            <summary>
            Creates a new attribute.
            </summary>
            <param name="type">The type of the new attribute</param>
            <param name="name">The name of the new attribute</param>
            <param name="flags">The flags of the new attribute</param>
            <returns>The new attribute</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.File.CreateAttribute(DiscUtils.Ntfs.AttributeType,System.String,DiscUtils.Ntfs.AttributeFlags,System.Int64,System.UInt64,System.UInt32)">
            <summary>
            Creates a new attribute at a fixed cluster.
            </summary>
            <param name="type">The type of the new attribute</param>
            <param name="name">The name of the new attribute</param>
            <param name="flags">The flags of the new attribute</param>
            <param name="firstCluster">The first cluster to assign to the attribute</param>
            <param name="numClusters">The number of sequential clusters to assign to the attribute</param>
            <param name="bytesPerCluster">The number of bytes in each cluster</param>
            <returns>The new attribute</returns>
        </member>
        <member name="P:DiscUtils.Ntfs.File.AllAttributes">
            <summary>
            Gets an enumeration of all the attributes.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.File.FileStream">
            <summary>
            Wrapper for Resident/Non-Resident attribute streams, that remains valid
            despite the attribute oscillating between resident and not.
            </summary>
        </member>
        <member name="M:DiscUtils.Ntfs.File.FileStream.ChangeAttributeResidencyByLength(System.Int64)">
            <summary>
            Change attribute residency if it gets too big (or small).
            </summary>
            <param name="value">The new (anticipated) length of the stream</param>
            <remarks>Has hysteresis - the decision is based on the input and the current
            state, not the current state alone</remarks>
        </member>
        <member name="M:DiscUtils.Ntfs.FileRecord.GetAttribute(System.UInt16)">
            <summary>
            Gets an attribute by it's id.
            </summary>
            <param name="id">The attribute's id</param>
            <returns>The attribute, or <c>null</c></returns>
        </member>
        <member name="M:DiscUtils.Ntfs.FileRecord.GetAttribute(DiscUtils.Ntfs.AttributeType)">
            <summary>
            Gets an unnamed attribute.
            </summary>
            <param name="type">The attribute type</param>
            <returns>The attribute, or <c>null</c>.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.FileRecord.GetAttribute(DiscUtils.Ntfs.AttributeType,System.String)">
            <summary>
            Gets an named attribute.
            </summary>
            <param name="type">The attribute type</param>
            <param name="name">The name of the attribute</param>
            <returns>The attribute, or <c>null</c>.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.FileRecord.CreateAttribute(DiscUtils.Ntfs.AttributeType,System.String,System.Boolean,DiscUtils.Ntfs.AttributeFlags)">
            <summary>
            Creates a new attribute.
            </summary>
            <param name="type">The type of the new attribute</param>
            <param name="name">The name of the new attribute</param>
            <param name="indexed">Whether the attribute is marked as indexed</param>
            <param name="flags">Flags for the new attribute</param>
            <returns>The id of the new attribute</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.FileRecord.CreateNonResidentAttribute(DiscUtils.Ntfs.AttributeType,System.String,DiscUtils.Ntfs.AttributeFlags)">
            <summary>
            Creates a new non-resident attribute.
            </summary>
            <param name="type">The type of the new attribute</param>
            <param name="name">The name of the new attribute</param>
            <param name="flags">Flags for the new attribute</param>
            <returns>The id of the new attribute</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.FileRecord.CreateNonResidentAttribute(DiscUtils.Ntfs.AttributeType,System.String,DiscUtils.Ntfs.AttributeFlags,System.Int64,System.UInt64,System.UInt32)">
            <summary>
            Creates a new attribute.
            </summary>
            <param name="type">The type of the new attribute</param>
            <param name="name">The name of the new attribute</param>
            <param name="flags">Flags for the new attribute</param>
            <param name="firstCluster">The first cluster to assign to the attribute</param>
            <param name="numClusters">The number of sequential clusters to assign to the attribute</param>
            <param name="bytesPerCluster">The number of bytes in each cluster</param>
            <returns>The id of the new attribute</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.FileRecord.AddAttribute(DiscUtils.Ntfs.AttributeRecord)">
            <summary>
            Adds an existing attribute.
            </summary>
            <param name="attrRec">The attribute to add</param>
            <returns>The new Id of the attribute</returns>
            <remarks>This method is used to move an attribute between different MFT records</remarks>
        </member>
        <member name="M:DiscUtils.Ntfs.FileRecord.RemoveAttribute(System.UInt16)">
            <summary>
            Removes an attribute by it's id.
            </summary>
            <param name="id">The attribute's id</param>
        </member>
        <member name="F:DiscUtils.Ntfs.IndexBlock.FieldSize">
            <summary>
            Size of meta-data placed at start of a block.
            </summary>
        </member>
        <member name="M:DiscUtils.Ntfs.IndexNode.Depose">
            <summary>
            Only valid on the root node, this method moves all entries into a
            single child node.
            </summary>
            <returns>Whether any changes were made</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.IndexNode.LiftNode(System.Int32)">
            <summary>
            Removes redundant nodes (that contain only an 'End' entry).
            </summary>
            <param name="entryIndex">The index of the entry that may have a redundant child</param>
            <returns>An entry that needs to be promoted to the parent node (if any)</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.IndexNode.FindLargestLeaf">
            <summary>
            Finds the largest leaf entry in this tree.
            </summary>
            <returns>The index entry of the largest leaf</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.IndexNode.Divide">
            <summary>
            Only valid on non-root nodes, this method divides the node in two,
            adding the new node to the current parent.
            </summary>
            <returns>An entry that needs to be promoted to the parent node (if any)</returns>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.AttributeFlags">
            <summary>
            Flags indicating how an attribute's content is stored on disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.AttributeFlags.None">
            <summary>
            The data is stored in linear form.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.AttributeFlags.Compressed">
            <summary>
            The data is compressed.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.AttributeFlags.Encrypted">
            <summary>
            The data is encrypted.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.AttributeFlags.Sparse">
            <summary>
            The data is stored in sparse form.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.AttributeListAttribute">
            <summary>
            List of attributes for files that are split over multiple Master File Table entries.
            </summary>
            <remarks>
            <para>
            Files with lots of attribute data (for example that have become very fragmented) contain
            this attribute in their 'base' Master File Table entry.  This attribute acts as an index,
            indicating for each attribute in the file, which Master File Table entry contains the
            attribute.
            </para>
            </remarks>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.GenericAttribute">
            <summary>
            Base class for all attributes within Master File Table entries.
            </summary>
            <remarks>
            More specialized base classes are provided for known attribute types.
            </remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.GenericAttribute.Name">
            <summary>
            Gets the name of the attribute (if any).
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.GenericAttribute.AttributeType">
            <summary>
            Gets the type of the attribute.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.GenericAttribute.Identifier">
            <summary>
            Gets the unique id of the attribute.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.GenericAttribute.IsResident">
            <summary>
            Gets a value indicating whether the attribute content is stored in the MFT record itself.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.GenericAttribute.Flags">
            <summary>
            Gets the flags indicating how the content of the attribute is stored.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.GenericAttribute.ContentLength">
            <summary>
            Gets the amount of valid data in the attribute's content.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.GenericAttribute.Content">
            <summary>
            Gets a buffer that can access the content of the attribute.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.AttributeListAttribute.Entries">
            <summary>
            Gets the entries in this attribute list.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.AttributeListEntry">
            <summary>
            Represents an entry in an AttributeList attribute.
            </summary>
            <remarks>Each instance of this class points to the actual Master File Table
            entry that contains the attribute.  It is used for files split over multiple
            Master File Table entries.</remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.AttributeListEntry.AttributeType">
            <summary>
            Gets the type of the attribute.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.AttributeListEntry.AttributeName">
            <summary>
            Gets the name of the attribute (if any).
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.AttributeListEntry.FirstFileCluster">
            <summary>
            Gets the first cluster represented in this attribute (normally 0).
            </summary>
            <remarks>
            <para>
            For very fragmented files, it can be necessary to split a single attribute
            over multiple Master File Table entries.  This is achieved with multiple attributes
            with the same name and type (one per Master File Table entry), with this field
            determining the logical order of the attributes.
            </para>
            <para>
            The number is the first 'virtual' cluster present (i.e. divide the file's content
            into 'cluster' sized chunks, this is the first of those clusters logically
            represented in the attribute).
            </para>
            </remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.AttributeListEntry.MasterFileTableEntry">
            <summary>
            Gets the Master File Table entry that contains the attribute.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.AttributeListEntry.AttributeIdentifier">
            <summary>
            Gets the identifier of the attribute.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.FileNameAttribute">
            <summary>
            Representation of an NTFS File Name attribute.
            </summary>
            <remarks>
            <para>
            Each Master File Table entry (MFT Entry) has one of these attributes for each
            hard link.  Files with a long name and a short name will have at least two of
            these attributes.</para>
            <para>
            The details in this attribute may be inconsistent with similar information in
            the StandardInformationAttribute for a file.  The StandardInformation is
            definitive, this attribute holds a 'cache' of the information.
            </para>
            </remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.FileNameAttribute.ParentDirectory">
            <summary>
            Gets the reference to the parent directory.
            </summary>
            <remarks>
            This attribute stores the name of a file within a directory, this field
            provides the link back to the directory.
            </remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.FileNameAttribute.CreationTime">
            <summary>
            Gets the creation time of the file.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.FileNameAttribute.ModificationTime">
            <summary>
            Gets the modification time of the file.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.FileNameAttribute.MasterFileTableChangedTime">
            <summary>
            Gets the last time the Master File Table entry for the file was changed.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.FileNameAttribute.LastAccessTime">
            <summary>
            Gets the last access time of the file
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.FileNameAttribute.AllocatedSize">
            <summary>
            Gets the amount of disk space allocated for the file.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.FileNameAttribute.RealSize">
            <summary>
            Gets the amount of data stored in the file.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.FileNameAttribute.FileAttributes">
            <summary>
            Gets the attributes of the file, as stored by NTFS.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.FileNameAttribute.ExtendedAttributesSizeOrReparsePointTag">
            <summary>
            Gets the extended attributes size, or a reparse tag, depending on the nature of the file.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.FileNameAttribute.FileNameNamespace">
            <summary>
            Gets the namespace of the FileName property.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.FileNameAttribute.FileName">
            <summary>
            Gets the name of the file within the parent directory.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.MasterFileTable">
            <summary>
            Provides read-only access to the Master File Table of an NTFS file system.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.MasterFileTableIndex">
            <summary>
            Index of the Master File Table itself.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.MasterFileTableMirrorIndex">
            <summary>
            Index of the Master File Table Mirror file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.LogFileIndex">
            <summary>
            Index of the Log file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.VolumeIndex">
            <summary>
            Index of the Volume file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.AttributeDefinitionIndex">
            <summary>
            Index of the Attribute Definition file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.RootDirectoryIndex">
            <summary>
            Index of the Root Directory.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.BitmapIndex">
            <summary>
            Index of the Bitmap file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.BootIndex">
            <summary>
            Index of the Boot sector(s).
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.BadClusterIndex">
            <summary>
            Index of the Bad Cluster file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.SecureIndex">
            <summary>
            Index of the Security Descriptor file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.UppercaseIndex">
            <summary>
            Index of the Uppercase mapping file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.ExtendDirectoryIndex">
            <summary>
            Index of the Optional Extensions directory.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTable.FirstNormalFileIndex">
            <summary>
            First index available for 'normal' files.
            </summary>
        </member>
        <member name="M:DiscUtils.Ntfs.Internals.MasterFileTable.GetEntries(DiscUtils.Ntfs.Internals.EntryStates)">
            <summary>
            Enumerates all entries.
            </summary>
            <param name="filter">Filter controlling which entries are returned</param>
            <returns>An enumeration of entries matching the filter.</returns>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.MasterFileTable.Item(System.Int64)">
            <summary>
            Gets an entry by index.
            </summary>
            <param name="index">The index of the entry</param>
            <returns>The entry</returns>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.MasterFileTableEntry">
            <summary>
            An entry within the Master File Table.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.MasterFileTableEntry.Index">
            <summary>
            Gets the index of this entry in the Master File Table.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.MasterFileTableEntry.LogFileSequenceNumber">
            <summary>
            Gets the change identifier that is updated each time the file is modified by Windows, relates to the NTFS log file.
            </summary>
            <remarks>
            The NTFS log file provides journalling, preventing meta-data corruption in the event of a system crash.
            </remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.MasterFileTableEntry.SequenceNumber">
            <summary>
            Gets the revision number of the entry.
            </summary>
            <remarks>
            Each time an entry is allocated or de-allocated, this number is incremented by one.
            </remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.MasterFileTableEntry.HardLinkCount">
            <summary>
            Gets the number of hard links referencing this file.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.MasterFileTableEntry.Flags">
            <summary>
            Gets the flags indicating the nature of the entry.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.MasterFileTableEntry.BaseRecordReference">
            <summary>
            Gets the identity of the base entry for files split over multiple entries.
            </summary>
            <remarks>
            All entries that form part of the same file have the same value for
            this property.
            </remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.MasterFileTableEntry.NextAttributeId">
            <summary>
            Gets the next attribute identity that will be allocated.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.MasterFileTableEntry.SelfIndex">
            <summary>
            Gets the index of this entry in the Master File Table (as stored in the entry itself).
            </summary>
            <remarks>
            Note - older versions of Windows did not store this value, so it may be Zero.
            </remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.MasterFileTableEntry.Attributes">
            <summary>
            Gets the attributes contained in this entry.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.MasterFileTableEntryFlags">
            <summary>
            Flags indicating the nature of a Master File Table entry.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTableEntryFlags.None">
            <summary>
            Default value.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTableEntryFlags.InUse">
            <summary>
            The entry is currently in use.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTableEntryFlags.IsDirectory">
            <summary>
            The entry is for a directory (rather than a file).
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTableEntryFlags.IsMetaFile">
            <summary>
            The entry is for a file that forms parts of the NTFS meta-data.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.MasterFileTableEntryFlags.HasViewIndex">
            <summary>
            The entry contains index attributes.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.MasterFileTableReference">
            <summary>
            A reference to a Master File Table entry.
            </summary>
        </member>
        <member name="M:DiscUtils.Ntfs.Internals.MasterFileTableReference.op_Equality(DiscUtils.Ntfs.Internals.MasterFileTableReference,DiscUtils.Ntfs.Internals.MasterFileTableReference)">
            <summary>
            Compares to instances for equality.
            </summary>
            <param name="a">The first instance to compare.</param>
            <param name="b">The second instance to compare.</param>
            <returns><code>true</code> if the instances are equivalent, else <code>false</code>.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.Internals.MasterFileTableReference.op_Inequality(DiscUtils.Ntfs.Internals.MasterFileTableReference,DiscUtils.Ntfs.Internals.MasterFileTableReference)">
            <summary>
            Compares to instances for equality.
            </summary>
            <param name="a">The first instance to compare.</param>
            <param name="b">The second instance to compare.</param>
            <returns><code>true</code> if the instances are not equivalent, else <code>false</code>.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.Internals.MasterFileTableReference.Equals(System.Object)">
            <summary>
            Compares another object for equality.
            </summary>
            <param name="obj">The object to compare.</param>
            <returns><code>true</code> if the other object is equivalent, else <code>false</code>.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.Internals.MasterFileTableReference.GetHashCode">
            <summary>
            Gets a hash code for this instance.
            </summary>
            <returns>The hash code.</returns>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.MasterFileTableReference.RecordIndex">
            <summary>
            Gets the index of the referred entry in the Master File Table.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.MasterFileTableReference.RecordSequenceNumber">
            <summary>
            Gets the revision number of the entry.
            </summary>
            <remarks>
            This value prevents accidental reference to an entry - it will get out
            of sync with the actual entry if the entry is re-allocated or de-allocated.
            </remarks>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.NtfsFileAttributes">
            <summary>
            File attributes as stored natively by NTFS.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.None">
            <summary>
            No attributes.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.ReadOnly">
            <summary>
            The file is read-only.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.Hidden">
            <summary>
            The file is hidden.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.System">
            <summary>
            The file is part of the Operating System.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.Archive">
            <summary>
            The file should be archived.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.Device">
            <summary>
            The file is actually a device.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.Normal">
            <summary>
            The file is a 'normal' file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.Temporary">
            <summary>
            The file is a temporary file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.Sparse">
            <summary>
            The file content is stored in sparse form.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.ReparsePoint">
            <summary>
            The file has a reparse point attached.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.Compressed">
            <summary>
            The file content is stored compressed.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.Offline">
            <summary>
            The file is an 'offline' file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.NotIndexed">
            <summary>
            The file is not indexed.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.Encrypted">
            <summary>
            The file content is encrypted.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.Directory">
            <summary>
            The file is actually a directory.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsFileAttributes.IndexView">
            <summary>
            The file has an index attribute.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.NtfsNamespace">
            <summary>
            The known NTFS namespaces.
            </summary>
            <remarks>
            NTFS has multiple namespaces, indicating whether a name is the
            long name for a file, the short name for a file, both, or none.
            </remarks>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsNamespace.Posix">
            <summary>
            Posix namespace (i.e. long name)
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsNamespace.Win32">
            <summary>
            Windows long file name.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsNamespace.Dos">
            <summary>
            DOS (8.3) file name.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.NtfsNamespace.Win32AndDos">
            <summary>
            File name that is both the long name and the DOS (8.3) name.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.EntryStates">
            <summary>
            Flags indicating the state of a Master File Table entry.
            </summary>
            <remarks>
            Used to filter entries in the Master File Table.
            </remarks>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.EntryStates.None">
            <summary>
            No entries match.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.EntryStates.InUse">
            <summary>
            The entry is currently in use.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.EntryStates.NotInUse">
            <summary>
            The entry is currently not in use.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.Internals.EntryStates.All">
            <summary>
            All entries match.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.Internals.StandardInformationAttribute">
            <summary>
            Representation of an NTFS File Name attribute.
            </summary>
            <para>
            The details in this attribute may be inconsistent with similar information in
            the FileNameAttribute(s) for a file.  This attribute is definitive, the
            FileNameAttribute attribute holds a 'cache' of some of the information.
            </para>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.StandardInformationAttribute.CreationTime">
            <summary>
            Gets the creation time of the file.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.StandardInformationAttribute.ModificationTime">
            <summary>
            Gets the modification time of the file.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.StandardInformationAttribute.MasterFileTableChangedTime">
            <summary>
            Gets the last time the Master File Table entry for the file was changed.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.StandardInformationAttribute.LastAccessTime">
            <summary>
            Gets the last access time of the file
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.StandardInformationAttribute.FileAttributes">
            <summary>
            Gets the attributes of the file, as stored by NTFS.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.StandardInformationAttribute.MaxVersions">
            <summary>
            Gets the maximum number of file versions (normally 0).
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.StandardInformationAttribute.Version">
            <summary>
            Gets the version number of the file (normally 0).
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.StandardInformationAttribute.ClassId">
            <summary>
            Gets the Unknown.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.StandardInformationAttribute.OwnerId">
            <summary>
            Gets the owner identity, for the purposes of quota allocation.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.StandardInformationAttribute.SecurityId">
            <summary>
            Gets the identifier of the Security Descriptor for this file.
            </summary>
            <remarks>
            Security Descriptors are stored in the \$Secure meta-data file.
            </remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.StandardInformationAttribute.QuotaCharged">
            <summary>
            Gets the amount charged to the owners quota for this file.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.Internals.StandardInformationAttribute.JournalSequenceNumber">
            <summary>
            Gets the last update sequence number of the file (relates to the user-readable journal).
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.LZNT1">
            <summary>
            Implementation of the LZNT1 algorithm used for compressing NTFS files.
            </summary>
            <remarks>
            Due to apparent bugs in Window's LZNT1 decompressor, it is <b>strongly</b> recommended that
            only the block size of 4096 is used.  Other block sizes corrupt data on decompression.
            </remarks>
        </member>
        <member name="F:DiscUtils.Ntfs.LzWindowDictionary._offsetList">
            <summary>
            Index of locations of each possible byte value within the compression window.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.NewFileOptions">
            <summary>
            Options controlling how new NTFS files are created.
            </summary>
        </member>
        <member name="M:DiscUtils.Ntfs.NewFileOptions.#ctor">
            <summary>
            Initializes a new instance of the NewFileOptions class.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NewFileOptions.Compressed">
            <summary>
            Gets or sets whether the new file should be compressed.
            </summary>
            <remarks>The default (<c>null</c>) value indicates the file system default behaviour applies.</remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.NewFileOptions.CreateShortNames">
            <summary>
            Gets or sets whether a short name should be created for the file.
            </summary>
            <remarks>The default (<c>null</c>) value indicates the file system default behaviour applies.</remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.NewFileOptions.SecurityDescriptor">
            <summary>
            Gets or sets the security descriptor that to set for the new file.
            </summary>
            <remarks>The default (<c>null</c>) value indicates the security descriptor is inherited.</remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.NonResidentAttributeRecord.AllocatedLength">
            <summary>
            The amount of space occupied by the attribute (in bytes)
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NonResidentAttributeRecord.DataLength">
            <summary>
            The amount of data in the attribute (in bytes)
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NonResidentAttributeRecord.InitializedDataLength">
            <summary>
            The amount of initialized data in the attribute (in bytes)
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NonResidentAttributeRecord.CompressionUnitSize">
            <summary>
            Gets or sets the size of a compression unit (in clusters)
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.NtfsFormatOptions">
            <summary>
            Class representing NTFS formatting options.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsFormatOptions.BootCode">
            <summary>
            Gets or sets the NTFS bootloader code to put in the formatted file system.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsFormatOptions.ComputerAccount">
            <summary>
            Gets or sets the SID of the computer account that notionally formatted the file system.
            </summary>
            <remarks>
            Certain ACLs in the file system will refer to the 'local' administrator of the indicated
            computer account.
            </remarks>
        </member>
        <member name="T:DiscUtils.Ntfs.RawClusterStream">
            <summary>
            Low-level non-resident attribute operations.
            </summary>
            <remarks>
            Responsible for:
            * Cluster Allocation / Release
            * Reading clusters from disk
            * Writing clusters to disk
            * Substituing zeros for 'sparse'/'unallocated' clusters
            Not responsible for:
            * Compression / Decompression
            * Extending attributes
            </remarks>
        </member>
        <member name="T:DiscUtils.Ntfs.MasterFileTable">
            <summary>
            Class representing the $MFT file on disk, including mirror.
            </summary>
            <remarks>This class only understands basic record structure, and is
            ignorant of files that span multiple records.  This class should only
            be used by the NtfsFileSystem and File classes.</remarks>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.MftIndex">
            <summary>
            MFT index of the MFT file itself.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.MftMirrorIndex">
            <summary>
            MFT index of the MFT Mirror file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.LogFileIndex">
            <summary>
            MFT Index of the Log file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.VolumeIndex">
            <summary>
            MFT Index of the Volume file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.AttrDefIndex">
            <summary>
            MFT Index of the Attribute Definition file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.RootDirIndex">
            <summary>
            MFT Index of the Root Directory.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.BitmapIndex">
            <summary>
            MFT Index of the Bitmap file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.BootIndex">
            <summary>
            MFT Index of the Boot sector(s).
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.BadClusIndex">
            <summary>
            MFT Index of the Bad Bluster file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.SecureIndex">
            <summary>
            MFT Index of the Security Descriptor file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.UpCaseIndex">
            <summary>
            MFT Index of the Uppercase mapping file.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.ExtendIndex">
            <summary>
            MFT Index of the Optional Extensions directory.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.MasterFileTable.FirstAvailableMftIndex">
            <summary>
            First MFT Index available for 'normal' files.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.MasterFileTable.Records">
            <summary>
            Gets the MFT records directly from the MFT stream - bypassing the record cache.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.NtfsFileSystem">
            <summary>
            Class for accessing NTFS file systems.
            </summary>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the NtfsFileSystem class.
            </summary>
            <param name="stream">The stream containing the NTFS file system</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.Format(System.IO.Stream,System.String,DiscUtils.Geometry,System.Int64,System.Int64)">
            <summary>
            Initializes a new NTFS file system.
            </summary>
            <param name="stream">The stream to write the new file system to</param>
            <param name="label">The label for the new file system</param>
            <param name="diskGeometry">The disk geometry of the disk containing the new file system</param>
            <param name="firstSector">The first sector of the new file system on the disk</param>
            <param name="sectorCount">The number of sectors allocated to the new file system on the disk</param>
            <returns>The newly-initialized file system</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.Format(System.IO.Stream,System.String,DiscUtils.Geometry,System.Int64,System.Int64,System.Byte[])">
            <summary>
            Initializes a new NTFS file system.
            </summary>
            <param name="stream">The stream to write the new file system to</param>
            <param name="label">The label for the new file system</param>
            <param name="diskGeometry">The disk geometry of the disk containing the new file system</param>
            <param name="firstSector">The first sector of the new file system on the disk</param>
            <param name="sectorCount">The number of sectors allocated to the new file system on the disk</param>
            <param name="bootCode">The Operating System's boot code</param>
            <returns>The newly-initialized file system</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.Format(System.IO.Stream,System.String,DiscUtils.Geometry,System.Int64,System.Int64,DiscUtils.Ntfs.NtfsFormatOptions)">
            <summary>
            Initializes a new NTFS file system.
            </summary>
            <param name="stream">The stream to write the new file system to</param>
            <param name="label">The label for the new file system</param>
            <param name="diskGeometry">The disk geometry of the disk containing the new file system</param>
            <param name="firstSector">The first sector of the new file system on the disk</param>
            <param name="sectorCount">The number of sectors allocated to the new file system on the disk</param>
            <param name="options">The formatting options</param>
            <returns>The newly-initialized file system</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.Format(DiscUtils.VolumeInfo,System.String)">
            <summary>
            Initializes a new NTFS file system.
            </summary>
            <param name="volume">The volume to format</param>
            <param name="label">The label for the new file system</param>
            <returns>The newly-initialized file system</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.Format(DiscUtils.VolumeInfo,System.String,System.Byte[])">
            <summary>
            Initializes a new NTFS file system.
            </summary>
            <param name="volume">The volume to format</param>
            <param name="label">The label for the new file system</param>
            <param name="bootCode">The Operating System's boot code</param>
            <returns>The newly-initialized file system</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.Format(DiscUtils.VolumeInfo,System.String,DiscUtils.Ntfs.NtfsFormatOptions)">
            <summary>
            Initializes a new NTFS file system.
            </summary>
            <param name="volume">The volume to format</param>
            <param name="label">The label for the new file system</param>
            <param name="options">The formatting options</param>
            <returns>The newly-initialized file system</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.Detect(System.IO.Stream)">
            <summary>
            Detects if a stream contains an NTFS file system.
            </summary>
            <param name="stream">The stream to inspect</param>
            <returns><c>true</c> if NTFS is detected, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetMasterFileTable">
            <summary>
            Gets the Master File Table for this file system.
            </summary>
            <remarks>
            Use the returned object to explore the internals of the file system - most people will
            never need to use this.
            </remarks>
            <returns>The Master File Table.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.CopyFile(System.String,System.String,System.Boolean)">
            <summary>
            Copies an existing file to a new file, allowing overwriting of an existing file.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
            <param name="overwrite">Whether to permit over-writing of an existing file.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.CreateDirectory(System.String)">
            <summary>
            Creates a directory.
            </summary>
            <param name="path">The path of the new directory</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.CreateDirectory(System.String,DiscUtils.Ntfs.NewFileOptions)">
            <summary>
            Creates a directory.
            </summary>
            <param name="path">The path of the new directory</param>
            <param name="options">Options controlling attributes of the new Director, or <c>null</c> for defaults.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.DeleteDirectory(System.String)">
            <summary>
            Deletes a directory.
            </summary>
            <param name="path">The path of the directory to delete.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.DeleteFile(System.String)">
            <summary>
            Deletes a file.
            </summary>
            <param name="path">The path of the file to delete.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.DirectoryExists(System.String)">
            <summary>
            Indicates if a directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the directory exists</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.FileExists(System.String)">
            <summary>
            Indicates if a file exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file exists</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetDirectories(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetFiles(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of files in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetFileSystemEntries(System.String)">
            <summary>
            Gets the names of all files and subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files and subdirectories.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetFileSystemEntries(System.String,System.String)">
            <summary>
            Gets the names of files and subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.MoveDirectory(System.String,System.String)">
            <summary>
            Moves a directory.
            </summary>
            <param name="sourceDirectoryName">The directory to move.</param>
            <param name="destinationDirectoryName">The target directory name.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.MoveFile(System.String,System.String,System.Boolean)">
            <summary>
            Moves a file, allowing an existing file to be overwritten.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
            <param name="overwrite">Whether to permit a destination file to be overwritten</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <param name="access">The access permissions for the returned stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess,DiscUtils.Ntfs.NewFileOptions)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <param name="access">The access permissions for the returned stream.</param>
            <param name="options">Options controlling attributes of a new file, or <c>null</c> for defaults (ignored if file exists).</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.OpenRawStream(System.String,DiscUtils.Ntfs.AttributeType,System.String,System.IO.FileAccess)">
            <summary>
            Opens an existing file stream.
            </summary>
            <param name="file">The file containing the stream</param>
            <param name="type">The type of the stream</param>
            <param name="name">The name of the stream</param>
            <param name="access">The desired access to the stream</param>
            <returns>A stream that can be used to access the file stream</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetAttributes(System.String)">
            <summary>
            Gets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to inspect</param>
            <returns>The attributes of the file or directory</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.SetAttributes(System.String,System.IO.FileAttributes)">
            <summary>
            Sets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to change</param>
            <param name="newValue">The new attributes of the file or directory</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetCreationTimeUtc(System.String)">
            <summary>
            Gets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.SetCreationTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetLastAccessTimeUtc(System.String)">
            <summary>
            Gets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last access time</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.SetLastAccessTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetLastWriteTimeUtc(System.String)">
            <summary>
            Gets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last write time</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.SetLastWriteTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in local time) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetFileLength(System.String)">
            <summary>
            Gets the length of a file.
            </summary>
            <param name="path">The path to the file</param>
            <returns>The length in bytes</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.ClusterToOffset(System.Int64)">
            <summary>
            Converts a cluster (index) into an absolute byte position in the underlying stream.
            </summary>
            <param name="cluster">The cluster to convert</param>
            <returns>The corresponding absolute byte position.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.OffsetToCluster(System.Int64)">
            <summary>
            Converts an absolute byte position in the underlying stream to a cluster (index).
            </summary>
            <param name="offset">The byte position to convert</param>
            <returns>The cluster containing the specified byte</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.PathToClusters(System.String)">
            <summary>
            Converts a file name to the list of clusters occupied by the file's data.
            </summary>
            <param name="path">The path to inspect</param>
            <returns>The clusters as a list of cluster ranges</returns>
            <remarks>Note that in some file systems, small files may not have dedicated
            clusters.  Only dedicated clusters will be returned.</remarks>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.PathToExtents(System.String)">
            <summary>
            Converts a file name to the extents containing its data.
            </summary>
            <param name="path">The path to inspect</param>
            <returns>The file extents, as absolute byte positions in the underlying stream</returns>
            <remarks>Use this method with caution - NTFS supports encrypted, sparse and compressed files
            where bytes are not directly stored in extents.  Small files may be entirely stored in the 
            Master File Table, where corruption protection algorithms mean that some bytes do not contain
            the expected values.  This method merely indicates where file data is stored,
            not what's stored.  To access the contents of a file, use OpenFile.</remarks>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.BuildClusterMap">
            <summary>
            Gets an object that can convert between clusters and files.
            </summary>
            <returns>The cluster map</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.CreateHardLink(System.String,System.String)">
            <summary>
            Creates an NTFS hard link to an existing file.
            </summary>
            <param name="sourceName">An existing name of the file.</param>
            <param name="destinationName">The name of the new hard link to the file.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetHardLinkCount(System.String)">
            <summary>
            Gets the number of hard links to a given file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The number of hard links</returns>
            <remarks>All files have at least one hard link</remarks>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.HasHardLinks(System.String)">
            <summary>
            Indicates whether the file is known by other names.
            </summary>
            <param name="path">The file to inspect</param>
            <returns><c>true</c> if the file has other names, else <c>false</c></returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetSecurity(System.String)">
            <summary>
            Gets the security descriptor associated with the file or directory.
            </summary>
            <param name="path">The file or directory to inspect.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.SetSecurity(System.String,System.Security.AccessControl.RawSecurityDescriptor)">
            <summary>
            Sets the security descriptor associated with the file or directory.
            </summary>
            <param name="path">The file or directory to change.</param>
            <param name="securityDescriptor">The new security descriptor.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.SetReparsePoint(System.String,DiscUtils.ReparsePoint)">
            <summary>
            Sets the reparse point data on a file or directory.
            </summary>
            <param name="path">The file to set the reparse point on.</param>
            <param name="reparsePoint">The new reparse point.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetReparsePoint(System.String)">
            <summary>
            Gets the reparse point data associated with a file or directory.
            </summary>
            <param name="path">The file to query</param>
            <returns>The reparse point information</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.RemoveReparsePoint(System.String)">
            <summary>
            Removes a reparse point from a file or directory, without deleting the file or directory.
            </summary>
            <param name="path">The path to the file or directory to remove the reparse point from</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetShortName(System.String)">
            <summary>
            Gets the short name for a given path.
            </summary>
            <param name="path">The path to convert</param>
            <returns>The short name</returns>
            <remarks>
            This method only gets the short name for the final part of the path, to
            convert a complete path, call this method repeatedly, once for each path
            segment.  If there is no short name for the given path,<c>null</c> is
            returned.
            </remarks>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.SetShortName(System.String,System.String)">
            <summary>
            Sets the short name for a given file or directory.
            </summary>
            <param name="path">The full path to the file or directory to change.</param>
            <param name="shortName">The shortName, which should not include a path.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetFileStandardInformation(System.String)">
            <summary>
            Gets the standard file information for a file.
            </summary>
            <param name="path">The full path to the file or directory to query.</param>
            <returns>The standard file information</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.SetFileStandardInformation(System.String,DiscUtils.WindowsFileInformation)">
            <summary>
            Sets the standard file information for a file.
            </summary>
            <param name="path">The full path to the file or directory to query.</param>
            <param name="info">The standard file information</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetFileId(System.String)">
            <summary>
            Gets the file id for a given path.
            </summary>
            <param name="path">The path to get the id of</param>
            <returns>The file id</returns>
            <remarks>
            The returned file id includes the MFT index of the primary file record for the file.
            The file id can be used to determine if two paths refer to the same actual file.
            The MFT index is held in the lower 48 bits of the id.
            </remarks>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.GetAlternateDataStreams(System.String)">
            <summary>
            Gets the names of the alternate data streams for a file.
            </summary>
            <param name="path">The path to the file</param>
            <returns>
            The list of alternate data streams (or empty, if none).  To access the contents
            of the alternate streams, use OpenFile(path + ":" + name, ...).
            </returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.ReadBootCode">
            <summary>
            Reads the boot code of the file system into a byte array.
            </summary>
            <returns>The boot code, or <c>null</c> if not available</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.UpdateBiosGeometry(DiscUtils.Geometry)">
            <summary>
            Updates the BIOS Parameter Block (BPB) of the file system to reflect a new disk geometry.
            </summary>
            <param name="geometry">The disk's new BIOS geometry</param>
            <remarks>Having an accurate geometry in the BPB is essential for booting some Operating Systems (e.g. Windows XP)</remarks>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.Dump(System.IO.TextWriter,System.String)">
            <summary>
            Writes a diagnostic dump of key NTFS structures.
            </summary>
            <param name="writer">The writer to receive the dump.</param>
            <param name="linePrefix">The indent to apply to the start of each line of output.</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystem.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance
            </summary>
            <param name="disposing">Whether called from Dispose or from a finalizer</param>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsFileSystem.NtfsOptions">
            <summary>
            Gets the options that control how the file system is interpreted.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsFileSystem.FriendlyName">
            <summary>
            Gets the friendly name for the file system.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsFileSystem.CanWrite">
            <summary>
            Indicates if the file system supports write operations.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsFileSystem.ClusterSize">
            <summary>
            Gets the size of each cluster (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsFileSystem.TotalClusters">
            <summary>
            Gets the total number of clusters managed by the file system.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsFileSystem.VolumeLabel">
            <summary>
            Gets the volume label.
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.NtfsFileSystemChecker">
            <summary>
            Class that checks NTFS file system integrity.
            </summary>
            <remarks>Poor relation of chkdsk/fsck.</remarks>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystemChecker.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the NtfsFileSystemChecker class.
            </summary>
            <param name="diskData">The file system to check</param>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystemChecker.Check(System.IO.TextWriter,DiscUtils.ReportLevels)">
            <summary>
            Checks the integrity of an NTFS file system held in a stream.
            </summary>
            <param name="reportOutput">A report on issues found</param>
            <param name="levels">The amount of detail to report</param>
            <returns><c>true</c> if the file system appears valid, else <c>false</c></returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsFileSystemChecker.BuildClusterMap">
            <summary>
            Gets an object that can convert between clusters and files.
            </summary>
            <returns>The cluster map</returns>
        </member>
        <member name="T:DiscUtils.Ntfs.NtfsOptions">
            <summary>
            Class whose instances hold options controlling how <see cref="T:DiscUtils.Ntfs.NtfsFileSystem"/> works.
            </summary>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsOptions.ToString">
            <summary>
            Returns a string representation of the file system options.
            </summary>
            <returns>A string of the form Show: XX XX XX</returns>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsOptions.HideMetafiles">
            <summary>
            Gets or sets a value indicating whether to include file system meta-files when enumerating directories.
            </summary>
            <remarks>Meta-files are those with an MFT (Master File Table) index less than 24.</remarks>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsOptions.HideHiddenFiles">
            <summary>
            Gets or sets a value indicating whether to include hidden files when enumerating directories.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsOptions.HideSystemFiles">
            <summary>
            Gets or sets a value indicating whether to include system files when enumerating directories.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsOptions.HideDosFileNames">
            <summary>
            Gets or sets a value indicating whether to hide DOS (8.3-style) file names when enumerating directories.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsOptions.ShortNameCreation">
            <summary>
            Gets or sets a value indicating whether short (8.3) file names are created automatically.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsOptions.Compressor">
            <summary>
            Gets or sets the compression algorithm used for compressing files.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsOptions.ReadCacheEnabled">
            <summary>
            Gets or sets a value indicating whether NTFS-level read caching is used.
            </summary>
        </member>
        <member name="P:DiscUtils.Ntfs.NtfsOptions.FileLengthFromDirectoryEntries">
            <summary>
            Gets or sets a value indicating whether file length information comes from directory entries or file data.
            </summary>
            <remarks>
            <para>The default (<c>true</c>) is that file length information is supplied by the directory entry
            for a file.  In some circumstances that information may be inaccurate - specifically for files with multiple
            hard links, the directory entries are only updated for the hard link used to open the file.</para>
            <para>Setting this value to <c>false</c>, will always retrieve the latest information from the underlying
            NTFS attribute information, which reflects the true size of the file.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsStream.GetContent``1">
            <summary>
            Gets the content of a stream.
            </summary>
            <typeparam name="T">The stream's content structure</typeparam>
            <returns>The content.</returns>
        </member>
        <member name="M:DiscUtils.Ntfs.NtfsStream.SetContent``1(``0)">
            <summary>
            Sets the content of a stream.
            </summary>
            <typeparam name="T">The stream's content structure</typeparam>
            <param name="value">The new value for the stream</param>
        </member>
        <member name="P:DiscUtils.Ntfs.ResidentAttributeRecord.InitializedDataLength">
            <summary>
            The amount of initialized data in the attribute (in bytes)
            </summary>
        </member>
        <member name="T:DiscUtils.Ntfs.ShortFileNameOption">
            <summary>
            Controls whether short file names are created automatically.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.ShortFileNameOption.UseVolumeFlag">
            <summary>
            Creates short file names, unless they've been disabled in NTFS.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.ShortFileNameOption.Disabled">
            <summary>
            Does not create short names, ignoring the NTFS setting.
            </summary>
        </member>
        <member name="F:DiscUtils.Ntfs.ShortFileNameOption.Enabled">
            <summary>
            Always creates short names, ignoring the NTFS setting.
            </summary>
        </member>
        <member name="T:DiscUtils.ObjectCache`2">
            <summary>
            Caches objects.
            </summary>
            <typeparam name="K">The type of the object key</typeparam>
            <typeparam name="V">The type of the objects to cache</typeparam>
            <remarks>
            Can be use for two purposes - to ensure there is only one instance of a given object,
            and to prevent the need to recreate objects that are expensive to create.
            </remarks>
        </member>
        <member name="M:DiscUtils.OpticalDiscSharing.Disc.CreateDifferencingDisk(DiscUtils.DiscFileSystem,System.String)">
            <summary>
            Not supported for Optical Discs.
            </summary>
            <param name="fileSystem">The file system to create the disc on</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>Not Applicable</returns>
        </member>
        <member name="M:DiscUtils.OpticalDiscSharing.Disc.CreateDifferencingDisk(System.String)">
            <summary>
            Not supported for Optical Discs.
            </summary>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>Not Applicable</returns>
        </member>
        <member name="M:DiscUtils.OpticalDiscSharing.Disc.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing">Set to <c>true</c> if called within Dispose(),
            else <c>false</c>.</param>
        </member>
        <member name="P:DiscUtils.OpticalDiscSharing.Disc.Geometry">
            <summary>
            Gets the geometry of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.OpticalDiscSharing.Disc.DiskClass">
            <summary>
            Gets the type of disk represented by this object.
            </summary>
        </member>
        <member name="P:DiscUtils.OpticalDiscSharing.Disc.BlockSize">
            <summary>
            Gets the sector size of the disk (2048 for optical discs).
            </summary>
        </member>
        <member name="P:DiscUtils.OpticalDiscSharing.Disc.Capacity">
            <summary>
            Gets the capacity of the disc (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.OpticalDiscSharing.Disc.Content">
            <summary>
            Gets the content of the disc as a stream.
            </summary>
            <remarks>Note the returned stream is not guaranteed to be at any particular position.  The actual position
            will depend on the last partition table/file system activity, since all access to the disk contents pass
            through a single stream instance.  Set the stream position before accessing the stream.</remarks>
        </member>
        <member name="P:DiscUtils.OpticalDiscSharing.Disc.Layers">
            <summary>
            Gets the layers that make up the disc.
            </summary>
        </member>
        <member name="P:DiscUtils.OpticalDiscSharing.Disc.DiskTypeInfo">
            <summary>
            Gets information about the type of disk.
            </summary>
            <remarks>This property provides access to meta-data about the disk format, for example whether the
            BIOS geometry is preserved in the disk file.</remarks>
        </member>
        <member name="T:DiscUtils.OpticalDiscSharing.DiscInfo">
            <summary>
            Information about a shared Optical Disc.
            </summary>
        </member>
        <member name="P:DiscUtils.OpticalDiscSharing.DiscInfo.Name">
            <summary>
            Gets or sets the name of the disc (unique within an instance of OpticalDiscService).
            </summary>
        </member>
        <member name="P:DiscUtils.OpticalDiscSharing.DiscInfo.VolumeLabel">
            <summary>
            Gets or sets the displayable volume label for the disc.
            </summary>
        </member>
        <member name="P:DiscUtils.OpticalDiscSharing.DiscInfo.VolumeType">
            <summary>
            Gets or sets the volume type of the disc.
            </summary>
        </member>
        <member name="T:DiscUtils.OpticalDiscSharing.OpticalDiscService">
            <summary>
            Represents a particular Optical Disc Sharing service (typically a Mac or PC).
            </summary>
        </member>
        <member name="M:DiscUtils.OpticalDiscSharing.OpticalDiscService.Connect(System.String,System.String,System.Int32)">
            <summary>
            Connects to the service.
            </summary>
            <param name="userName">The username to use, if the owner of the Mac / PC is prompted.</param>
            <param name="computerName">The computer name to use, if the owner of the Mac / PC is prompted.</param>
            <param name="maxWaitSeconds">The maximum number of seconds to wait to be granted access.</param>
        </member>
        <member name="M:DiscUtils.OpticalDiscSharing.OpticalDiscService.OpenDisc(System.String)">
            <summary>
            Opens a shared optical disc as a virtual disk.
            </summary>
            <param name="name">The name of the disc, from the Name field of DiscInfo.</param>
            <returns>The virtual disk.</returns>
        </member>
        <member name="P:DiscUtils.OpticalDiscSharing.OpticalDiscService.DisplayName">
            <summary>
            Gets the display name of this service.
            </summary>
        </member>
        <member name="P:DiscUtils.OpticalDiscSharing.OpticalDiscService.AdvertisedDiscs">
            <summary>
            Gets information about the optical discs advertised by this service.
            </summary>
        </member>
        <member name="T:DiscUtils.OpticalDiscSharing.OpticalDiscServiceClient">
            <summary>
            Provides access to Optical Disc Sharing services.
            </summary>
        </member>
        <member name="M:DiscUtils.OpticalDiscSharing.OpticalDiscServiceClient.#ctor">
            <summary>
            Initializes a new instance of the OpticalDiscServiceClient class.
            </summary>
        </member>
        <member name="M:DiscUtils.OpticalDiscSharing.OpticalDiscServiceClient.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:DiscUtils.OpticalDiscSharing.OpticalDiscServiceClient.LookupServices">
            <summary>
            Looks up the ODS services advertised.
            </summary>
            <returns>A list of discovered ODS services.</returns>
        </member>
        <member name="M:DiscUtils.OpticalDiscSharing.OpticalDiscServiceClient.LookupServices(System.String)">
            <summary>
            Looks up the ODS services advertised in a domain.
            </summary>
            <param name="domain">The domain to look in</param>
            <returns>A list of discovered ODS services.</returns>
        </member>
        <member name="T:DiscUtils.Optical.Disc">
            <summary>
            Represents an optical disc image.
            </summary>
        </member>
        <member name="M:DiscUtils.Optical.Disc.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disc class.
            </summary>
            <param name="stream">The stream to read</param>
            <param name="ownsStream">Indicates if the new instance should control the lifetime of the stream.</param>
        </member>
        <member name="M:DiscUtils.Optical.Disc.#ctor(System.IO.Stream,DiscUtils.Ownership,DiscUtils.Optical.OpticalFormat)">
            <summary>
            Initializes a new instance of the Disc class.
            </summary>
            <param name="stream">The stream to read</param>
            <param name="ownsStream">Indicates if the new instance should control the lifetime of the stream.</param>
            <param name="format">The disk image format</param>
        </member>
        <member name="M:DiscUtils.Optical.Disc.#ctor(System.String)">
            <summary>
            Initializes a new instance of the Disc class.
            </summary>
            <param name="path">The path to the disc image</param>
        </member>
        <member name="M:DiscUtils.Optical.Disc.#ctor(System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the Disc class.
            </summary>
            <param name="path">The path to the disc image</param>
            <param name="access">The access requested to the disk</param>
        </member>
        <member name="M:DiscUtils.Optical.Disc.CreateDifferencingDisk(DiscUtils.DiscFileSystem,System.String)">
            <summary>
            Not supported for Optical Discs.
            </summary>
            <param name="fileSystem">The file system to create the disc on</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>Not Applicable</returns>
        </member>
        <member name="M:DiscUtils.Optical.Disc.CreateDifferencingDisk(System.String)">
            <summary>
            Not supported for Optical Discs.
            </summary>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>Not Applicable</returns>
        </member>
        <member name="M:DiscUtils.Optical.Disc.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing">Set to <c>true</c> if called within Dispose(),
            else <c>false</c>.</param>
        </member>
        <member name="P:DiscUtils.Optical.Disc.Geometry">
            <summary>
            Gets the geometry of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Optical.Disc.DiskClass">
            <summary>
            Gets the type of disk represented by this object.
            </summary>
        </member>
        <member name="P:DiscUtils.Optical.Disc.BlockSize">
            <summary>
            Gets the sector size of the disk (2048 for optical discs).
            </summary>
        </member>
        <member name="P:DiscUtils.Optical.Disc.Capacity">
            <summary>
            Gets the capacity of the disc (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Optical.Disc.Content">
            <summary>
            Gets the content of the disc as a stream.
            </summary>
            <remarks>Note the returned stream is not guaranteed to be at any particular position.  The actual position
            will depend on the last partition table/file system activity, since all access to the disk contents pass
            through a single stream instance.  Set the stream position before accessing the stream.</remarks>
        </member>
        <member name="P:DiscUtils.Optical.Disc.Layers">
            <summary>
            Gets the layers that make up the disc.
            </summary>
        </member>
        <member name="P:DiscUtils.Optical.Disc.DiskTypeInfo">
            <summary>
            Gets information about the type of disk.
            </summary>
            <remarks>This property provides access to meta-data about the disk format, for example whether the
            BIOS geometry is preserved in the disk file.</remarks>
        </member>
        <member name="T:DiscUtils.Optical.DiscImageFile">
            <summary>
            Represents a single optical disc image file.
            </summary>
        </member>
        <member name="M:DiscUtils.Optical.DiscImageFile.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the DiscImageFile class.
            </summary>
            <param name="stream">The stream to interpret</param>
        </member>
        <member name="M:DiscUtils.Optical.DiscImageFile.#ctor(System.IO.Stream,DiscUtils.Ownership,DiscUtils.Optical.OpticalFormat)">
            <summary>
            Initializes a new instance of the DiscImageFile class.
            </summary>
            <param name="stream">The stream to interpret</param>
            <param name="ownsStream">Indicates if the new instance should control the lifetime of the stream.</param>
            <param name="format">The disc image format</param>
        </member>
        <member name="M:DiscUtils.Optical.DiscImageFile.OpenContent(DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Gets the content of this layer.
            </summary>
            <param name="parent">The parent stream (if any)</param>
            <param name="ownsParent">Controls ownership of the parent stream</param>
            <returns>The content as a stream</returns>
        </member>
        <member name="M:DiscUtils.Optical.DiscImageFile.GetParentLocations">
            <summary>
            Gets the possible locations of the parent file (if any).
            </summary>
            <returns>Array of strings, empty if no parent</returns>
        </member>
        <member name="M:DiscUtils.Optical.DiscImageFile.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing">Set to <c>true</c> if called within Dispose(),
            else <c>false</c>.</param>
        </member>
        <member name="P:DiscUtils.Optical.DiscImageFile.IsSparse">
            <summary>
            Gets a value indicating if the layer only stores meaningful sectors.
            </summary>
        </member>
        <member name="P:DiscUtils.Optical.DiscImageFile.NeedsParent">
            <summary>
            Gets a value indicating whether the file is a differencing disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Optical.DiscImageFile.Geometry">
            <summary>
            Gets the Geometry of the disc.
            </summary>
            <remarks>
            Optical discs don't fit the CHS model, so dummy CHS data provided, but
            sector size is accurate.
            </remarks>
        </member>
        <member name="T:DiscUtils.Optical.Mode2Buffer">
            <summary>
            Interprets a Mode 2 image.
            </summary>
            <remarks>
            Effectively just strips the additional header / footer from the Mode 2 sector
            data - does not attempt to validate the information.
            </remarks>
        </member>
        <member name="T:DiscUtils.Optical.OpticalFormat">
            <summary>
            The format of the optical image file.
            </summary>
        </member>
        <member name="F:DiscUtils.Optical.OpticalFormat.None">
            <summary>
            Unspecified mode.
            </summary>
        </member>
        <member name="F:DiscUtils.Optical.OpticalFormat.Mode1">
            <summary>
            2048 bytes are stored for each 2048 bytes of data.
            </summary>
        </member>
        <member name="F:DiscUtils.Optical.OpticalFormat.Mode2">
            <summary>
            2352 bytes are stored for each 2048 bytes of data.
            </summary>
            <remarks>
            Commonly seen in .bin files.
            </remarks>
        </member>
        <member name="T:DiscUtils.Ownership">
            <summary>
            Enumeration used to indicate transfer of disposable objects.
            </summary>
        </member>
        <member name="F:DiscUtils.Ownership.None">
            <summary>
            Indicates there is no transfer of ownership.
            </summary>
        </member>
        <member name="F:DiscUtils.Ownership.Dispose">
            <summary>
            Indicates ownership of the stream is transfered, the owner should dispose of the stream when appropriate.
            </summary>
        </member>
        <member name="M:DiscUtils.Partitions.BiosExtendedPartitionTable.GetMetadataDiskExtents">
            <summary>
            Gets all of the disk ranges containing partition table data.
            </summary>
            <returns>Set of stream extents, indicated as byte offset from the start of the disk.</returns>
        </member>
        <member name="T:DiscUtils.Partitions.BiosPartitionedDiskBuilder">
            <summary>
            Builds a stream with the contents of a BIOS partitioned disk.
            </summary>
            <remarks>
            This class assembles a disk image dynamically in memory.  The
            constructed stream will read data from the partition content
            streams only when a client of this class tries to read from
            that partition.
            </remarks>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionedDiskBuilder.#ctor(System.Int64,DiscUtils.Geometry)">
            <summary>
            Initializes a new instance of the BiosPartitionedDiskBuilder class.
            </summary>
            <param name="capacity">The capacity of the disk (in bytes)</param>
            <param name="biosGeometry">The BIOS geometry of the disk</param>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionedDiskBuilder.#ctor(System.Int64,System.Byte[],DiscUtils.Geometry)">
            <summary>
            Initializes a new instance of the BiosPartitionedDiskBuilder class.
            </summary>
            <param name="capacity">The capacity of the disk (in bytes)</param>
            <param name="bootSectors">The boot sector(s) of the disk.</param>
            <param name="biosGeometry">The BIOS geometry of the disk.</param>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionedDiskBuilder.#ctor(DiscUtils.VirtualDisk)">
            <summary>
            Initializes a new instance of the BiosPartitionedDiskBuilder class by
            cloning the partition structure of a source disk.
            </summary>
            <param name="sourceDisk">The disk to clone</param>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionedDiskBuilder.SetPartitionContent(System.Int32,DiscUtils.SparseStream)">
            <summary>
            Sets a stream representing the content of a partition in the partition table.
            </summary>
            <param name="index">The index of the partition</param>
            <param name="stream">The stream with the contents of the partition</param>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionedDiskBuilder.UpdateBiosGeometry(DiscUtils.Geometry)">
            <summary>
            Updates the CHS fields in partition records to reflect a new BIOS geometry.
            </summary>
            <param name="geometry">The disk's new BIOS geometry</param>
            <remarks>The partitions are not relocated to a cylinder boundary, just the CHS fields are updated on the
            assumption the LBA fields are definitive.</remarks>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionedDiskBuilder.PartitionTable">
            <summary>
            Gets the partition table in the disk.
            </summary>
        </member>
        <member name="T:DiscUtils.Partitions.BiosPartitionInfo">
            <summary>
            Provides access to partition records in a BIOS (MBR) partition table.
            </summary>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionInfo.Open">
            <summary>
            Opens a stream to access the content of the partition.
            </summary>
            <returns>The new stream</returns>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionInfo.FirstSector">
            <summary>
            Gets the first sector of the partion (relative to start of disk) as a Logical Block Address.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionInfo.LastSector">
            <summary>
            Gets the last sector of the partion (relative to start of disk) as a Logical Block Address (inclusive).
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionInfo.GuidType">
            <summary>
            Always returns <see cref="T:System.Guid"/>.Empty.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionInfo.BiosType">
            <summary>
            Gets the type of the partition.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionInfo.TypeAsString">
            <summary>
            Gets the type of the partition as a string.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionInfo.IsActive">
            <summary>
            Gets a value indicating whether this partition is active (bootable).
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionInfo.Start">
            <summary>
            Gets the start of the partition as a CHS address.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionInfo.End">
            <summary>
            Gets the end (inclusive) of the partition as a CHS address.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionInfo.PrimaryIndex">
            <summary>
            Gets the index of the partition in the primary partition table, or <c>-1</c> if not a primary partition.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionInfo.IsPrimary">
            <summary>
            Gets a value indicating whether the partition is a primary (rather than extended) partition.
            </summary>
        </member>
        <member name="T:DiscUtils.Partitions.BiosPartitionTable">
            <summary>
            Represents a BIOS (MBR) Partition Table.
            </summary>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.#ctor(DiscUtils.VirtualDisk)">
            <summary>
            Initializes a new instance of the BiosPartitionTable class.
            </summary>
            <param name="disk">The disk containing the partition table</param>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.#ctor(System.IO.Stream,DiscUtils.Geometry)">
            <summary>
            Initializes a new instance of the BiosPartitionTable class.
            </summary>
            <param name="disk">The stream containing the disk data</param>
            <param name="diskGeometry">The geometry of the disk</param>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.DetectGeometry(System.IO.Stream)">
            <summary>
            Makes a best guess at the geometry of a disk.
            </summary>
            <param name="disk">String containing the disk image to detect the geometry from</param>
            <returns>The detected geometry</returns>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.IsValid(System.IO.Stream)">
            <summary>
            Indicates if a stream contains a valid partition table.
            </summary>
            <param name="disk">The stream to inspect</param>
            <returns><c>true</c> if the partition table is valid, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.Initialize(DiscUtils.VirtualDisk)">
            <summary>
            Creates a new partition table on a disk.
            </summary>
            <param name="disk">The disk to initialize.</param>
            <returns>An object to access the newly created partition table</returns>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.Initialize(DiscUtils.VirtualDisk,DiscUtils.Partitions.WellKnownPartitionType)">
            <summary>
            Creates a new partition table on a disk containing a single partition.
            </summary>
            <param name="disk">The disk to initialize.</param>
            <param name="type">The partition type for the single partition</param>
            <returns>An object to access the newly created partition table</returns>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.Initialize(System.IO.Stream,DiscUtils.Geometry)">
            <summary>
            Creates a new partition table on a disk.
            </summary>
            <param name="disk">The stream containing the disk data</param>
            <param name="diskGeometry">The geometry of the disk</param>
            <returns>An object to access the newly created partition table</returns>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.Create(DiscUtils.Partitions.WellKnownPartitionType,System.Boolean)">
            <summary>
            Creates a new partition that encompasses the entire disk.
            </summary>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <returns>The index of the partition</returns>
            <remarks>The partition table must be empty before this method is called,
            otherwise IOException is thrown.</remarks>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.Create(System.Int64,DiscUtils.Partitions.WellKnownPartitionType,System.Boolean)">
            <summary>
            Creates a new primary partition with a target size.
            </summary>
            <param name="size">The target size (in bytes)</param>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <returns>The index of the new partition</returns>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.CreateAligned(DiscUtils.Partitions.WellKnownPartitionType,System.Boolean,System.Int32)">
            <summary>
            Creates a new aligned partition that encompasses the entire disk.
            </summary>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <param name="alignment">The alignment (in bytes)</param>
            <returns>The index of the partition</returns>
            <remarks>The partition table must be empty before this method is called,
            otherwise IOException is thrown.</remarks>
            <remarks>
            Traditionally partitions were aligned to the physical structure of the underlying disk,
            however with modern storage greater efficiency is acheived by aligning partitions on
            large values that are a power of two.
            </remarks>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.CreateAligned(System.Int64,DiscUtils.Partitions.WellKnownPartitionType,System.Boolean,System.Int32)">
            <summary>
            Creates a new aligned partition with a target size.
            </summary>
            <param name="size">The target size (in bytes)</param>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <param name="alignment">The alignment (in bytes)</param>
            <returns>The index of the new partition</returns>
            <remarks>
            Traditionally partitions were aligned to the physical structure of the underlying disk,
            however with modern storage greater efficiency is acheived by aligning partitions on
            large values that are a power of two.
            </remarks>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.Delete(System.Int32)">
            <summary>
            Deletes a partition at a given index.
            </summary>
            <param name="index">The index of the partition</param>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.CreatePrimaryByCylinder(System.Int32,System.Int32,System.Byte,System.Boolean)">
            <summary>
            Creates a new Primary Partition that occupies whole cylinders, for best compatibility.
            </summary>
            <param name="first">The first cylinder to include in the partition (inclusive)</param>
            <param name="last">The last cylinder to include in the partition (inclusive)</param>
            <param name="type">The BIOS (MBR) type of the new partition</param>
            <param name="markActive">Whether to mark the partition active (bootable)</param>
            <returns>The index of the new partition</returns>
            <remarks>If the cylinder 0 is given, the first track will not be used, to reserve space
            for the meta-data at the start of the disk.</remarks>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.CreatePrimaryBySector(System.Int64,System.Int64,System.Byte,System.Boolean)">
            <summary>
            Creates a new Primary Partition, specified by Logical Block Addresses.
            </summary>
            <param name="first">The LBA address of the first sector (inclusive)</param>
            <param name="last">The LBA address of the last sector (inclusive)</param>
            <param name="type">The BIOS (MBR) type of the new partition</param>
            <param name="markActive">Whether to mark the partition active (bootable)</param>
            <returns>The index of the new partition</returns>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.SetActivePartition(System.Int32)">
            <summary>
            Sets the active partition.
            </summary>
            <param name="index">The index of the primary partition to mark bootable, or <c>-1</c> for none</param>
            <remarks>The supplied index is the index within the primary partition, see <c>PrimaryIndex</c> on <c>BiosPartitionInfo</c>.</remarks>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.GetMetadataDiskExtents">
            <summary>
            Gets all of the disk ranges containing partition table metadata.
            </summary>
            <returns>Set of stream extents, indicated as byte offset from the start of the disk.</returns>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTable.UpdateBiosGeometry(DiscUtils.Geometry)">
            <summary>
            Updates the CHS fields in partition records to reflect a new BIOS geometry.
            </summary>
            <param name="geometry">The disk's new BIOS geometry</param>
            <remarks>The partitions are not relocated to a cylinder boundary, just the CHS fields are updated on the
            assumption the LBA fields are definitive.</remarks>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionTable.DiskGuid">
            <summary>
            Gets the GUID that uniquely identifies this disk, if supported (else returns <c>null</c>).
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionTable.BiosUserPartitions">
            <summary>
            Gets a collection of the partitions for storing Operating System file-systems.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.BiosPartitionTable.Partitions">
            <summary>
            Gets a collection of the partitions for storing Operating System file-systems.
            </summary>
        </member>
        <member name="T:DiscUtils.Partitions.BiosPartitionTypes">
            <summary>
            Convenient access to well-known BIOS (MBR) Partition Types.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.Fat12">
            <summary>
            Microsoft FAT12 (fewer than 32,680 sectors in the volume).
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.Fat16Small">
            <summary>
            Microsoft FAT16 (32,680–65,535 sectors or 16 MB–33 MB).
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.Extended">
            <summary>
            Extended Partition (contains other partitions).
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.Fat16">
            <summary>
            Microsoft BIGDOS FAT16 (33 MB–4 GB).
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.Ntfs">
            <summary>
            Installable File System (NTFS).
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.Fat32">
            <summary>
            Microsoft FAT32.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.Fat32Lba">
            <summary>
            Microsoft FAT32, accessed using Int13h BIOS LBA extensions.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.Fat16Lba">
            <summary>
            Microsoft BIGDOS FAT16, accessed using Int13h BIOS LBA extensions.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.ExtendedLba">
            <summary>
            Extended Partition (contains other partitions), accessed using Int13h BIOS LBA extensions.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.WindowsDynamicVolume">
            <summary>
            Windows Logical Disk Manager dynamic volume.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.LinuxSwap">
            <summary>
            Linux Swap.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.LinuxNative">
            <summary>
            Linux Native (ext2 and friends).
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.LinuxLvm">
            <summary>
            Linux Logical Volume Manager (LVM).
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.GptProtective">
            <summary>
            GUID Partition Table (GPT) protective partition, fills entire disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.BiosPartitionTypes.EfiSystem">
            <summary>
            EFI System partition on an MBR disk.
            </summary>
        </member>
        <member name="M:DiscUtils.Partitions.BiosPartitionTypes.ToString(System.Byte)">
            <summary>
            Provides a string representation of some known BIOS partition types.
            </summary>
            <param name="type">The partition type to represent as a string.</param>
            <returns>The string representation</returns>
        </member>
        <member name="T:DiscUtils.Partitions.GuidPartitionInfo">
            <summary>
            Provides access to partition records in a GUID partition table.
            </summary>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionInfo.Open">
            <summary>
            Opens a stream to access the content of the partition.
            </summary>
            <returns>The new stream</returns>
        </member>
        <member name="P:DiscUtils.Partitions.GuidPartitionInfo.FirstSector">
            <summary>
            Gets the first sector of the partion (relative to start of disk) as a Logical Block Address.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.GuidPartitionInfo.LastSector">
            <summary>
            Gets the last sector of the partion (relative to start of disk) as a Logical Block Address (inclusive).
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.GuidPartitionInfo.GuidType">
            <summary>
            Gets the type of the partition, as a GUID.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.GuidPartitionInfo.BiosType">
            <summary>
            Always returns Zero.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.GuidPartitionInfo.TypeAsString">
            <summary>
            Gets the type of the partition as a string.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.GuidPartitionInfo.Name">
            <summary>
            Gets the name of the partition.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.GuidPartitionInfo.Attributes">
            <summary>
            Gets the attributes of the partition.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.GuidPartitionInfo.Identity">
            <summary>
            Gets the unique identity of this specific partition.
            </summary>
        </member>
        <member name="T:DiscUtils.Partitions.GuidPartitionTable">
            <summary>
            Represents a GUID Partition Table.
            </summary>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionTable.#ctor(DiscUtils.VirtualDisk)">
            <summary>
            Initializes a new instance of the GuidPartitionTable class.
            </summary>
            <param name="disk">The disk containing the partition table</param>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionTable.#ctor(System.IO.Stream,DiscUtils.Geometry)">
            <summary>
            Initializes a new instance of the GuidPartitionTable class.
            </summary>
            <param name="disk">The stream containing the disk data</param>
            <param name="diskGeometry">The geometry of the disk</param>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionTable.Initialize(DiscUtils.VirtualDisk)">
            <summary>
            Creates a new partition table on a disk.
            </summary>
            <param name="disk">The disk to initialize.</param>
            <returns>An object to access the newly created partition table</returns>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionTable.Initialize(System.IO.Stream,DiscUtils.Geometry)">
            <summary>
            Creates a new partition table on a disk.
            </summary>
            <param name="disk">The stream containing the disk data</param>
            <param name="diskGeometry">The geometry of the disk</param>
            <returns>An object to access the newly created partition table</returns>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionTable.Initialize(DiscUtils.VirtualDisk,DiscUtils.Partitions.WellKnownPartitionType)">
            <summary>
            Creates a new partition table on a disk containing a single partition.
            </summary>
            <param name="disk">The disk to initialize.</param>
            <param name="type">The partition type for the single partition</param>
            <returns>An object to access the newly created partition table</returns>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionTable.Create(DiscUtils.Partitions.WellKnownPartitionType,System.Boolean)">
            <summary>
            Creates a new partition that encompasses the entire disk.
            </summary>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <returns>The index of the partition</returns>
            <remarks>The partition table must be empty before this method is called,
            otherwise IOException is thrown.</remarks>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionTable.Create(System.Int64,DiscUtils.Partitions.WellKnownPartitionType,System.Boolean)">
            <summary>
            Creates a new primary partition with a target size.
            </summary>
            <param name="size">The target size (in bytes)</param>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <returns>The index of the new partition</returns>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionTable.CreateAligned(DiscUtils.Partitions.WellKnownPartitionType,System.Boolean,System.Int32)">
            <summary>
            Creates a new aligned partition that encompasses the entire disk.
            </summary>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <param name="alignment">The alignment (in bytes)</param>
            <returns>The index of the partition</returns>
            <remarks>The partition table must be empty before this method is called,
            otherwise IOException is thrown.</remarks>
            <remarks>
            Traditionally partitions were aligned to the physical structure of the underlying disk,
            however with modern storage greater efficiency is acheived by aligning partitions on
            large values that are a power of two.
            </remarks>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionTable.CreateAligned(System.Int64,DiscUtils.Partitions.WellKnownPartitionType,System.Boolean,System.Int32)">
            <summary>
            Creates a new aligned partition with a target size.
            </summary>
            <param name="size">The target size (in bytes)</param>
            <param name="type">The partition type</param>
            <param name="active">Whether the partition is active (bootable)</param>
            <param name="alignment">The alignment (in bytes)</param>
            <returns>The index of the new partition</returns>
            <remarks>
            Traditionally partitions were aligned to the physical structure of the underlying disk,
            however with modern storage greater efficiency is acheived by aligning partitions on
            large values that are a power of two.
            </remarks>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionTable.Create(System.Int64,System.Int64,System.Guid,System.Int64,System.String)">
            <summary>
            Creates a new GUID partition on the disk.
            </summary>
            <param name="startSector">The first sector of the partition.</param>
            <param name="endSector">The last sector of the partition.</param>
            <param name="type">The partition type</param>
            <param name="attributes">The partition attributes</param>
            <param name="name">The name of the partition</param>
            <returns>The index of the new partition</returns>
            <remarks>No checking is performed on the parameters, the caller is
            responsible for ensuring that the partition does not overlap other partitions.</remarks>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionTable.Delete(System.Int32)">
            <summary>
            Deletes a partition at a given index.
            </summary>
            <param name="index">The index of the partition</param>
        </member>
        <member name="P:DiscUtils.Partitions.GuidPartitionTable.FirstUsableSector">
            <summary>
            Gets the first sector of the disk available to hold partitions.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.GuidPartitionTable.LastUsableSector">
            <summary>
            Gets the last sector of the disk available to hold partitions.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.GuidPartitionTable.DiskGuid">
            <summary>
            Gets the unique GPT identifier for this disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Partitions.GuidPartitionTable.Partitions">
            <summary>
            Gets a collection of the partitions for storing Operating System file-systems.
            </summary>
        </member>
        <member name="T:DiscUtils.Partitions.GuidPartitionTypes">
            <summary>
            Convenient access to well known GPT partition types.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.GuidPartitionTypes.EfiSystem">
            <summary>
            EFI system partition.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.GuidPartitionTypes.BiosBoot">
            <summary>
            BIOS boot partition.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.GuidPartitionTypes.MicrosoftReserved">
            <summary>
            Microsoft reserved partition.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.GuidPartitionTypes.WindowsBasicData">
            <summary>
            Windows basic data partition.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.GuidPartitionTypes.LinuxLvm">
            <summary>
            Linux LVM partition.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.GuidPartitionTypes.LinuxSwap">
            <summary>
            Linux swap partition.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.GuidPartitionTypes.WindowsLdmMetadata">
            <summary>
            Windows Logical Disk Manager metadata.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.GuidPartitionTypes.WindowsLdmData">
            <summary>
            Windows Logical Disk Manager data.
            </summary>
        </member>
        <member name="M:DiscUtils.Partitions.GuidPartitionTypes.Convert(DiscUtils.Partitions.WellKnownPartitionType)">
            <summary>
            Converts a well known partition type to a Guid.
            </summary>
            <param name="wellKnown">The value to convert</param>
            <returns>The GUID value</returns>
        </member>
        <member name="T:DiscUtils.Partitions.WellKnownPartitionType">
            <summary>
            Enumeration of partition-table technology neutral partition types.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.WellKnownPartitionType.WindowsFat">
            <summary>
            Windows FAT-based partition.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.WellKnownPartitionType.WindowsNtfs">
            <summary>
            Windows NTFS-based partition.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.WellKnownPartitionType.Linux">
            <summary>
            Linux native file system.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.WellKnownPartitionType.LinuxSwap">
            <summary>
            Linux swap.
            </summary>
        </member>
        <member name="F:DiscUtils.Partitions.WellKnownPartitionType.LinuxLvm">
            <summary>
            Linux Logical Volume Manager (LVM).
            </summary>
        </member>
        <member name="T:DiscUtils.PhysicalVolumeType">
            <summary>
            Enumeration of possible types of physical volume.
            </summary>
        </member>
        <member name="F:DiscUtils.PhysicalVolumeType.None">
            <summary>
            Unknown type.
            </summary>
        </member>
        <member name="F:DiscUtils.PhysicalVolumeType.EntireDisk">
            <summary>
            Physical volume encompasses the entire disk.
            </summary>
        </member>
        <member name="F:DiscUtils.PhysicalVolumeType.BiosPartition">
            <summary>
            Physical volume is defined by a BIOS-style partition table.
            </summary>
        </member>
        <member name="F:DiscUtils.PhysicalVolumeType.GptPartition">
            <summary>
            Physical volume is defined by a GUID partition table.
            </summary>
        </member>
        <member name="F:DiscUtils.PhysicalVolumeType.ApplePartition">
            <summary>
            Physical volume is defined by an Apple partition map.
            </summary>
        </member>
        <member name="T:DiscUtils.PhysicalVolumeInfo">
            <summary>
            Information about a physical disk volume, which may be a partition or an entire disk.
            </summary>
        </member>
        <member name="M:DiscUtils.PhysicalVolumeInfo.#ctor(System.String,DiscUtils.VirtualDisk,DiscUtils.Partitions.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>
        </member>
        <member name="M:DiscUtils.PhysicalVolumeInfo.#ctor(System.String,DiscUtils.VirtualDisk)">
            <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>
        </member>
        <member name="M:DiscUtils.PhysicalVolumeInfo.Open">
            <summary>
            Opens the volume, providing access to its contents.
            </summary>
            <returns>A stream that can be used to access the volume.</returns>
        </member>
        <member name="P:DiscUtils.PhysicalVolumeInfo.VolumeType">
            <summary>
            Gets the type of the volume.
            </summary>
        </member>
        <member name="P:DiscUtils.PhysicalVolumeInfo.DiskSignature">
            <summary>
            Gets the signature of the disk containing the volume (only valid for partition-type volumes).
            </summary>
        </member>
        <member name="P:DiscUtils.PhysicalVolumeInfo.DiskIdentity">
            <summary>
            Gets the unique identity of the disk containing the volume, if known.
            </summary>
        </member>
        <member name="P:DiscUtils.PhysicalVolumeInfo.BiosType">
            <summary>
            Gets the one-byte BIOS type for this volume, which indicates the content.
            </summary>
        </member>
        <member name="P:DiscUtils.PhysicalVolumeInfo.Length">
            <summary>
            Gets the size of the volume, in bytes.
            </summary>
        </member>
        <member name="P:DiscUtils.PhysicalVolumeInfo.Identity">
            <summary>
            Gets the stable identity for this physical volume.
            </summary>
            <remarks>The stability of the identity depends the disk structure.
            In some cases the identity may include a simple index, when no other information
            is available.  Best practice is to add disks to the Volume Manager in a stable 
            order, if the stability of this identity is paramount.</remarks>
        </member>
        <member name="P:DiscUtils.PhysicalVolumeInfo.PhysicalGeometry">
            <summary>
            Gets the disk geometry of the underlying storage medium, if any (may be null).
            </summary>
        </member>
        <member name="P:DiscUtils.PhysicalVolumeInfo.BiosGeometry">
            <summary>
            Gets the disk geometry of the underlying storage medium (as used in BIOS calls), may be null.
            </summary>
        </member>
        <member name="P:DiscUtils.PhysicalVolumeInfo.PhysicalStartSector">
            <summary>
            Gets the offset of this volume in the underlying storage medium, if any (may be Zero).
            </summary>
        </member>
        <member name="P:DiscUtils.PhysicalVolumeInfo.PartitionIdentity">
            <summary>
            Gets the unique identity of the physical partition, if known.
            </summary>
        </member>
        <member name="P:DiscUtils.PhysicalVolumeInfo.Partition">
            <summary>
            Gets the underlying partition (if any).
            </summary>
        </member>
        <member name="T:DiscUtils.PumpProgressEventArgs">
            <summary>
            Event arguments indicating progress on pumping a stream.
            </summary>
        </member>
        <member name="P:DiscUtils.PumpProgressEventArgs.BytesRead">
            <summary>
            Gets or sets the number of bytes read from <c>InputStream</c>.
            </summary>
        </member>
        <member name="P:DiscUtils.PumpProgressEventArgs.BytesWritten">
            <summary>
            Gets or sets the number of bytes written to <c>OutputStream</c>.
            </summary>
        </member>
        <member name="P:DiscUtils.PumpProgressEventArgs.SourcePosition">
            <summary>
            Gets or sets the absolute position in <c>InputStream</c>.
            </summary>
        </member>
        <member name="P:DiscUtils.PumpProgressEventArgs.DestinationPosition">
            <summary>
            Gets or sets the absolute position in <c>OutputStream</c>.
            </summary>
        </member>
        <member name="T:DiscUtils.Range`2">
            <summary>
            Represents a range of values.
            </summary>
            <typeparam name="TOffset">The type of the offset element</typeparam>
            <typeparam name="TCount">The type of the size element</typeparam>
        </member>
        <member name="M:DiscUtils.Range`2.#ctor(`0,`1)">
            <summary>
            Initializes a new instance of the Range class.
            </summary>
            <param name="offset">The offset (i.e. start) of the range</param>
            <param name="count">The size of the range</param>
        </member>
        <member name="M:DiscUtils.Range`2.Chunked``1(System.Collections.Generic.IEnumerable{DiscUtils.Range{``0,``0}},``0)">
            <summary>
            Merges sets of ranges into chunks.
            </summary>
            <param name="ranges">The ranges to merge</param>
            <param name="chunkSize">The size of each chunk</param>
            <returns>Ranges combined into larger chunks</returns>
            <typeparam name="T">The type of the offset and count in the ranges</typeparam>
        </member>
        <member name="M:DiscUtils.Range`2.ToString">
            <summary>
            Returns a string representation of the extent as [start:+length].
            </summary>
            <returns>The string representation</returns>
        </member>
        <member name="M:DiscUtils.Range`2.Equals(DiscUtils.Range{`0,`1})">
            <summary>
            Compares this range to another.
            </summary>
            <param name="other">The range to compare</param>
            <returns><c>true</c> if the ranges are equivalent, else <c>false</c>.</returns>
        </member>
        <member name="P:DiscUtils.Range`2.Offset">
            <summary>
            Gets the offset (i.e. start) of the range
            </summary>
        </member>
        <member name="P:DiscUtils.Range`2.Count">
            <summary>
            Gets the size of the range.
            </summary>
        </member>
        <member name="T:DiscUtils.Raw.Disk">
            <summary>
            Represents a raw disk image.
            </summary>
            <remarks>This disk format is simply an uncompressed capture of all blocks on a disk</remarks>
        </member>
        <member name="M:DiscUtils.Raw.Disk.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disk class.
            </summary>
            <param name="stream">The stream to read</param>
            <param name="ownsStream">Indicates if the new instance should control the lifetime of the stream.</param>
        </member>
        <member name="M:DiscUtils.Raw.Disk.#ctor(System.IO.Stream,DiscUtils.Ownership,DiscUtils.Geometry)">
            <summary>
            Initializes a new instance of the Disk class.
            </summary>
            <param name="stream">The stream to read</param>
            <param name="ownsStream">Indicates if the new instance should control the lifetime of the stream.</param>
            <param name="geometry">The emulated geometry of the disk.</param>
        </member>
        <member name="M:DiscUtils.Raw.Disk.#ctor(System.String)">
            <summary>
            Initializes a new instance of the Disk class.
            </summary>
            <param name="path">The path to the disk image</param>
        </member>
        <member name="M:DiscUtils.Raw.Disk.#ctor(System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the Disk class.
            </summary>
            <param name="path">The path to the disk image</param>
            <param name="access">The access requested to the disk</param>
        </member>
        <member name="M:DiscUtils.Raw.Disk.#ctor(DiscUtils.Raw.DiskImageFile)">
            <summary>
            Initializes a new instance of the Disk class.
            </summary>
            <param name="file">The contents of the disk.</param>
        </member>
        <member name="M:DiscUtils.Raw.Disk.Initialize(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as an unformatted disk.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a disk</returns>
        </member>
        <member name="M:DiscUtils.Raw.Disk.Initialize(System.IO.Stream,DiscUtils.Ownership,System.Int64,DiscUtils.Geometry)">
            <summary>
            Initializes a stream as an unformatted disk.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <returns>An object that accesses the stream as a disk</returns>
        </member>
        <member name="M:DiscUtils.Raw.Disk.Initialize(System.IO.Stream,DiscUtils.Ownership,DiscUtils.FloppyDiskType)">
            <summary>
            Initializes a stream as an unformatted floppy disk.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="type">The type of floppy disk image to create</param>
            <returns>An object that accesses the stream as a disk</returns>
        </member>
        <member name="M:DiscUtils.Raw.Disk.CreateDifferencingDisk(DiscUtils.DiscFileSystem,System.String)">
            <summary>
            Create a new differencing disk, possibly within an existing disk.
            </summary>
            <param name="fileSystem">The file system to create the disk on</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Raw.Disk.CreateDifferencingDisk(System.String)">
            <summary>
            Create a new differencing disk.
            </summary>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Raw.Disk.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing">Set to <c>true</c> if called within Dispose(),
            else <c>false</c>.</param>
        </member>
        <member name="P:DiscUtils.Raw.Disk.Geometry">
            <summary>
            Gets the geometry of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Raw.Disk.DiskClass">
            <summary>
            Gets the type of disk represented by this object.
            </summary>
        </member>
        <member name="P:DiscUtils.Raw.Disk.Capacity">
            <summary>
            Gets the capacity of the disk (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Raw.Disk.Content">
            <summary>
            Gets the content of the disk as a stream.
            </summary>
            <remarks>Note the returned stream is not guaranteed to be at any particular position.  The actual position
            will depend on the last partition table/file system activity, since all access to the disk contents pass
            through a single stream instance.  Set the stream position before accessing the stream.</remarks>
        </member>
        <member name="P:DiscUtils.Raw.Disk.Layers">
            <summary>
            Gets the layers that make up the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Raw.Disk.DiskTypeInfo">
            <summary>
            Gets information about the type of disk.
            </summary>
            <remarks>This property provides access to meta-data about the disk format, for example whether the
            BIOS geometry is preserved in the disk file.</remarks>
        </member>
        <member name="T:DiscUtils.Raw.DiskImageFile">
            <summary>
            Represents a single raw disk image file.
            </summary>
        </member>
        <member name="M:DiscUtils.Raw.DiskImageFile.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="stream">The stream to interpret</param>
        </member>
        <member name="M:DiscUtils.Raw.DiskImageFile.#ctor(System.IO.Stream,DiscUtils.Ownership,DiscUtils.Geometry)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="stream">The stream to interpret</param>
            <param name="ownsStream">Indicates if the new instance should control the lifetime of the stream.</param>
            <param name="geometry">The emulated geometry of the disk.</param>
        </member>
        <member name="M:DiscUtils.Raw.DiskImageFile.Initialize(System.IO.Stream,DiscUtils.Ownership,System.Int64,DiscUtils.Geometry)">
            <summary>
            Initializes a stream as a raw disk image.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The geometry of the new disk</param>
            <returns>An object that accesses the stream as a raw disk image</returns>
        </member>
        <member name="M:DiscUtils.Raw.DiskImageFile.Initialize(System.IO.Stream,DiscUtils.Ownership,DiscUtils.FloppyDiskType)">
            <summary>
            Initializes a stream as an unformatted floppy disk.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="type">The type of floppy disk image to create</param>
            <returns>An object that accesses the stream as a disk</returns>
        </member>
        <member name="M:DiscUtils.Raw.DiskImageFile.OpenContent(DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Gets the content of this layer.
            </summary>
            <param name="parent">The parent stream (if any)</param>
            <param name="ownsParent">Controls ownership of the parent stream</param>
            <returns>The content as a stream</returns>
        </member>
        <member name="M:DiscUtils.Raw.DiskImageFile.GetParentLocations">
            <summary>
            Gets the possible locations of the parent file (if any).
            </summary>
            <returns>Array of strings, empty if no parent</returns>
        </member>
        <member name="M:DiscUtils.Raw.DiskImageFile.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing">Set to <c>true</c> if called within Dispose(),
            else <c>false</c>.</param>
        </member>
        <member name="M:DiscUtils.Raw.DiskImageFile.DetectGeometry(System.IO.Stream)">
            <summary>
            Calculates the best guess geometry of a disk.
            </summary>
            <param name="disk">The disk to detect the geometry of</param>
            <returns>The geometry of the disk</returns>
        </member>
        <member name="M:DiscUtils.Raw.DiskImageFile.DetectDiskType(System.Int64)">
            <summary>
            Calculates the best guess disk type (i.e. floppy or hard disk)
            </summary>
            <param name="capacity">The capacity of the disk</param>
            <returns>The disk type</returns>
        </member>
        <member name="P:DiscUtils.Raw.DiskImageFile.Geometry">
            <summary>
            Gets the geometry of the file.
            </summary>
        </member>
        <member name="P:DiscUtils.Raw.DiskImageFile.IsSparse">
            <summary>
            Gets a value indicating if the layer only stores meaningful sectors.
            </summary>
        </member>
        <member name="P:DiscUtils.Raw.DiskImageFile.NeedsParent">
            <summary>
            Gets a value indicating whether the file is a differencing disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Raw.DiskImageFile.DiskType">
            <summary>
            Gets the type of disk represented by this object.
            </summary>
        </member>
        <member name="T:DiscUtils.ReadOnlyDiscFileSystem">
            <summary>
            Base class for file systems that are by their nature read-only, causes NotSupportedException to be thrown
            from all methods that are always invalid.
            </summary>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.#ctor">
            <summary>
            Initializes a new instance of the ReadOnlyDiscFileSystem class.
            </summary>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.#ctor(DiscUtils.DiscFileSystemOptions)">
            <summary>
            Initializes a new instance of the ReadOnlyDiscFileSystem class.
            </summary>
            <param name="defaultOptions">The options instance to use for this file system instance.</param>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.CopyFile(System.String,System.String,System.Boolean)">
            <summary>
            Copies a file - not supported on read-only file systems.
            </summary>
            <param name="sourceFile">The source file</param>
            <param name="destinationFile">The destination file</param>
            <param name="overwrite">Whether to permit over-writing of an existing file.</param>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.CreateDirectory(System.String)">
            <summary>
            Creates a directory - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the new directory</param>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.DeleteDirectory(System.String)">
            <summary>
            Deletes a directory - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the directory to delete.</param>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.DeleteFile(System.String)">
            <summary>
            Deletes a file - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the file to delete.</param>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.MoveDirectory(System.String,System.String)">
            <summary>
            Moves a directory - not supported on read-only file systems.
            </summary>
            <param name="sourceDirectoryName">The directory to move.</param>
            <param name="destinationDirectoryName">The target directory name.</param>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.MoveFile(System.String,System.String,System.Boolean)">
            <summary>
            Moves a file - not supported on read-only file systems.
            </summary>
            <param name="sourceName">The file to move.</param>
            <param name="destinationName">The target file name.</param>
            <param name="overwrite">Whether to allow an existing file to be overwritten</param>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.OpenFile(System.String,System.IO.FileMode)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.SetAttributes(System.String,System.IO.FileAttributes)">
            <summary>
            Sets the attributes of a file or directory - not supported on read-only file systems.
            </summary>
            <param name="path">The file or directory to change</param>
            <param name="newValue">The new attributes of the file or directory</param>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.SetCreationTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the creation time (in UTC) of a file or directory - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.SetLastAccessTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last access time (in UTC) of a file or directory - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="M:DiscUtils.ReadOnlyDiscFileSystem.SetLastWriteTimeUtc(System.String,System.DateTime)">
            <summary>
            Sets the last modification time (in UTC) of a file or directory - not supported on read-only file systems.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <param name="newTime">The new time to set.</param>
        </member>
        <member name="P:DiscUtils.ReadOnlyDiscFileSystem.CanWrite">
            <summary>
            Indicates whether the file system is read-only or read-write.
            </summary>
            <returns>Always false.</returns>
        </member>
        <member name="T:DiscUtils.Registry.Bin">
            <summary>
            An internal structure within registry files, bins are the major unit of allocation in a registry hive.
            </summary>
            <remarks>Bins are divided into multiple cells, that contain actual registry data.</remarks>
        </member>
        <member name="T:DiscUtils.Registry.Cell">
            <summary>
            Base class for the different kinds of cell present in a hive.
            </summary>
        </member>
        <member name="M:DiscUtils.Registry.ListCell.FindKey(System.String,System.Int32@)">
            <summary>
            Searches for a key with a given name.
            </summary>
            <param name="name">The name to search for</param>
            <param name="cellIndex">The index of the cell, if found</param>
            <returns>The search result</returns>
        </member>
        <member name="M:DiscUtils.Registry.ListCell.EnumerateKeys(System.Collections.Generic.List{System.String})">
            <summary>
            Enumerates all of the keys in the list.
            </summary>
            <param name="names">The list to populate</param>
        </member>
        <member name="M:DiscUtils.Registry.ListCell.EnumerateKeys">
            <summary>
            Enumerates all of the keys in the list.
            </summary>
            <returns>Enumeration of key cells</returns>
        </member>
        <member name="M:DiscUtils.Registry.ListCell.LinkSubKey(System.String,System.Int32)">
            <summary>
            Adds a subkey to this list.
            </summary>
            <param name="name">The name of the subkey</param>
            <param name="cellIndex">The cell index of the subkey</param>
            <returns>The new cell index of the list, which may have changed</returns>
        </member>
        <member name="M:DiscUtils.Registry.ListCell.UnlinkSubKey(System.String)">
            <summary>
            Removes a subkey from this list.
            </summary>
            <param name="name">The name of the subkey</param>
            <returns>The new cell index of the list, which may have changed</returns>
        </member>
        <member name="P:DiscUtils.Registry.ListCell.Count">
            <summary>
            Gets the number of subkeys in this list
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.KeyNodeCell.MaxSubKeyNameBytes">
            <summary>
            Number of bytes to represent largest subkey name in Unicode - no null terminator
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.KeyNodeCell.MaxValNameBytes">
            <summary>
            Number of bytes to represent largest value name in Unicode - no null terminator
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.KeyNodeCell.MaxValDataBytes">
            <summary>
            Number of bytes to represent largest value content (strings in Unicode, with null terminator - if stored)
            </summary>
        </member>
        <member name="T:DiscUtils.Registry.RegistryCorruptException">
            <summary>
            Exception thrown when some corruption is found in the registry hive.
            </summary>
        </member>
        <member name="M:DiscUtils.Registry.RegistryCorruptException.#ctor">
            <summary>
            Initializes a new instance of the RegistryCorruptException class.
            </summary>
        </member>
        <member name="M:DiscUtils.Registry.RegistryCorruptException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the RegistryCorruptException class.
            </summary>
            <param name="message">The exception message.</param>
        </member>
        <member name="M:DiscUtils.Registry.RegistryCorruptException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the RegistryCorruptException class.
            </summary>
            <param name="message">The exception message</param>
            <param name="innerException">The inner exception</param>
        </member>
        <member name="M:DiscUtils.Registry.RegistryCorruptException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the RegistryCorruptException class.
            </summary>
            <param name="info">The serialization info</param>
            <param name="context">The streaming context</param>
        </member>
        <member name="T:DiscUtils.Registry.RegistryHive">
            <summary>
            A registry hive.
            </summary>
        </member>
        <member name="M:DiscUtils.Registry.RegistryHive.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the RegistryHive class.
            </summary>
            <param name="hive">The stream containing the registry hive</param>
            <remarks>
            The created object does not assume ownership of the stream.
            </remarks>
        </member>
        <member name="M:DiscUtils.Registry.RegistryHive.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the RegistryHive class.
            </summary>
            <param name="hive">The stream containing the registry hive</param>
            <param name="ownership">Whether the new object assumes object of the stream</param>
        </member>
        <member name="M:DiscUtils.Registry.RegistryHive.Create(System.IO.Stream)">
            <summary>
            Creates a new (empty) registry hive.
            </summary>
            <param name="stream">The stream to contain the new hive</param>
            <returns>The new hive</returns>
            <remarks>
            The returned object does not assume ownership of the stream.
            </remarks>
        </member>
        <member name="M:DiscUtils.Registry.RegistryHive.Create(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Creates a new (empty) registry hive.
            </summary>
            <param name="stream">The stream to contain the new hive</param>
            <param name="ownership">Whether the returned object owns the stream</param>
            <returns>The new hive</returns>
        </member>
        <member name="M:DiscUtils.Registry.RegistryHive.Create(System.String)">
            <summary>
            Creates a new (empty) registry hive.
            </summary>
            <param name="path">The file to create the new hive in</param>
            <returns>The new hive</returns>
        </member>
        <member name="M:DiscUtils.Registry.RegistryHive.Dispose">
            <summary>
            Disposes of this instance, freeing any underlying stream (if any).
            </summary>
        </member>
        <member name="P:DiscUtils.Registry.RegistryHive.Root">
            <summary>
            Gets the root key in the registry hive.
            </summary>
        </member>
        <member name="T:DiscUtils.Registry.RegistryKey">
            <summary>
            A key within a registry hive.
            </summary>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.GetAccessControl">
            <summary>
            Gets the Security Descriptor applied to the registry key.
            </summary>
            <returns>The security descriptor as a RegistrySecurity instance.</returns>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.GetSubKeyNames">
            <summary>
            Gets the names of all child sub keys.
            </summary>
            <returns>The names of the sub keys</returns>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.GetValue(System.String)">
            <summary>
            Gets a named value stored within this key.
            </summary>
            <param name="name">The name of the value to retrieve</param>
            <returns>The value as a .NET object.</returns>
            <remarks>The mapping from registry type of .NET type is as follows:
            <list type="table">
              <listheader>
                <term>Value Type</term>
                <term>.NET type</term>
              </listheader>
              <item>
                <description>String</description>
                <description>string</description>
              </item>
              <item>
                <description>ExpandString</description>
                <description>string</description>
              </item>
              <item>
                <description>Link</description>
                <description>string</description>
              </item>
              <item>
                <description>DWord</description>
                <description>uint</description>
              </item>
              <item>
                <description>DWordBigEndian</description>
                <description>uint</description>
              </item>
              <item>
                <description>MultiString</description>
                <description>string[]</description>
              </item>
              <item>
                <description>QWord</description>
                <description>ulong</description>
              </item>
            </list>
            </remarks>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.GetValue(System.String,System.Object)">
            <summary>
            Gets a named value stored within this key.
            </summary>
            <param name="name">The name of the value to retrieve.</param>
            <param name="defaultValue">The default value to return, if no existing value is stored.</param>
            <returns>The value as a .NET object.</returns>
            <remarks>The mapping from registry type of .NET type is as follows:
            <list type="table">
              <listheader>
                <term>Value Type</term>
                <term>.NET type</term>
              </listheader>
              <item>
                <description>String</description>
                <description>string</description>
              </item>
              <item>
                <description>ExpandString</description>
                <description>string</description>
              </item>
              <item>
                <description>Link</description>
                <description>string</description>
              </item>
              <item>
                <description>DWord</description>
                <description>uint</description>
              </item>
              <item>
                <description>DWordBigEndian</description>
                <description>uint</description>
              </item>
              <item>
                <description>MultiString</description>
                <description>string[]</description>
              </item>
              <item>
                <description>QWord</description>
                <description>ulong</description>
              </item>
            </list>
            </remarks>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.GetValue(System.String,System.Object,Microsoft.Win32.RegistryValueOptions)">
            <summary>
            Gets a named value stored within this key.
            </summary>
            <param name="name">The name of the value to retrieve.</param>
            <param name="defaultValue">The default value to return, if no existing value is stored.</param>
            <param name="options">Flags controlling how the value is processed before it's returned.</param>
            <returns>The value as a .NET object.</returns>
            <remarks>The mapping from registry type of .NET type is as follows:
            <list type="table">
              <listheader>
                <term>Value Type</term>
                <term>.NET type</term>
              </listheader>
              <item>
                <description>String</description>
                <description>string</description>
              </item>
              <item>
                <description>ExpandString</description>
                <description>string</description>
              </item>
              <item>
                <description>Link</description>
                <description>string</description>
              </item>
              <item>
                <description>DWord</description>
                <description>uint</description>
              </item>
              <item>
                <description>DWordBigEndian</description>
                <description>uint</description>
              </item>
              <item>
                <description>MultiString</description>
                <description>string[]</description>
              </item>
              <item>
                <description>QWord</description>
                <description>ulong</description>
              </item>
            </list>
            </remarks>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.SetValue(System.String,System.Object)">
            <summary>
            Sets a named value stored within this key.
            </summary>
            <param name="name">The name of the value to store.</param>
            <param name="value">The value to store.</param>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.SetValue(System.String,System.Object,DiscUtils.Registry.RegistryValueType)">
            <summary>
            Sets a named value stored within this key.
            </summary>
            <param name="name">The name of the value to store.</param>
            <param name="value">The value to store.</param>
            <param name="valueType">The registry type of the data</param>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.DeleteValue(System.String)">
            <summary>
            Deletes a named value stored within this key.
            </summary>
            <param name="name">The name of the value to delete.</param>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.DeleteValue(System.String,System.Boolean)">
            <summary>
            Deletes a named value stored within this key.
            </summary>
            <param name="name">The name of the value to delete.</param>
            <param name="throwOnMissingValue">Throws ArgumentException if <c>name</c> doesn't exist</param>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.GetValueType(System.String)">
            <summary>
            Gets the type of a named value.
            </summary>
            <param name="name">The name of the value to inspect.</param>
            <returns>The value's type.</returns>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.GetValueNames">
            <summary>
            Gets the names of all values in this key.
            </summary>
            <returns>An array of strings containing the value names</returns>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.CreateSubKey(System.String)">
            <summary>
            Creates or opens a subkey.
            </summary>
            <param name="subkey">The relative path the the subkey</param>
            <returns>The subkey</returns>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.OpenSubKey(System.String)">
            <summary>
            Opens a sub key.
            </summary>
            <param name="path">The relative path to the sub key.</param>
            <returns>The sub key, or <c>null</c> if not found.</returns>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.DeleteSubKeyTree(System.String)">
            <summary>
            Deletes a subkey and any child subkeys recursively. The string subkey is not case-sensitive.
            </summary>
            <param name="subkey">The subkey to delete</param>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.DeleteSubKey(System.String)">
            <summary>
            Deletes the specified subkey. The string subkey is not case-sensitive.
            </summary>
            <param name="subkey">The subkey to delete</param>
        </member>
        <member name="M:DiscUtils.Registry.RegistryKey.DeleteSubKey(System.String,System.Boolean)">
            <summary>
            Deletes the specified subkey. The string subkey is not case-sensitive.
            </summary>
            <param name="subkey">The subkey to delete</param>
            <param name="throwOnMissingSubKey"><c>true</c> to throw an argument exception if <c>subkey</c> doesn't exist</param>
        </member>
        <member name="P:DiscUtils.Registry.RegistryKey.Name">
            <summary>
            Gets the name of this key.
            </summary>
        </member>
        <member name="P:DiscUtils.Registry.RegistryKey.SubKeyCount">
            <summary>
            Gets the number of child keys.
            </summary>
        </member>
        <member name="P:DiscUtils.Registry.RegistryKey.ValueCount">
            <summary>
            Gets the number of values in this key.
            </summary>
        </member>
        <member name="P:DiscUtils.Registry.RegistryKey.Timestamp">
            <summary>
            Gets the time the key was last modified.
            </summary>
        </member>
        <member name="P:DiscUtils.Registry.RegistryKey.Parent">
            <summary>
            Gets the parent key, or <c>null</c> if this is the root key.
            </summary>
        </member>
        <member name="P:DiscUtils.Registry.RegistryKey.Flags">
            <summary>
            Gets the flags of this registry key.
            </summary>
        </member>
        <member name="P:DiscUtils.Registry.RegistryKey.ClassName">
            <summary>
            Gets the class name of this registry key.
            </summary>
            <remarks>Class name is rarely used.</remarks>
        </member>
        <member name="P:DiscUtils.Registry.RegistryKey.SubKeys">
            <summary>
            Gets an enumerator over all sub child keys.
            </summary>
        </member>
        <member name="P:DiscUtils.Registry.RegistryKey.Values">
            <summary>
            Gets an enumerator over all values in this key.
            </summary>
        </member>
        <member name="T:DiscUtils.Registry.RegistryKeyFlags">
            <summary>
            The per-key flags present on registry keys.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown0001">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown0002">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Root">
            <summary>
            The key is the root key in the registry hive.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown0008">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Link">
            <summary>
            The key is a link to another key.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Normal">
            <summary>
            This is a normal key.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown0040">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown0080">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown0100">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown0200">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown0400">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown0800">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown1000">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown2000">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown4000">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryKeyFlags.Unknown8000">
            <summary>
            Unknown purpose.
            </summary>
        </member>
        <member name="T:DiscUtils.Registry.RegistryValue">
            <summary>
            A registry value.
            </summary>
        </member>
        <member name="M:DiscUtils.Registry.RegistryValue.GetData">
            <summary>
            The raw value data as a byte array.
            </summary>
            <returns>The value as a raw byte array.</returns>
        </member>
        <member name="M:DiscUtils.Registry.RegistryValue.SetData(System.Byte[],System.Int32,System.Int32,DiscUtils.Registry.RegistryValueType)">
            <summary>
            Sets the value as raw bytes, with no validation that enough data is specified for the given value type.
            </summary>
            <param name="data">The data to store</param>
            <param name="offset">The offset within <c>data</c> of the first byte to store</param>
            <param name="count">The number of bytes to store</param>
            <param name="valueType">The type of the data</param>
        </member>
        <member name="M:DiscUtils.Registry.RegistryValue.SetValue(System.Object,DiscUtils.Registry.RegistryValueType)">
            <summary>
            Sets the value stored.
            </summary>
            <param name="value">The value to store.</param>
            <param name="valueType">The registry type of the data</param>
        </member>
        <member name="M:DiscUtils.Registry.RegistryValue.ToString">
            <summary>
            Gets a string representation of the registry value.
            </summary>
            <returns>The registry value as a string.</returns>
        </member>
        <member name="P:DiscUtils.Registry.RegistryValue.Name">
            <summary>
            Gets the name of the value, or empty string if unnamed.
            </summary>
        </member>
        <member name="P:DiscUtils.Registry.RegistryValue.DataType">
            <summary>
            Gets the type of the value.
            </summary>
        </member>
        <member name="P:DiscUtils.Registry.RegistryValue.Value">
            <summary>
            Gets the value data mapped to a .net object.
            </summary>
            <remarks>The mapping from registry type of .NET type is as follows:
            <list type="table">
              <listheader>
                <term>Value Type</term>
                <term>.NET type</term>
              </listheader>
              <item>
                <description>String</description>
                <description>string</description>
              </item>
              <item>
                <description>ExpandString</description>
                <description>string</description>
              </item>
              <item>
                <description>Link</description>
                <description>string</description>
              </item>
              <item>
                <description>DWord</description>
                <description>uint</description>
              </item>
              <item>
                <description>DWordBigEndian</description>
                <description>uint</description>
              </item>
              <item>
                <description>MultiString</description>
                <description>string[]</description>
              </item>
              <item>
                <description>QWord</description>
                <description>ulong</description>
              </item>
            </list>
            </remarks>
        </member>
        <member name="T:DiscUtils.Registry.RegistryValueType">
            <summary>
            The types of registry values.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryValueType.None">
            <summary>
            Unknown type.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryValueType.String">
            <summary>
            A unicode string.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryValueType.ExpandString">
            <summary>
            A string containing environment variables.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryValueType.Binary">
            <summary>
            Binary data.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryValueType.Dword">
            <summary>
            A 32-bit integer.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryValueType.DwordBigEndian">
            <summary>
            A 32-bit integer.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryValueType.Link">
            <summary>
            A registry link.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryValueType.MultiString">
            <summary>
            A multistring.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryValueType.ResourceList">
            <summary>
            An unknown binary format.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryValueType.FullResourceDescriptor">
            <summary>
            An unknown binary format.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryValueType.ResourceRequirementsList">
            <summary>
            An unknown binary format.
            </summary>
        </member>
        <member name="F:DiscUtils.Registry.RegistryValueType.QWord">
            <summary>
            A 64-bit integer.
            </summary>
        </member>
        <member name="M:DiscUtils.Registry.SubKeyHashedListCell.Add(System.String,System.Int32)">
            <summary>
            Adds a new entry.
            </summary>
            <param name="name">The name of the subkey</param>
            <param name="cellIndex">The cell index of the subkey</param>
            <returns>The index of the new entry</returns>
        </member>
        <member name="M:DiscUtils.Registry.SubKeyHashedListCell.IndexOf(System.String)">
            <summary>
            Finds a subkey cell, returning it's index in this list.
            </summary>
            <param name="name">The name of the key to find</param>
            <returns>The index of the found key, or <c>-1</c>.</returns>
        </member>
        <member name="T:DiscUtils.ReparsePoint">
            <summary>
            Represents a Reparse Point, which can be associated with a file or directory.
            </summary>
        </member>
        <member name="M:DiscUtils.ReparsePoint.#ctor(System.Int32,System.Byte[])">
            <summary>
            Initializes a new instance of the ReparsePoint class.
            </summary>
            <param name="tag">The defined reparse point tag</param>
            <param name="content">The reparse point's content</param>
        </member>
        <member name="P:DiscUtils.ReparsePoint.Tag">
            <summary>
            Gets or sets the defined reparse point tag.
            </summary>
        </member>
        <member name="P:DiscUtils.ReparsePoint.Content">
            <summary>
            Gets or sets the reparse point's content.
            </summary>
        </member>
        <member name="T:DiscUtils.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:DiscUtils.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:DiscUtils.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:DiscUtils.Resources.XVA_ova_base">
            <summary>
              Looks up a localized string similar to &lt;value&gt;
             &lt;struct&gt;
               &lt;member&gt;
                 &lt;name&gt;version&lt;/name&gt;
                 &lt;value&gt;
                   &lt;struct&gt;
                     &lt;member&gt;
                       &lt;name&gt;hostname&lt;/name&gt;
                       &lt;value&gt;cheesy-2&lt;/value&gt;
                     &lt;/member&gt;
                     &lt;member&gt;
                       &lt;name&gt;date&lt;/name&gt;
                       &lt;value&gt;2008-11-08&lt;/value&gt;
                     &lt;/member&gt;
                     &lt;member&gt;
                       &lt;name&gt;product_version&lt;/name&gt;
                       &lt;value&gt;1.0.0&lt;/value&gt;
                     &lt;/member&gt;
                     &lt;member&gt;
                       &lt;name&gt;product_brand&lt;/name&gt;
                       &lt;va [rest of string was truncated]&quot;;.
            </summary>
        </member>
        <member name="P:DiscUtils.Resources.XVA_ova_ref">
             <summary>
               Looks up a localized string similar to                               &lt;value&gt;{0}&lt;/value&gt;
            .
             </summary>
        </member>
        <member name="P:DiscUtils.Resources.XVA_ova_sr">
            <summary>
              Looks up a localized string similar to             &lt;value&gt;
                         &lt;struct&gt;
                           &lt;member&gt;
                             &lt;name&gt;class&lt;/name&gt;
                             &lt;value&gt;SR&lt;/value&gt;
                           &lt;/member&gt;
                           &lt;member&gt;
                             &lt;name&gt;id&lt;/name&gt;
                             &lt;value&gt;{0}&lt;/value&gt;
                           &lt;/member&gt;
                           &lt;member&gt;
                             &lt;name&gt;snapshot&lt;/name&gt;
                             &lt;value&gt;
                               &lt;struct&gt;
                                 &lt;member&gt;
                                   &lt;name&gt;uuid&lt;/name&gt;
                          [rest of string was truncated]&quot;;.
            </summary>
        </member>
        <member name="P:DiscUtils.Resources.XVA_ova_vbd">
            <summary>
              Looks up a localized string similar to             &lt;value&gt;
                         &lt;struct&gt;
                           &lt;member&gt;
                             &lt;name&gt;class&lt;/name&gt;
                             &lt;value&gt;VBD&lt;/value&gt;
                           &lt;/member&gt;
                           &lt;member&gt;
                             &lt;name&gt;id&lt;/name&gt;
                             &lt;value&gt;{0}&lt;/value&gt;
                           &lt;/member&gt;
                           &lt;member&gt;
                             &lt;name&gt;snapshot&lt;/name&gt;
                             &lt;value&gt;
                               &lt;struct&gt;
                                 &lt;member&gt;
                                   &lt;name&gt;uuid&lt;/name&gt;
                         [rest of string was truncated]&quot;;.
            </summary>
        </member>
        <member name="P:DiscUtils.Resources.XVA_ova_vdi">
            <summary>
              Looks up a localized string similar to             &lt;value&gt;
                         &lt;struct&gt;
                           &lt;member&gt;
                             &lt;name&gt;class&lt;/name&gt;
                             &lt;value&gt;VDI&lt;/value&gt;
                           &lt;/member&gt;
                           &lt;member&gt;
                             &lt;name&gt;id&lt;/name&gt;
                             &lt;value&gt;{0}&lt;/value&gt;
                           &lt;/member&gt;
                           &lt;member&gt;
                             &lt;name&gt;snapshot&lt;/name&gt;
                             &lt;value&gt;
                               &lt;struct&gt;
                                 &lt;member&gt;
                                   &lt;name&gt;uuid&lt;/name&gt;
                         [rest of string was truncated]&quot;;.
            </summary>
        </member>
        <member name="P:DiscUtils.Resources.XVA_ova_vm">
            <summary>
              Looks up a localized string similar to             &lt;value&gt;
                         &lt;struct&gt;
                           &lt;member&gt;
                             &lt;name&gt;class&lt;/name&gt;
                             &lt;value&gt;VM&lt;/value&gt;
                           &lt;/member&gt;
                           &lt;member&gt;
                             &lt;name&gt;id&lt;/name&gt;
                             &lt;value&gt;{0}&lt;/value&gt;
                           &lt;/member&gt;
                           &lt;member&gt;
                             &lt;name&gt;snapshot&lt;/name&gt;
                             &lt;value&gt;
                               &lt;struct&gt;
                                 &lt;member&gt;
                                   &lt;name&gt;uuid&lt;/name&gt;
                          [rest of string was truncated]&quot;;.
            </summary>
        </member>
        <member name="T:DiscUtils.Sdi.SdiFile">
            <summary>
            Class for accessing the contents of Simple Deployment Image (.sdi) files.
            </summary>
            <remarks>SDI files are primitive disk images, containing multiple blobs.</remarks>
        </member>
        <member name="M:DiscUtils.Sdi.SdiFile.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the SdiFile class.
            </summary>
            <param name="stream">The stream formatted as an SDI file.</param>
        </member>
        <member name="M:DiscUtils.Sdi.SdiFile.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the SdiFile class.
            </summary>
            <param name="stream">The stream formatted as an SDI file.</param>
            <param name="ownership">Whether to pass ownership of <c>stream</c> to the new instance</param>
        </member>
        <member name="M:DiscUtils.Sdi.SdiFile.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:DiscUtils.Sdi.SdiFile.OpenSection(System.Int32)">
            <summary>
            Opens a stream to access a particular section.
            </summary>
            <param name="index">The zero-based index of the section</param>
            <returns>A stream that can be used to access the section.</returns>
        </member>
        <member name="P:DiscUtils.Sdi.SdiFile.Sections">
            <summary>
            Gets all of the sections within the file.
            </summary>
        </member>
        <member name="T:DiscUtils.Sdi.Section">
            <summary>
            Information about a blob (or section) within an SDI file.
            </summary>
        </member>
        <member name="P:DiscUtils.Sdi.Section.Index">
            <summary>
            Gets the zero-based index of this section.
            </summary>
        </member>
        <member name="P:DiscUtils.Sdi.Section.SectionType">
            <summary>
            Gets the type of this section.
            </summary>
            <remarks>Sample types are "PART" (disk partition), "WIM" (Windows Imaging Format)</remarks>
        </member>
        <member name="P:DiscUtils.Sdi.Section.PartitionType">
            <summary>
            Gets the MBR partition type of the partition, for "PART" sections.
            </summary>
        </member>
        <member name="P:DiscUtils.Sdi.Section.Length">
            <summary>
            Gets the length of the section.
            </summary>
        </member>
        <member name="T:DiscUtils.SnapshotStream">
            <summary>
            A wrapper stream that enables you to take a snapshot, pushing changes into a side buffer.
            </summary>
            <remarks>Once a snapshot is taken, you can discard subsequent changes or merge them back
            into the wrapped stream.</remarks>
        </member>
        <member name="F:DiscUtils.SnapshotStream._diffStream">
            <summary>
            Captures changes to the base stream (when enabled)
            </summary>
        </member>
        <member name="F:DiscUtils.SnapshotStream._diffExtents">
            <summary>
            Records which byte ranges in diffStream hold changes.
            </summary>
            <remarks>Can't use _diffStream's own tracking because that's based on it's
            internal block size, not on the _actual_ bytes stored.</remarks>
        </member>
        <member name="F:DiscUtils.SnapshotStream._savedPosition">
            <summary>
            The saved stream position (if the diffStream is active).
            </summary>
        </member>
        <member name="F:DiscUtils.SnapshotStream._frozen">
            <summary>
            Indicates that no writes should be permitted.
            </summary>
        </member>
        <member name="M:DiscUtils.SnapshotStream.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the SnapshotStream class.
            </summary>
            <param name="baseStream">The stream to wrap</param>
            <param name="owns">Indicates if this stream should control the lifetime of baseStream</param>
        </member>
        <member name="M:DiscUtils.SnapshotStream.Freeze">
            <summary>
            Prevents any write operations to the stream.
            </summary>
            <remarks>Useful to prevent changes whilst inspecting the stream.</remarks>
        </member>
        <member name="M:DiscUtils.SnapshotStream.Thaw">
            <summary>
            Re-permits write operations to the stream.
            </summary>
        </member>
        <member name="M:DiscUtils.SnapshotStream.Snapshot">
            <summary>
            Takes a snapshot of the current stream contents.
            </summary>
        </member>
        <member name="M:DiscUtils.SnapshotStream.RevertToSnapshot">
            <summary>
            Reverts to a previous snapshot, discarding any changes made to the stream.
            </summary>
        </member>
        <member name="M:DiscUtils.SnapshotStream.ForgetSnapshot">
            <summary>
            Discards the snapshot any changes made after the snapshot was taken are kept.
            </summary>
        </member>
        <member name="M:DiscUtils.SnapshotStream.Flush">
            <summary>
            Flushes the stream.
            </summary>
        </member>
        <member name="M:DiscUtils.SnapshotStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads data from the stream.
            </summary>
            <param name="buffer">The buffer to fill</param>
            <param name="offset">The buffer offset to start from</param>
            <param name="count">The number of bytes to read</param>
            <returns>The number of bytes read</returns>
        </member>
        <member name="M:DiscUtils.SnapshotStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Moves the stream position.
            </summary>
            <param name="offset">The origin-relative location</param>
            <param name="origin">The base location</param>
            <returns>The new absolute stream position</returns>
        </member>
        <member name="M:DiscUtils.SnapshotStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the stream.
            </summary>
            <param name="value">The new length</param>
        </member>
        <member name="M:DiscUtils.SnapshotStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data to the stream at the current location.
            </summary>
            <param name="buffer">The data to write</param>
            <param name="offset">The first byte to write from buffer</param>
            <param name="count">The number of bytes to write</param>
        </member>
        <member name="M:DiscUtils.SnapshotStream.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance.
            </summary>
            <param name="disposing"><c>true</c> if called from Dispose(), else <c>false</c></param>
        </member>
        <member name="P:DiscUtils.SnapshotStream.CanRead">
            <summary>
            Gets an indication as to whether the stream can be read.
            </summary>
        </member>
        <member name="P:DiscUtils.SnapshotStream.CanSeek">
            <summary>
            Gets an indication as to whether the stream position can be changed.
            </summary>
        </member>
        <member name="P:DiscUtils.SnapshotStream.CanWrite">
            <summary>
            Gets an indication as to whether the stream can be written to.
            </summary>
            <remarks>This property is orthogonal to Freezing/Thawing, it's
            perfectly possible for a stream to be frozen and this method
            return <c>true</c></remarks>
        </member>
        <member name="P:DiscUtils.SnapshotStream.Length">
            <summary>
            Gets the length of the stream.
            </summary>
        </member>
        <member name="P:DiscUtils.SnapshotStream.Position">
            <summary>
            Gets and sets the current stream position.
            </summary>
        </member>
        <member name="P:DiscUtils.SnapshotStream.Extents">
            <summary>
            Returns an enumeration over the parts of the stream that contain real data.
            </summary>
        </member>
        <member name="T:DiscUtils.SparseMemoryBuffer">
            <summary>
            A sparse in-memory buffer.
            </summary>
            <remarks>This class is useful for storing large sparse buffers in memory, unused
            chunks of the buffer are not stored (assumed to be zero).</remarks>
        </member>
        <member name="M:DiscUtils.SparseMemoryBuffer.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the SparseMemoryBuffer class.
            </summary>
            <param name="chunkSize">The size of each allocation chunk</param>
        </member>
        <member name="M:DiscUtils.SparseMemoryBuffer.Read(System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a section of the sparse buffer into a byte array.
            </summary>
            <param name="pos">The offset within the sparse buffer to start reading.</param>
            <param name="buffer">The destination byte array.</param>
            <param name="offset">The start offset within the destination buffer.</param>
            <param name="count">The number of bytes to read.</param>
            <returns>The actual number of bytes read</returns>
        </member>
        <member name="M:DiscUtils.SparseMemoryBuffer.Write(System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a byte array into the sparse buffer.
            </summary>
            <param name="pos">The start offset within the sparse buffer.</param>
            <param name="buffer">The source byte array.</param>
            <param name="offset">The start offset within the source byte array.</param>
            <param name="count">The number of bytes to write.</param>
        </member>
        <member name="M:DiscUtils.SparseMemoryBuffer.SetCapacity(System.Int64)">
            <summary>
            Sets the capacity of the sparse buffer, truncating if appropriate.
            </summary>
            <param name="value">The desired capacity of the buffer.</param>
            <remarks>This method does not allocate any chunks, it merely records the logical
            capacity of the sparse buffer.  Writes beyond the specified capacity will increase
            the capacity.</remarks>
        </member>
        <member name="M:DiscUtils.SparseMemoryBuffer.GetExtentsInRange(System.Int64,System.Int64)">
            <summary>
            Gets the parts of a buffer that are stored, within a specified range.
            </summary>
            <param name="start">The offset of the first byte of interest</param>
            <param name="count">The number of bytes of interest</param>
            <returns>An enumeration of stream extents, indicating stored bytes</returns>
        </member>
        <member name="P:DiscUtils.SparseMemoryBuffer.CanRead">
            <summary>
            Indicates this stream can be read (always <c>true</c>).
            </summary>
        </member>
        <member name="P:DiscUtils.SparseMemoryBuffer.CanWrite">
            <summary>
            Indicates this stream can be written (always <c>true</c>).
            </summary>
        </member>
        <member name="P:DiscUtils.SparseMemoryBuffer.Capacity">
            <summary>
            Gets the current capacity of the sparse buffer (number of logical bytes stored).
            </summary>
        </member>
        <member name="P:DiscUtils.SparseMemoryBuffer.ChunkSize">
            <summary>
            Gets the size of each allocation chunk.
            </summary>
        </member>
        <member name="P:DiscUtils.SparseMemoryBuffer.AllocatedChunks">
            <summary>
            Gets the (sorted) list of allocated chunks, as chunk indexes.
            </summary>
            <returns>An enumeration of chunk indexes</returns>
            <remarks>This method returns chunks as an index rather than absolute stream position.
            For example, if ChunkSize is 16KB, and the first 32KB of the buffer is actually stored,
            this method will return 0 and 1.  This indicates the first and second chunks are stored.</remarks>
        </member>
        <member name="P:DiscUtils.SparseMemoryBuffer.Item(System.Int64)">
            <summary>
            Accesses this memory buffer as an infinite byte array.
            </summary>
            <param name="pos">The buffer position to read.</param>
            <returns>The byte stored at this position (or Zero if not explicitly stored)</returns>
        </member>
        <member name="T:DiscUtils.SparseMemoryStream">
            <summary>
            Provides a sparse equivalent to MemoryStream.
            </summary>
        </member>
        <member name="M:DiscUtils.SparseMemoryStream.#ctor">
            <summary>
            Initializes a new instance of the SparseMemoryStream class.
            </summary>
            <remarks>The created instance permits read and write access</remarks>
        </member>
        <member name="M:DiscUtils.SparseMemoryStream.#ctor(DiscUtils.SparseMemoryBuffer,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the SparseMemoryStream class.
            </summary>
            <param name="buffer">The buffer to use</param>
            <param name="access">The access permitted to clients</param>
        </member>
        <member name="M:DiscUtils.SquashFs.IdTableWriter.AllocateId(System.Int32)">
            <summary>
            Allocates space for a User / Group id.
            </summary>
            <param name="id">The id to allocate</param>
            <returns>The key of the id</returns>
        </member>
        <member name="T:DiscUtils.SquashFs.SquashFileSystemBuilder">
            <summary>
            Class that creates SquashFs file systems.
            </summary>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.#ctor">
            <summary>
            Initializes a new instance of the SquashFileSystemBuilder class.
            </summary>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.AddFile(System.String,System.IO.Stream)">
            <summary>
            Adds a file to the file system.
            </summary>
            <param name="path">The full path to the file.</param>
            <param name="content">The content of the file.</param>
            <remarks>
            <para>The created file with have the default owner, group, permissions and the
            current time as it's modification time.  Any missing parent directories will be
            created, with default owner, group and directory permissions.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.AddFile(System.String,System.String)">
            <summary>
            Adds a file to the file system.
            </summary>
            <param name="path">The full path to the file.</param>
            <param name="contentPath">Local file system path to the file to add.</param>
            <remarks>
            <para>The created file with have the default owner, group, permissions and the
            current time as it's modification time.  Any missing parent directories will be
            created with default owner, group and directory permissions.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.AddFile(System.String,System.IO.Stream,System.Int32,System.Int32,DiscUtils.UnixFilePermissions,System.DateTime)">
            <summary>
            Adds a file to the file system.
            </summary>
            <param name="path">The full path to the file.</param>
            <param name="content">The content of the file.</param>
            <param name="user">The owner of the file.</param>
            <param name="group">The group of the file.</param>
            <param name="permissions">The access permission of the file.</param>
            <param name="modificationTime">The modification time of the file</param>
            <remarks>
            <para>Any missing parent directories will be created with the specified owner and group,
            default directory permissions and the current time as the modification time.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.AddFile(System.String,System.String,System.Int32,System.Int32,DiscUtils.UnixFilePermissions,System.DateTime)">
            <summary>
            Adds a file to the file system.
            </summary>
            <param name="path">The full path to the file.</param>
            <param name="contentPath">Local file system path to the file to add.</param>
            <param name="user">The owner of the file.</param>
            <param name="group">The group of the file.</param>
            <param name="permissions">The access permission of the file.</param>
            <param name="modificationTime">The modification time of the file</param>
            <remarks>
            <para>Any missing parent directories will be created with the specified owner and group,
            default directory permissions and the current time as the modification time.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.AddDirectory(System.String)">
            <summary>
            Adds a directory to the file system.
            </summary>
            <param name="path">The full path to the directory.</param>
            <remarks>
            <para>The created directory with have the default owner, group, permissions and the
            current time as it's modification time.  Any missing parent directories will be
            created with default owner, group and directory permissions.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.AddDirectory(System.String,System.Int32,System.Int32,DiscUtils.UnixFilePermissions,System.DateTime)">
            <summary>
            Adds a directory to the file system.
            </summary>
            <param name="path">The full path to the directory.</param>
            <param name="user">The owner of the directory.</param>
            <param name="group">The group of the directory.</param>
            <param name="permissions">The access permission of the directory.</param>
            <param name="modificationTime">The modification time of the directory.</param>
            <remarks>
            <para>The created directory with have the default owner, group, permissions and the
            current time as it's modification time.  Any missing parent directories will be
            created with the specified owner, group, and directory permissions.  The current time
            will be used as the modification time.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.Build">
            <summary>
            Builds the file system, returning a new stream.
            </summary>
            <returns>The stream containing the file system.</returns>
            <remarks>
            This method uses a temporary file to construct the file system, use of
            the <c>Build(Stream)</c> or <c>Build(string)</c> variant is recommended
            when the file system will be written to a file.
            </remarks>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.Build(System.IO.Stream)">
            <summary>
            Writes the file system to an existing stream.
            </summary>
            <param name="output">The stream to write to.</param>
            <remarks>The <c>output</c> stream must support seeking and writing.</remarks>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.Build(System.String)">
            <summary>
            Writes the stream contents to a file.
            </summary>
            <param name="outputFile">The file to write to.</param>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.AllocateInode">
            <summary>
            Allocates a unique inode identifier.
            </summary>
            <returns>The inode identifier</returns>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.WriteDataBlock(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a block of file data, possibly compressing it.
            </summary>
            <param name="buffer">The data to write</param>
            <param name="offset">Offset of the first byte to write</param>
            <param name="count">The number of bytes to write</param>
            <returns>
            The 'length' of the (possibly compressed) data written, including
            a flag indicating compression (or not).
            </returns>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemBuilder.GetRoot">
            <summary>
            Delayed root construction, to permit default permissions / identity info to be
            set before root is created.
            </summary>
            <returns>The root directory.</returns>
        </member>
        <member name="P:DiscUtils.SquashFs.SquashFileSystemBuilder.DefaultFilePermissions">
            <summary>
            Gets or sets the default permissions used for new files.
            </summary>
        </member>
        <member name="P:DiscUtils.SquashFs.SquashFileSystemBuilder.DefaultDirectoryPermissions">
            <summary>
            Gets or sets the default permissions used for new directories.
            </summary>
        </member>
        <member name="P:DiscUtils.SquashFs.SquashFileSystemBuilder.DefaultUser">
            <summary>
            Gets or sets the default user id used for new files and directories.
            </summary>
        </member>
        <member name="P:DiscUtils.SquashFs.SquashFileSystemBuilder.DefaultGroup">
            <summary>
            Gets or sets the default group id used for new files and directories.
            </summary>
        </member>
        <member name="T:DiscUtils.SquashFs.SquashFileSystemReader">
            <summary>
            Implementation of SquashFs file system reader.
            </summary>
            <remarks>
            SquashFs is a read-only file system, it is not designed to be modified
            after it is created.
            </remarks>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemReader.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the SquashFileSystemReader class.
            </summary>
            <param name="data">The stream to read the file system image from.</param>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemReader.Detect(System.IO.Stream)">
            <summary>
            Detects if the stream contains a SquashFs file system.
            </summary>
            <param name="stream">The stream to inspect</param>
            <returns><c>true</c> if stream appears to be a SquashFs file system.</returns>
        </member>
        <member name="M:DiscUtils.SquashFs.SquashFileSystemReader.GetUnixFileInfo(System.String)">
            <summary>
            Gets Unix file information about a file or directory.
            </summary>
            <param name="path">Path to the file or directory</param>
            <returns>Unix information about the file or directory</returns>
        </member>
        <member name="T:DiscUtils.StreamPump">
            <summary>
            Utility class for pumping the contents of one stream into another.
            </summary>
            <remarks>
            This class is aware of sparse streams, and will avoid copying data that is not
            valid in the source stream.  This functionality should normally only be used
            when the destination stream is known not to contain any existing data.
            </remarks>
        </member>
        <member name="M:DiscUtils.StreamPump.#ctor">
            <summary>
            Initializes a new instance of the StreamPump class.
            </summary>
        </member>
        <member name="M:DiscUtils.StreamPump.#ctor(System.IO.Stream,System.IO.Stream,System.Int32)">
            <summary>
            Initializes a new instance of the StreamPump class.
            </summary>
            <param name="inStream">The stream to read from</param>
            <param name="outStream">The stream to write to</param>
            <param name="sparseChunkSize">The size of each sparse chunk</param>
        </member>
        <member name="M:DiscUtils.StreamPump.Run">
            <summary>
            Performs the pump activity, blocking until complete.
            </summary>
        </member>
        <member name="E:DiscUtils.StreamPump.ProgressEvent">
            <summary>
            Event raised periodically through the pump operation.
            </summary>
            <remarks>
            This event is signalled synchronously, so to avoid slowing the pumping activity
            implementations should return quickly.
            </remarks>
        </member>
        <member name="P:DiscUtils.StreamPump.InputStream">
            <summary>
            Gets or sets the stream that will be read from.
            </summary>
        </member>
        <member name="P:DiscUtils.StreamPump.OutputStream">
            <summary>
            Gets or sets the stream that will be written to.
            </summary>
        </member>
        <member name="P:DiscUtils.StreamPump.SparseChunkSize">
            <summary>
            Gets or sets, for sparse transfers, the size of each chunk.
            </summary>
            <remarks>
            A chunk is transfered if any byte in the chunk is valid, otherwise it is not.
            This value should normally be set to reflect the underlying storage granularity
            of <c>OutputStream</c>.
            </remarks>
        </member>
        <member name="P:DiscUtils.StreamPump.BufferSize">
            <summary>
            Gets or sets the amount of data to read at a time from <c>InputStream</c>.
            </summary>
        </member>
        <member name="P:DiscUtils.StreamPump.SparseCopy">
            <summary>
            Gets or sets a value indicating whether to enable the sparse copy behaviour (default true).
            </summary>
        </member>
        <member name="P:DiscUtils.StreamPump.BytesRead">
            <summary>
            Gets the number of bytes read from <c>InputStream</c>.
            </summary>
        </member>
        <member name="P:DiscUtils.StreamPump.BytesWritten">
            <summary>
            Gets the number of bytes written to <c>OutputStream</c>.
            </summary>
        </member>
        <member name="T:DiscUtils.StreamBuffer">
            <summary>
            Converts a Stream into an IBuffer instance.
            </summary>
        </member>
        <member name="M:DiscUtils.StreamBuffer.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the StreamBuffer class.
            </summary>
            <param name="stream">The stream to wrap</param>
            <param name="ownership">Whether to dispose stream, when this object is disposed</param>
        </member>
        <member name="M:DiscUtils.StreamBuffer.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:DiscUtils.StreamBuffer.Read(System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads from the buffer into a byte array.
            </summary>
            <param name="pos">The offset within the buffer to start reading.</param>
            <param name="buffer">The destination byte array.</param>
            <param name="offset">The start offset within the destination buffer.</param>
            <param name="count">The number of bytes to read.</param>
            <returns>The actual number of bytes read</returns>
        </member>
        <member name="M:DiscUtils.StreamBuffer.Write(System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a byte array into the buffer.
            </summary>
            <param name="pos">The start offset within the buffer.</param>
            <param name="buffer">The source byte array.</param>
            <param name="offset">The start offset within the source byte array.</param>
            <param name="count">The number of bytes to write.</param>
        </member>
        <member name="M:DiscUtils.StreamBuffer.Flush">
            <summary>
            Flushes all data to the underlying storage.
            </summary>
        </member>
        <member name="M:DiscUtils.StreamBuffer.SetCapacity(System.Int64)">
            <summary>
            Sets the capacity of the buffer, truncating if appropriate.
            </summary>
            <param name="value">The desired capacity of the buffer.</param>
        </member>
        <member name="M:DiscUtils.StreamBuffer.GetExtentsInRange(System.Int64,System.Int64)">
            <summary>
            Gets the parts of a buffer that are stored, within a specified range.
            </summary>
            <param name="start">The offset of the first byte of interest</param>
            <param name="count">The number of bytes of interest</param>
            <returns>An enumeration of stream extents, indicating stored bytes</returns>
        </member>
        <member name="P:DiscUtils.StreamBuffer.CanRead">
            <summary>
            Can this buffer be read.
            </summary>
        </member>
        <member name="P:DiscUtils.StreamBuffer.CanWrite">
            <summary>
            Can this buffer be written.
            </summary>
        </member>
        <member name="P:DiscUtils.StreamBuffer.Capacity">
            <summary>
            Gets the current capacity of the buffer, in bytes.
            </summary>
        </member>
        <member name="P:DiscUtils.StreamBuffer.Extents">
            <summary>
            Gets the parts of the stream that are stored.
            </summary>
            <remarks>This may be an empty enumeration if all bytes are zero.</remarks>
        </member>
        <member name="T:DiscUtils.StreamExtent">
            <summary>
            Represents a range of bytes in a stream.
            </summary>
            <remarks>This is normally used to represent regions of a SparseStream that
            are actually stored in the underlying storage medium (rather than implied
            zero bytes).  Extents are stored as a zero-based byte offset (from the
            beginning of the stream), and a byte length</remarks>
        </member>
        <member name="M:DiscUtils.StreamExtent.#ctor(System.Int64,System.Int64)">
            <summary>
            Initializes a new instance of the StreamExtent class.
            </summary>
            <param name="start">The start of the extent</param>
            <param name="length">The length of the extent</param>
        </member>
        <member name="M:DiscUtils.StreamExtent.Union(System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent},DiscUtils.StreamExtent)">
            <summary>
            Calculates the union of a list of extents with another extent.
            </summary>
            <param name="extents">The list of extents</param>
            <param name="other">The other extent</param>
            <returns>The union of the extents.</returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.Union(System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent}[])">
            <summary>
            Calculates the union of the extents of multiple streams.
            </summary>
            <param name="streams">The stream extents</param>
            <returns>The union of the extents from multiple streams.</returns>
            <remarks>A typical use of this method is to calculate the combined set of
            stored extents from a number of overlayed sparse streams.</remarks>
        </member>
        <member name="M:DiscUtils.StreamExtent.Intersect(System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent},DiscUtils.StreamExtent)">
            <summary>
            Calculates the intersection of the extents of a stream with another extent.
            </summary>
            <param name="extents">The stream extents</param>
            <param name="other">The extent to intersect</param>
            <returns>The intersection of the extents.</returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.Intersect(System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent}[])">
            <summary>
            Calculates the intersection of the extents of multiple streams.
            </summary>
            <param name="streams">The stream extents</param>
            <returns>The intersection of the extents from multiple streams.</returns>
            <remarks>A typical use of this method is to calculate the extents in a
            region of a stream..</remarks>
        </member>
        <member name="M:DiscUtils.StreamExtent.Subtract(System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent},DiscUtils.StreamExtent)">
            <summary>
            Calculates the subtraction of the extents of a stream by another extent.
            </summary>
            <param name="extents">The stream extents</param>
            <param name="other">The extent to subtract</param>
            <returns>The subtraction of <c>other</c> from <c>extents</c>.</returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.Subtract(System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent},System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent})">
            <summary>
            Calculates the subtraction of the extents of a stream by another stream.
            </summary>
            <param name="a">The stream extents to subtract from</param>
            <param name="b">The stream extents to subtract</param>
            <returns>The subtraction of the extents of b from a.</returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.Invert(System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent})">
            <summary>
            Calculates the inverse of the extents of a stream.
            </summary>
            <param name="extents">The stream extents to inverse</param>
            <returns>The inverted extents</returns>
            <remarks>
            This method assumes a logical stream addressable from <c>0</c> to <c>long.MaxValue</c>, and is undefined
            should any stream extent start at less than 0.  To constrain the extents to a specific range, use the
            <c>Intersect</c> method.
            </remarks>
        </member>
        <member name="M:DiscUtils.StreamExtent.Offset(System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent},System.Int64)">
            <summary>
            Offsets the extents of a stream.
            </summary>
            <param name="stream">The stream extents</param>
            <param name="delta">The amount to offset the extents by</param>
            <returns>The stream extents, offset by delta.</returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.BlockCount(System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent},System.Int64)">
            <summary>
            Returns the number of blocks containing stream data.
            </summary>
            <param name="stream">The stream extents</param>
            <param name="blockSize">The size of each block</param>
            <returns>The number of blocks containing stream data</returns>
            <remarks>This method logically divides the stream into blocks of a specified
            size, then indicates how many of those blocks contain actual stream data.</remarks>
        </member>
        <member name="M:DiscUtils.StreamExtent.Blocks(System.Collections.Generic.IEnumerable{DiscUtils.StreamExtent},System.Int64)">
            <summary>
            Returns all of the blocks containing stream data.
            </summary>
            <param name="stream">The stream extents</param>
            <param name="blockSize">The size of each block</param>
            <returns>Ranges of blocks, as block indexes</returns>
            <remarks>This method logically divides the stream into blocks of a specified
            size, then indicates ranges of blocks that contain stream data.</remarks>
        </member>
        <member name="M:DiscUtils.StreamExtent.op_Equality(DiscUtils.StreamExtent,DiscUtils.StreamExtent)">
            <summary>
            The equality operator.
            </summary>
            <param name="a">The first extent to compare</param>
            <param name="b">The second extent to compare</param>
            <returns>Whether the two extents are equal</returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.op_Inequality(DiscUtils.StreamExtent,DiscUtils.StreamExtent)">
            <summary>
            The inequality operator.
            </summary>
            <param name="a">The first extent to compare</param>
            <param name="b">The second extent to compare</param>
            <returns>Whether the two extents are different</returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.op_LessThan(DiscUtils.StreamExtent,DiscUtils.StreamExtent)">
            <summary>
            The less-than operator.
            </summary>
            <param name="a">The first extent to compare</param>
            <param name="b">The second extent to compare</param>
            <returns>Whether a is less than b</returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.op_GreaterThan(DiscUtils.StreamExtent,DiscUtils.StreamExtent)">
            <summary>
            The greater-than operator.
            </summary>
            <param name="a">The first extent to compare</param>
            <param name="b">The second extent to compare</param>
            <returns>Whether a is greather than b</returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.Equals(DiscUtils.StreamExtent)">
            <summary>
            Indicates if this StreamExtent is equal to another.
            </summary>
            <param name="other">The extent to compare</param>
            <returns><c>true</c> if the extents are equal, else <c>false</c></returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.ToString">
            <summary>
            Returns a string representation of the extent as [start:+length].
            </summary>
            <returns>The string representation</returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.Equals(System.Object)">
            <summary>
            Indicates if this stream extent is equal to another object.
            </summary>
            <param name="obj">The object to test</param>
            <returns><c>true</c> if <c>obj</c> is equivalent, else <c>false</c></returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.GetHashCode">
            <summary>
            Gets a hash code for this extent.
            </summary>
            <returns>The extent's hash code.</returns>
        </member>
        <member name="M:DiscUtils.StreamExtent.CompareTo(DiscUtils.StreamExtent)">
            <summary>
            Compares this stream extent to another.
            </summary>
            <param name="other">The extent to compare.</param>
            <returns>Value greater than zero if this extent starts after
            <c>other</c>, zero if they start at the same position, else
            a value less than zero.</returns>
        </member>
        <member name="P:DiscUtils.StreamExtent.Start">
            <summary>
            Gets the start of the extent (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.StreamExtent.Length">
            <summary>
            Gets the start of the extent (in bytes).
            </summary>
        </member>
        <member name="T:DiscUtils.SubBuffer">
            <summary>
            Class representing a portion of an existing buffer.
            </summary>
        </member>
        <member name="M:DiscUtils.SubBuffer.#ctor(DiscUtils.IBuffer,System.Int64,System.Int64)">
            <summary>
            Initializes a new instance of the SubBuffer class.
            </summary>
            <param name="parent">The parent buffer</param>
            <param name="first">The first byte in <paramref name="parent"/> represented by this sub-buffer</param>
            <param name="length">The number of bytes of <paramref name="parent"/> represented by this sub-buffer</param>
        </member>
        <member name="M:DiscUtils.SubBuffer.Flush">
            <summary>
            Flushes all data to the underlying storage.
            </summary>
        </member>
        <member name="M:DiscUtils.SubBuffer.Read(System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads from the buffer into a byte array.
            </summary>
            <param name="pos">The offset within the buffer to start reading.</param>
            <param name="buffer">The destination byte array.</param>
            <param name="offset">The start offset within the destination buffer.</param>
            <param name="count">The number of bytes to read.</param>
            <returns>The actual number of bytes read</returns>
        </member>
        <member name="M:DiscUtils.SubBuffer.Write(System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a byte array into the buffer.
            </summary>
            <param name="pos">The start offset within the buffer.</param>
            <param name="buffer">The source byte array.</param>
            <param name="offset">The start offset within the source byte array.</param>
            <param name="count">The number of bytes to write.</param>
        </member>
        <member name="M:DiscUtils.SubBuffer.SetCapacity(System.Int64)">
            <summary>
            Sets the capacity of the buffer, truncating if appropriate.
            </summary>
            <param name="value">The desired capacity of the buffer.</param>
        </member>
        <member name="M:DiscUtils.SubBuffer.GetExtentsInRange(System.Int64,System.Int64)">
            <summary>
            Gets the parts of a buffer that are stored, within a specified range.
            </summary>
            <param name="start">The offset of the first byte of interest</param>
            <param name="count">The number of bytes of interest</param>
            <returns>An enumeration of stream extents, indicating stored bytes</returns>
        </member>
        <member name="P:DiscUtils.SubBuffer.CanRead">
            <summary>
            Can this buffer be read.
            </summary>
        </member>
        <member name="P:DiscUtils.SubBuffer.CanWrite">
            <summary>
            Can this buffer be modified.
            </summary>
        </member>
        <member name="P:DiscUtils.SubBuffer.Capacity">
            <summary>
            Gets the current capacity of the buffer, in bytes.
            </summary>
        </member>
        <member name="P:DiscUtils.SubBuffer.Extents">
            <summary>
            Gets the parts of the buffer that are stored.
            </summary>
            <remarks>This may be an empty enumeration if all bytes are zero.</remarks>
        </member>
        <member name="T:DiscUtils.ThreadSafeStream">
            <summary>
            Provides a thread-safe wrapping around a sparse stream.
            </summary>
            <remarks>
            <para>Streams are inherently not thread-safe (because read/write is not atomic w.r.t. Position).
            This method enables multiple 'views' of a stream to be created (each with their own Position), and ensures
            only a single operation is executing on the wrapped stream at any time.</para>
            <para>This example shows the pattern of use:</para>
            <example>
            <code>
            SparseStream baseStream = ...;
            ThreadSafeStream tss = new ThreadSafeStream(baseStream);
            for(int i = 0; i &lt; 10; ++i)
            {
              SparseStream streamForThread = tss.OpenView();
            }
            </code>
            </example>
            <para>This results in 11 streams that can be used in different streams - <c>tss</c> and ten 'views' created from <c>tss</c>.</para>
            <para>Note, the stream length cannot be changed.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.ThreadSafeStream.#ctor(DiscUtils.SparseStream)">
            <summary>
            Initializes a new instance of the ThreadSafeStream class.
            </summary>
            <param name="toWrap">The stream to wrap</param>
            <remarks>Do not directly modify <c>toWrap</c> after wrapping it, unless the thread-safe views
            will no longer be used.</remarks>
        </member>
        <member name="M:DiscUtils.ThreadSafeStream.#ctor(DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the ThreadSafeStream class.
            </summary>
            <param name="toWrap">The stream to wrap</param>
            <param name="ownership">Whether to transfer ownership of <c>toWrap</c> to the new instance</param>
            <remarks>Do not directly modify <c>toWrap</c> after wrapping it, unless the thread-safe views
            will no longer be used.</remarks>
        </member>
        <member name="M:DiscUtils.ThreadSafeStream.OpenView">
            <summary>
            Opens a new thread-safe view on the stream.
            </summary>
            <returns>The new view</returns>
        </member>
        <member name="M:DiscUtils.ThreadSafeStream.GetExtentsInRange(System.Int64,System.Int64)">
            <summary>
            Gets the parts of a stream that are stored, within a specified range.
            </summary>
            <param name="start">The offset of the first byte of interest</param>
            <param name="count">The number of bytes of interest</param>
            <returns>An enumeration of stream extents, indicating stored bytes</returns>
        </member>
        <member name="M:DiscUtils.ThreadSafeStream.Flush">
            <summary>
            Causes the stream to flush all changes.
            </summary>
        </member>
        <member name="M:DiscUtils.ThreadSafeStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads data from the stream.
            </summary>
            <param name="buffer">The buffer to fill</param>
            <param name="offset">The first byte in buffer to fill</param>
            <param name="count">The requested number of bytes to read</param>
            <returns>The actual number of bytes read</returns>
        </member>
        <member name="M:DiscUtils.ThreadSafeStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Changes the current stream position (each view has it's own Position).
            </summary>
            <param name="offset">The relative location to move to</param>
            <param name="origin">The origin of the location</param>
            <returns>The new location as an absolute position</returns>
        </member>
        <member name="M:DiscUtils.ThreadSafeStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the stream (not supported).
            </summary>
            <param name="value">The new length</param>
        </member>
        <member name="M:DiscUtils.ThreadSafeStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes data to the stream (not currently supported).
            </summary>
            <param name="buffer">The data to write</param>
            <param name="offset">The first byte to write</param>
            <param name="count">The number of bytes to write</param>
        </member>
        <member name="M:DiscUtils.ThreadSafeStream.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance, invalidating any remaining views.
            </summary>
            <param name="disposing"><c>true</c> if disposing, lese <c>false</c></param>
        </member>
        <member name="P:DiscUtils.ThreadSafeStream.Extents">
            <summary>
            Gets the parts of the stream that are stored.
            </summary>
            <remarks>This may be an empty enumeration if all bytes are zero.</remarks>
        </member>
        <member name="P:DiscUtils.ThreadSafeStream.CanRead">
            <summary>
            Gets a value indicating if this stream supports reads.
            </summary>
        </member>
        <member name="P:DiscUtils.ThreadSafeStream.CanSeek">
            <summary>
            Gets a value indicating if this stream supports seeking (always true).
            </summary>
        </member>
        <member name="P:DiscUtils.ThreadSafeStream.CanWrite">
            <summary>
            Gets a value indicating if this stream supports writes (currently, always false).
            </summary>
        </member>
        <member name="P:DiscUtils.ThreadSafeStream.Length">
            <summary>
            Gets the length of the stream.
            </summary>
        </member>
        <member name="P:DiscUtils.ThreadSafeStream.Position">
            <summary>
            Gets the current stream position - each 'view' has it's own Position.
            </summary>
        </member>
        <member name="T:DiscUtils.Udf.ExtendedAttribute">
            <summary>
            Contains extended attribute information for a file or directory.
            </summary>
        </member>
        <member name="P:DiscUtils.Udf.ExtendedAttribute.Identifier">
            <summary>
            Gets the value of the identifier of this attribute.
            </summary>
            <remarks>A typical identifier is "*UDF DVD CGMS Info".</remarks>
        </member>
        <member name="P:DiscUtils.Udf.ExtendedAttribute.Data">
            <summary>
            Gets the data contained in the attribute.
            </summary>
            <remarks>The format of the data will depend on the identifier.</remarks>
        </member>
        <member name="T:DiscUtils.Udf.FilePermissions">
            <summary>
            Standard Unix-style file system permissions.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.None">
            <summary>
            No permissions.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.OthersExecute">
            <summary>
            Any user execute permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.OthersWrite">
            <summary>
            Any user write permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.OthersRead">
            <summary>
            Any user read permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.OthersChangeAttributes">
            <summary>
            Any user change attributes permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.OthersDelete">
            <summary>
            Any user delete permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.GroupExecute">
            <summary>
            Group execute permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.GroupWrite">
            <summary>
            Group write permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.GroupRead">
            <summary>
            Group read permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.GroupChangeAttributes">
            <summary>
            Group change attributes permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.GroupDelete">
            <summary>
            Group delete permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.OwnerExecute">
            <summary>
            Owner execute permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.OwnerWrite">
            <summary>
            Owner write permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.OwnerRead">
            <summary>
            Owner read permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.OwnerChangeAttributes">
            <summary>
            Owner change attributes permission.
            </summary>
        </member>
        <member name="F:DiscUtils.Udf.FilePermissions.OwnerDelete">
            <summary>
            Owner delete permission.
            </summary>
        </member>
        <member name="T:DiscUtils.Udf.UdfReader">
            <summary>
            Class for accessing OSTA Universal Disk Format file systems.
            </summary>
        </member>
        <member name="M:DiscUtils.Udf.UdfReader.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the UdfReader class.
            </summary>
            <param name="data">The stream containing the UDF file system</param>
        </member>
        <member name="M:DiscUtils.Udf.UdfReader.#ctor(System.IO.Stream,System.Int32)">
            <summary>
            Initializes a new instance of the UdfReader class.
            </summary>
            <param name="data">The stream containing the UDF file system</param>
            <param name="sectorSize">The sector size of the physical media</param>
        </member>
        <member name="M:DiscUtils.Udf.UdfReader.Detect(System.IO.Stream)">
            <summary>
            Detects if a stream contains a valid UDF file system.
            </summary>
            <param name="data">The stream to inspect</param>
            <returns><c>true</c> if the stream contains a UDF file system, else false.</returns>
        </member>
        <member name="M:DiscUtils.Udf.UdfReader.GetExtendedAttributes(System.String)">
            <summary>
            Gets UDF extended attributes for a file or directory.
            </summary>
            <param name="path">Path to the file or directory</param>
            <returns>Array of extended attributes, which may be empty or <c>null</c> if
            there are no extended attributes.</returns>
        </member>
        <member name="T:DiscUtils.UnixFilePermissions">
            <summary>
            Standard Unix-style file system permissions.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.None">
            <summary>
            No permissions.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.OthersExecute">
            <summary>
            Any user execute permission.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.OthersWrite">
            <summary>
            Any user write permission.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.OthersRead">
            <summary>
            Any user read permission.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.OthersAll">
            <summary>
            Any user all permissions.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.GroupExecute">
            <summary>
            Group execute permission.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.GroupWrite">
            <summary>
            Group write permission.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.GroupRead">
            <summary>
            Group read permission.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.GroupAll">
            <summary>
            Group all permissions.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.OwnerExecute">
            <summary>
            Owner execute permission.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.OwnerWrite">
            <summary>
            Owner write permission.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.OwnerRead">
            <summary>
            Owner read permission.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.OwnerAll">
            <summary>
            Owner all permissions.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.Sticky">
            <summary>
            Sticky bit (meaning ill-defined).
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.SetGroupId">
            <summary>
            Set GUID on execute.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFilePermissions.SetUserId">
            <summary>
            Set UID on execute.
            </summary>
        </member>
        <member name="T:DiscUtils.UnixFileSystemInfo">
            <summary>
            Information about a file or directory common to most Unix systems.
            </summary>
        </member>
        <member name="P:DiscUtils.UnixFileSystemInfo.UserId">
            <summary>
            Gets or sets the user that owns this file or directory.
            </summary>
        </member>
        <member name="P:DiscUtils.UnixFileSystemInfo.GroupId">
            <summary>
            Gets or sets the group that owns this file or directory.
            </summary>
        </member>
        <member name="P:DiscUtils.UnixFileSystemInfo.Permissions">
            <summary>
            Gets or sets the file permissions (aka flags) for this file or directory.
            </summary>
        </member>
        <member name="P:DiscUtils.UnixFileSystemInfo.FileType">
            <summary>
            Gets or sets the file's type.
            </summary>
        </member>
        <member name="P:DiscUtils.UnixFileSystemInfo.Inode">
            <summary>
            Gets or sets the file's serial number (unique within file system).
            </summary>
        </member>
        <member name="P:DiscUtils.UnixFileSystemInfo.LinkCount">
            <summary>
            Gets or sets the number of hard links to this file.
            </summary>
        </member>
        <member name="P:DiscUtils.UnixFileSystemInfo.DeviceId">
            <summary>
            Gets or sets the device id of the referenced device (for character and block devices).
            </summary>
        </member>
        <member name="T:DiscUtils.UnixFileType">
            <summary>
            Standard Unix-style file type.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFileType.None">
            <summary>
            No type specified.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFileType.Fifo">
            <summary>
            A FIFO / Named Pipe.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFileType.Character">
            <summary>
            A character device.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFileType.Directory">
            <summary>
            A normal directory.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFileType.Block">
            <summary>
            A block device.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFileType.Regular">
            <summary>
            A regular file.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFileType.Link">
            <summary>
            A soft link.
            </summary>
        </member>
        <member name="F:DiscUtils.UnixFileType.Socket">
            <summary>
            A unix socket.
            </summary>
        </member>
        <member name="F:DiscUtils.Utilities.SectorSize">
            <summary>
            The number of bytes in a standard disk sector (512).
            </summary>
        </member>
        <member name="F:DiscUtils.Utilities.UnixEpoch">
            <summary>
            The Epoch common to most (all?) Unix systems.
            </summary>
        </member>
        <member name="M:DiscUtils.Utilities.RoundUp(System.Int64,System.Int64)">
            <summary>
            Round up a value to a multiple of a unit size.
            </summary>
            <param name="value">The value to round up</param>
            <param name="unit">The unit (the returned value will be a multiple of this number)</param>
            <returns>The rounded-up value</returns>
        </member>
        <member name="M:DiscUtils.Utilities.RoundUp(System.Int32,System.Int32)">
            <summary>
            Round up a value to a multiple of a unit size.
            </summary>
            <param name="value">The value to round up</param>
            <param name="unit">The unit (the returned value will be a multiple of this number)</param>
            <returns>The rounded-up value</returns>
        </member>
        <member name="M:DiscUtils.Utilities.RoundDown(System.Int64,System.Int64)">
            <summary>
            Round down a value to a multiple of a unit size.
            </summary>
            <param name="value">The value to round down</param>
            <param name="unit">The unit (the returned value will be a multiple of this number)</param>
            <returns>The rounded-down value</returns>
        </member>
        <member name="M:DiscUtils.Utilities.Ceil(System.Int32,System.Int32)">
            <summary>
            Calculates the CEIL function.
            </summary>
            <param name="numerator">The value to divide</param>
            <param name="denominator">The value to divide by</param>
            <returns>The value of CEIL(numerator/denominator)</returns>
        </member>
        <member name="M:DiscUtils.Utilities.Ceil(System.UInt32,System.UInt32)">
            <summary>
            Calculates the CEIL function.
            </summary>
            <param name="numerator">The value to divide</param>
            <param name="denominator">The value to divide by</param>
            <returns>The value of CEIL(numerator/denominator)</returns>
        </member>
        <member name="M:DiscUtils.Utilities.Ceil(System.Int64,System.Int64)">
            <summary>
            Calculates the CEIL function.
            </summary>
            <param name="numerator">The value to divide</param>
            <param name="denominator">The value to divide by</param>
            <returns>The value of CEIL(numerator/denominator)</returns>
        </member>
        <member name="M:DiscUtils.Utilities.Map``2(System.Collections.Generic.ICollection{``0},DiscUtils.Func{``0,``1})">
            <summary>
            Converts between two arrays.
            </summary>
            <typeparam name="T">The type of the elements of the source array</typeparam>
            <typeparam name="U">The type of the elements of the destination array</typeparam>
            <param name="source">The source array</param>
            <param name="func">The function to map from source type to destination type</param>
            <returns>The resultant array</returns>
        </member>
        <member name="M:DiscUtils.Utilities.Map``2(System.Collections.Generic.IEnumerable{``0},DiscUtils.Func{``0,``1})">
            <summary>
            Converts between two arrays.
            </summary>
            <typeparam name="T">The type of the elements of the source array</typeparam>
            <typeparam name="U">The type of the elements of the destination array</typeparam>
            <param name="source">The source array</param>
            <param name="func">The function to map from source type to destination type</param>
            <returns>The resultant array</returns>
        </member>
        <member name="M:DiscUtils.Utilities.Filter``2(System.Collections.Generic.ICollection{``1},DiscUtils.Func{``1,System.Boolean})">
            <summary>
            Filters a collection into a new collection.
            </summary>
            <typeparam name="C">The type of the new collection</typeparam>
            <typeparam name="T">The type of the collection entries</typeparam>
            <param name="source">The collection to filter</param>
            <param name="predicate">The predicate to select which entries are carried over</param>
            <returns>The new collection, containing all entries where the predicate returns <c>true</c></returns>
        </member>
        <member name="M:DiscUtils.Utilities.RangesOverlap``1(``0,``0,``0,``0)">
            <summary>
            Indicates if two ranges overlap.
            </summary>
            <typeparam name="T">The type of the ordinals</typeparam>
            <param name="xFirst">The lowest ordinal of the first range (inclusive)</param>
            <param name="xLast">The highest ordinal of the first range (exclusive)</param>
            <param name="yFirst">The lowest ordinal of the second range (inclusive)</param>
            <param name="yLast">The highest ordinal of the second range (exclusive)</param>
            <returns><c>true</c> if the ranges overlap, else <c>false</c></returns>
        </member>
        <member name="M:DiscUtils.Utilities.StringToBytes(System.String,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Primitive conversion from Unicode to ASCII that preserves special characters.
            </summary>
            <param name="value">The string to convert</param>
            <param name="dest">The buffer to fill</param>
            <param name="offset">The start of the string in the buffer</param>
            <param name="count">The number of characters to convert</param>
            <remarks>The built-in ASCIIEncoding converts characters of codepoint > 127 to ?,
            this preserves those code points by removing the top 16 bits of each character.</remarks>
        </member>
        <member name="M:DiscUtils.Utilities.BytesToString(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Primitive conversion from ASCII to Unicode that preserves special characters.
            </summary>
            <param name="data">The data to convert</param>
            <param name="offset">The first byte to convert</param>
            <param name="count">The number of bytes to convert</param>
            <returns>The string</returns>
            <remarks>The built-in ASCIIEncoding converts characters of codepoint > 127 to ?,
            this preserves those code points.</remarks>
        </member>
        <member name="M:DiscUtils.Utilities.BytesToZString(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Primitive conversion from ASCII to Unicode that stops at a null-terminator.
            </summary>
            <param name="data">The data to convert</param>
            <param name="offset">The first byte to convert</param>
            <param name="count">The number of bytes to convert</param>
            <returns>The string</returns>
            <remarks>The built-in ASCIIEncoding converts characters of codepoint > 127 to ?,
            this preserves those code points.</remarks>
        </member>
        <member name="M:DiscUtils.Utilities.GetDirectoryFromPath(System.String)">
            <summary>
            Extracts the directory part of a path.
            </summary>
            <param name="path">The path to process</param>
            <returns>The directory part</returns>
        </member>
        <member name="M:DiscUtils.Utilities.GetFileFromPath(System.String)">
            <summary>
            Extracts the file part of a path.
            </summary>
            <param name="path">The path to process</param>
            <returns>The file part of the path</returns>
        </member>
        <member name="M:DiscUtils.Utilities.CombinePaths(System.String,System.String)">
            <summary>
            Combines two paths.
            </summary>
            <param name="a">The first part of the path</param>
            <param name="b">The second part of the path</param>
            <returns>The combined path</returns>
        </member>
        <member name="M:DiscUtils.Utilities.ResolveRelativePath(System.String,System.String)">
            <summary>
            Resolves a relative path into an absolute one.
            </summary>
            <param name="basePath">The base path to resolve from</param>
            <param name="relativePath">The relative path</param>
            <returns>The absolute path, so far as it can be resolved.  If the
            <paramref name="relativePath"/> contains more '..' characters than the
            base path contains levels of directory, the resultant string will be relative.
            For example: (TEMP\Foo.txt, ..\..\Bar.txt) gives (..\Bar.txt).</returns>
        </member>
        <member name="M:DiscUtils.Utilities.ReadFully(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Read bytes until buffer filled or EOF.
            </summary>
            <param name="stream">The stream to read</param>
            <param name="buffer">The buffer to populate</param>
            <param name="offset">Offset in the buffer to start</param>
            <param name="length">The number of bytes to read</param>
            <returns>The number of bytes actually read.</returns>
        </member>
        <member name="M:DiscUtils.Utilities.ReadFully(System.IO.Stream,System.Int32)">
            <summary>
            Read bytes until buffer filled or throw IOException.
            </summary>
            <param name="stream">The stream to read</param>
            <param name="count">The number of bytes to read</param>
            <returns>The data read from the stream</returns>
        </member>
        <member name="M:DiscUtils.Utilities.ReadFully(DiscUtils.IBuffer,System.Int64,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Read bytes until buffer filled or EOF.
            </summary>
            <param name="buffer">The stream to read</param>
            <param name="pos">The position in buffer to read from</param>
            <param name="data">The buffer to populate</param>
            <param name="offset">Offset in the buffer to start</param>
            <param name="length">The number of bytes to read</param>
            <returns>The number of bytes actually read.</returns>
        </member>
        <member name="M:DiscUtils.Utilities.ReadFully(DiscUtils.IBuffer,System.Int64,System.Int32)">
            <summary>
            Read bytes until buffer filled or throw IOException.
            </summary>
            <param name="buffer">The buffer to read</param>
            <param name="pos">The position in buffer to read from</param>
            <param name="count">The number of bytes to read</param>
            <returns>The data read from the stream</returns>
        </member>
        <member name="M:DiscUtils.Utilities.ReadAll(DiscUtils.IBuffer)">
            <summary>
            Read bytes until buffer filled or throw IOException.
            </summary>
            <param name="buffer">The buffer to read</param>
            <returns>The data read from the stream</returns>
        </member>
        <member name="M:DiscUtils.Utilities.ReadSector(System.IO.Stream)">
            <summary>
            Reads a disk sector (512 bytes).
            </summary>
            <param name="stream">The stream to read</param>
            <returns>The sector data as a byte array</returns>
        </member>
        <member name="M:DiscUtils.Utilities.ReadStruct``1(System.IO.Stream)">
            <summary>
            Reads a structure from a stream.
            </summary>
            <typeparam name="T">The type of the structure</typeparam>
            <param name="stream">The stream to read</param>
            <returns>The structure</returns>
        </member>
        <member name="M:DiscUtils.Utilities.ReadStruct``1(System.IO.Stream,System.Int32)">
            <summary>
            Reads a structure from a stream.
            </summary>
            <typeparam name="T">The type of the structure</typeparam>
            <param name="stream">The stream to read</param>
            <param name="length">The number of bytes to read</param>
            <returns>The structure</returns>
        </member>
        <member name="M:DiscUtils.Utilities.WriteStruct``1(System.IO.Stream,``0)">
            <summary>
            Writes a structure to a stream.
            </summary>
            <typeparam name="T">The type of the structure</typeparam>
            <param name="stream">The stream to write to</param>
            <param name="obj">The structure to write</param>
        </member>
        <member name="M:DiscUtils.Utilities.PumpStreams(System.IO.Stream,System.IO.Stream)">
            <summary>
            Copies the contents of one stream to another.
            </summary>
            <param name="source">The stream to copy from</param>
            <param name="dest">The destination stream</param>
            <remarks>Copying starts at the current stream positions</remarks>
        </member>
        <member name="M:DiscUtils.Utilities.Is8Dot3(System.String)">
            <summary>
            Indicates if a file name matches the 8.3 pattern.
            </summary>
            <param name="name">The name to test</param>
            <returns><c>true</c> if the name is 8.3, otherwise <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.Utilities.ConvertWildcardsToRegEx(System.String)">
            <summary>
            Converts a 'standard' wildcard file/path specification into a regular expression.
            </summary>
            <param name="pattern">The wildcard pattern to convert</param>
            <returns>The resultant regular expression</returns>
            <remarks>
            The wildcard * (star) matches zero or more characters (including '.'), and ?
            (question mark) matches precisely one character (except '.').
            </remarks>
        </member>
        <member name="T:DiscUtils.Vdi.Disk">
            <summary>
            Represents a disk stored in VirtualBox (Sun xVM) format.
            </summary>
        </member>
        <member name="M:DiscUtils.Vdi.Disk.#ctor(System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the Disk class.
            </summary>
            <param name="path">The path to the disk</param>
            <param name="access">The access requested to the disk</param>
        </member>
        <member name="M:DiscUtils.Vdi.Disk.#ctor(DiscUtils.Vdi.DiskImageFile)">
            <summary>
            Initializes a new instance of the Disk class.
            </summary>
            <param name="file">The file containing the disk image.</param>
        </member>
        <member name="M:DiscUtils.Vdi.Disk.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are not supported.
            </summary>
            <param name="stream">The stream to read</param>
        </member>
        <member name="M:DiscUtils.Vdi.Disk.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are not supported.
            </summary>
            <param name="stream">The stream to read</param>
            <param name="ownsStream">Indicates if the new disk should take ownership of <paramref name="stream"/> lifetime.</param>
        </member>
        <member name="M:DiscUtils.Vdi.Disk.InitializeFixed(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as a fixed-sized VDI file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a VDI file</returns>
        </member>
        <member name="M:DiscUtils.Vdi.Disk.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as a dynamically-sized VDI file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a VDI file</returns>
        </member>
        <member name="M:DiscUtils.Vdi.Disk.CreateDifferencingDisk(DiscUtils.DiscFileSystem,System.String)">
            <summary>
            Create a new differencing disk, possibly within an existing disk.
            </summary>
            <param name="fileSystem">The file system to create the disk on</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Vdi.Disk.CreateDifferencingDisk(System.String)">
            <summary>
            Create a new differencing disk.
            </summary>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Vdi.Disk.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing">Set to <c>true</c> if called within Dispose(),
            else <c>false</c>.</param>
        </member>
        <member name="P:DiscUtils.Vdi.Disk.Geometry">
            <summary>
            Gets the geometry of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vdi.Disk.DiskClass">
            <summary>
            Gets the type of disk represented by this object.
            </summary>
        </member>
        <member name="P:DiscUtils.Vdi.Disk.Capacity">
            <summary>
            Gets the capacity of the disk (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Vdi.Disk.Content">
            <summary>
            Gets the content of the disk as a stream.
            </summary>
            <remarks>Note the returned stream is not guaranteed to be at any particular position.  The actual position
            will depend on the last partition table/file system activity, since all access to the disk contents pass
            through a single stream instance.  Set the stream position before accessing the stream.</remarks>
        </member>
        <member name="P:DiscUtils.Vdi.Disk.Layers">
            <summary>
            Gets the layers that make up the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vdi.Disk.DiskTypeInfo">
            <summary>
            Gets information about the type of disk.
            </summary>
            <remarks>This property provides access to meta-data about the disk format, for example whether the
            BIOS geometry is preserved in the disk file.</remarks>
        </member>
        <member name="T:DiscUtils.Vdi.DiskImageFile">
            <summary>
            Represents a single VirtualBox disk (.vdi file).
            </summary>
        </member>
        <member name="F:DiscUtils.Vdi.DiskImageFile._writeOccurred">
            <summary>
            Indicates if a write occurred, indicating the marker in the header needs
            to be updated.
            </summary>
        </member>
        <member name="F:DiscUtils.Vdi.DiskImageFile._ownsStream">
            <summary>
            Indicates if this object controls the lifetime of the stream.
            </summary>
        </member>
        <member name="M:DiscUtils.Vdi.DiskImageFile.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="stream">The stream to interpret</param>
        </member>
        <member name="M:DiscUtils.Vdi.DiskImageFile.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="stream">The stream to interpret</param>
            <param name="ownsStream">Indicates if the new instance should control the lifetime of the stream.</param>
        </member>
        <member name="M:DiscUtils.Vdi.DiskImageFile.InitializeFixed(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as a fixed-sized VDI file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a VDI file</returns>
        </member>
        <member name="M:DiscUtils.Vdi.DiskImageFile.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as a dynamically-sized VDI file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a VDI file</returns>
        </member>
        <member name="M:DiscUtils.Vdi.DiskImageFile.OpenContent(DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Opens the content of the disk image file as a stream.
            </summary>
            <param name="parent">The parent file's content (if any)</param>
            <param name="ownsParent">Whether the created stream assumes ownership of parent stream</param>
            <returns>The new content stream</returns>
        </member>
        <member name="M:DiscUtils.Vdi.DiskImageFile.GetParentLocations">
            <summary>
            Gets the possible locations of the parent file (if any).
            </summary>
            <returns>Array of strings, empty if no parent</returns>
        </member>
        <member name="M:DiscUtils.Vdi.DiskImageFile.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing">Set to <c>true</c> if called within Dispose(),
            else <c>false</c>.</param>
        </member>
        <member name="P:DiscUtils.Vdi.DiskImageFile.IsSparse">
            <summary>
            Gets a value indicating if the layer only stores meaningful sectors.
            </summary>
        </member>
        <member name="P:DiscUtils.Vdi.DiskImageFile.NeedsParent">
            <summary>
            Gets a value indicating whether the file is a differencing disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vdi.DiskImageFile.Geometry">
            <summary>
            Gets (a guess at) the geometry of the virtual disk.
            </summary>
        </member>
        <member name="T:DiscUtils.Vfs.VfsFileSystemFactoryAttribute">
            <summary>
            Attribute identifying file system factory classes.
            </summary>
        </member>
        <member name="T:DiscUtils.Vfs.VfsFileSystemOpener">
            <summary>
            Delegate for instantiating a file system.
            </summary>
            <param name="stream">The stream containing the file system</param>
            <param name="volumeInfo">Optional, information about the volume the file system is on</param>
            <param name="parameters">Parameters for the file system</param>
            <returns>A file system implementation</returns>
        </member>
        <member name="T:DiscUtils.Vfs.VfsFileSystemInfo">
            <summary>
            Class holding information about a file system.
            </summary>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemInfo.#ctor(System.String,System.String,DiscUtils.Vfs.VfsFileSystemOpener)">
            <summary>
            Initializes a new instance of the VfsFileSystemInfo class.
            </summary>
            <param name="name">The name of the file system</param>
            <param name="description">A one-line description of the file system</param>
            <param name="openDelegate">A delegate that can open streams as the indicated file system</param>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemInfo.Open(DiscUtils.VolumeInfo,DiscUtils.FileSystemParameters)">
            <summary>
            Opens a volume using the file system.
            </summary>
            <param name="volume">The volume to access</param>
            <param name="parameters">Parameters for the file system</param>
            <returns>A file system instance</returns>
        </member>
        <member name="M:DiscUtils.Vfs.VfsFileSystemInfo.Open(System.IO.Stream,DiscUtils.FileSystemParameters)">
            <summary>
            Opens a stream using the file system.
            </summary>
            <param name="stream">The stream to access</param>
            <param name="parameters">Parameters for the file system</param>
            <returns>A file system instance</returns>
        </member>
        <member name="P:DiscUtils.Vfs.VfsFileSystemInfo.Name">
            <summary>
            Gets the name of the file system.
            </summary>
        </member>
        <member name="P:DiscUtils.Vfs.VfsFileSystemInfo.Description">
            <summary>
            Gets a one-line description of the file system.
            </summary>
        </member>
        <member name="T:DiscUtils.Vhdx.Chunk">
            <summary>
            Represents a chunk of blocks in the Block Allocation Table.
            </summary>
            <remarks>
            The BAT entries for a chunk are always present in the BAT, but the data blocks and
            sector bitmap blocks may (or may not) be present.
            </remarks>
        </member>
        <member name="T:DiscUtils.Vhdx.Disk">
            <summary>
            Represents a VHDX-backed disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhdx.Disk._files">
            <summary>
            The list of files that make up the disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhdx.Disk._content">
            <summary>
            The stream representing the disk's contents.
            </summary>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are not supported.
            </summary>
            <param name="stream">The stream to read</param>
            <param name="ownsStream">Indicates if the new instance should control the lifetime of the stream.</param>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.#ctor(System.String)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are supported.
            </summary>
            <param name="path">The path to the disk image</param>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.#ctor(System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are supported.
            </summary>
            <param name="path">The path to the disk image</param>
            <param name="access">The access requested to the disk</param>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.#ctor(DiscUtils.DiscFileSystem,System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are supported.
            </summary>
            <param name="fileSystem">The file system containing the disk.</param>
            <param name="path">The file system relative path to the disk.</param>
            <param name="access">The access requested to the disk.</param>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.#ctor(System.Collections.Generic.IList{DiscUtils.Vhdx.DiskImageFile},DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disk class.
            </summary>
            <param name="files">The set of image files</param>
            <param name="ownsFiles">Indicates if the new instance controls the lifetime of the image files</param>
            <remarks>The disks shound be ordered with the first file referencing the second, etc.  The final
            file must not require any parent.</remarks>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.#ctor(DiscUtils.FileLocator,System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are supported.
            </summary>
            <param name="locator">The locator to access relative files</param>
            <param name="path">The path to the disk image</param>
            <param name="access">The access requested to the disk</param>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.#ctor(DiscUtils.Vhdx.DiskImageFile,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are not supported.
            </summary>
            <param name="file">The file containing the disk</param>
            <param name="ownsFile">Indicates if the new instance should control the lifetime of the file.</param>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.#ctor(DiscUtils.Vhdx.DiskImageFile,DiscUtils.Ownership,DiscUtils.FileLocator,System.String)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are supported.
            </summary>
            <param name="file">The file containing the disk</param>
            <param name="ownsFile">Indicates if the new instance should control the lifetime of the file.</param>
            <param name="parentLocator">Object used to locate the parent disk</param>
            <param name="parentPath">Path to the parent disk (if required)</param>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.#ctor(DiscUtils.Vhdx.DiskImageFile,DiscUtils.Ownership,DiscUtils.Vhdx.DiskImageFile,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are supported.
            </summary>
            <param name="file">The file containing the disk</param>
            <param name="ownsFile">Indicates if the new instance should control the lifetime of the file.</param>
            <param name="parentFile">The file containing the disk's parent</param>
            <param name="ownsParent">Indicates if the new instance should control the lifetime of the parentFile</param>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.InitializeFixed(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as a fixed-sized VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.InitializeFixed(System.IO.Stream,DiscUtils.Ownership,System.Int64,DiscUtils.Geometry)">
            <summary>
            Initializes a stream as a fixed-sized VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as a dynamically-sized VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64,DiscUtils.Geometry)">
            <summary>
            Initializes a stream as a dynamically-sized VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64,System.Int64)">
            <summary>
            Initializes a stream as a dynamically-sized VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="blockSize">The size of each block (unit of allocation)</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.InitializeDifferencing(System.String,System.String)">
            <summary>
            Creates a new VHDX differencing disk file.
            </summary>
            <param name="path">The path to the new disk file</param>
            <param name="parentPath">The path to the parent disk file</param>
            <returns>An object that accesses the new file as a Disk</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.InitializeDifferencing(System.IO.Stream,DiscUtils.Ownership,DiscUtils.Vhdx.DiskImageFile,DiscUtils.Ownership,System.String,System.String,System.DateTime)">
            <summary>
            Initializes a stream as a differencing disk VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the <paramref name="stream"/>.</param>
            <param name="parent">The disk this file is a different from.</param>
            <param name="ownsParent">Indicates if the new instance controls the lifetime of the <paramref name="parent"/> file.</param>
            <param name="parentAbsolutePath">The full path to the parent disk.</param>
            <param name="parentRelativePath">The relative path from the new disk to the parent disk.</param>
            <param name="parentModificationTime">The time the parent disk's file was last modified (from file system).</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.CreateDifferencingDisk(DiscUtils.DiscFileSystem,System.String)">
            <summary>
            Create a new differencing disk, possibly within an existing disk.
            </summary>
            <param name="fileSystem">The file system to create the disk on</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.CreateDifferencingDisk(System.String)">
            <summary>
            Create a new differencing disk.
            </summary>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.Disk.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing">Set to <c>true</c> if called within Dispose(),
            else <c>false</c>.</param>
        </member>
        <member name="P:DiscUtils.Vhdx.Disk.Geometry">
            <summary>
            Gets the geometry of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhdx.Disk.DiskClass">
            <summary>
            Gets the type of disk represented by this object.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhdx.Disk.Capacity">
            <summary>
            Gets the capacity of the disk (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Vhdx.Disk.Content">
            <summary>
            Gets the content of the disk as a stream.
            </summary>
            <remarks>Note the returned stream is not guaranteed to be at any particular position.  The actual position
            will depend on the last partition table/file system activity, since all access to the disk contents pass
            through a single stream instance.  Set the stream position before accessing the stream.</remarks>
        </member>
        <member name="P:DiscUtils.Vhdx.Disk.Layers">
            <summary>
            Gets the layers that make up the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhdx.Disk.DiskTypeInfo">
            <summary>
            Gets information about the type of disk.
            </summary>
            <remarks>This property provides access to meta-data about the disk format, for example whether the
            BIOS geometry is preserved in the disk file.</remarks>
        </member>
        <member name="T:DiscUtils.VirtualDiskExtent">
            <summary>
            Base class represented a stored extent of a virtual disk.
            </summary>
            <remarks>
            Some file formats can divide a logical disk layer into multiple extents, stored in
            different files.  This class represents those extents.  Normally, all virtual disks
            have at least one extent.
            </remarks>
        </member>
        <member name="M:DiscUtils.VirtualDiskExtent.OpenContent(DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Gets the content of this extent.
            </summary>
            <param name="parent">The parent stream (if any)</param>
            <param name="ownsParent">Controls ownership of the parent stream</param>
            <returns>The content as a stream</returns>
        </member>
        <member name="M:DiscUtils.VirtualDiskExtent.Dispose">
            <summary>
            Disposes of this instance, freeing underlying resources.
            </summary>
        </member>
        <member name="M:DiscUtils.VirtualDiskExtent.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing"><c>true</c> if running inside Dispose(), indicating
            graceful cleanup of all managed objects should be performed, or <c>false</c>
            if running inside destructor.</param>
        </member>
        <member name="P:DiscUtils.VirtualDiskExtent.IsSparse">
            <summary>
            Gets a value indicating whether the extent only stores meaningful sectors.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskExtent.Capacity">
            <summary>
            Gets the capacity of the extent (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskExtent.StoredSize">
            <summary>
            Gets the size of the extent (in bytes) on underlying storage.
            </summary>
        </member>
        <member name="T:DiscUtils.Vhdx.DiskImageFile">
            <summary>
            Represents a single .VHDX file.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhdx.DiskImageFile._fileStream">
            <summary>
            The stream containing the VHDX file.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhdx.DiskImageFile._ownsStream">
            <summary>
            Indicates if this object controls the lifetime of the stream.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhdx.DiskImageFile._fileLocator">
            <summary>
            The object that can be used to locate relative file paths.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhdx.DiskImageFile._fileName">
            <summary>
            The file name of this VHDX.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhdx.DiskImageFile._header">
            <summary>
            Value of the active VHDX header.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhdx.DiskImageFile._activeHeader">
            <summary>
            Which VHDX header is active.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhdx.DiskImageFile._regionTable">
            <summary>
            The set of VHDX regions.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhdx.DiskImageFile._metadata">
            <summary>
            VHDX metadata region content.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhdx.DiskImageFile._batStream">
            <summary>
            Block Allocation Table for disk content.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhdx.DiskImageFile._freeSpace">
            <summary>
            Table of all free space in the file.
            </summary>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="stream">The stream to interpret</param>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="stream">The stream to interpret</param>
            <param name="ownsStream">Indicates if the new instance should control the lifetime of the stream.</param>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.#ctor(System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="path">The file path to open</param>
            <param name="access">Controls how the file can be accessed</param>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.InitializeFixed(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as a fixed-sized VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.InitializeFixed(System.IO.Stream,DiscUtils.Ownership,System.Int64,DiscUtils.Geometry)">
            <summary>
            Initializes a stream as a fixed-sized VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as a dynamically-sized VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64,DiscUtils.Geometry)">
            <summary>
            Initializes a stream as a dynamically-sized VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64,System.Int64)">
            <summary>
            Initializes a stream as a dynamically-sized VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="blockSize">The size of each block (unit of allocation)</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64,DiscUtils.Geometry,System.Int64)">
            <summary>
            Initializes a stream as a dynamically-sized VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <param name="blockSize">The size of each block (unit of allocation)</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.InitializeDifferencing(System.IO.Stream,DiscUtils.Ownership,DiscUtils.Vhdx.DiskImageFile,System.String,System.String,System.DateTime)">
            <summary>
            Initializes a stream as a differencing disk VHDX file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="parent">The disk this file is a different from.</param>
            <param name="parentAbsolutePath">The full path to the parent disk.</param>
            <param name="parentRelativePath">The relative path from the new disk to the parent disk.</param>
            <param name="parentModificationTimeUtc">The time the parent disk's file was last modified (from file system).</param>
            <returns>An object that accesses the stream as a VHDX file</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.OpenRegion(System.Guid)">
            <summary>
            Opens an existing region within the VHDX file.
            </summary>
            <param name="region">Identifier for the region to open.</param>
            <returns>A stream containing the region data.</returns>
            <remarks>Regions are an extension mechanism in VHDX - with some regions defined by
            the VHDX specification to hold metadata and the block allocation data.</remarks>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.OpenContent(DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Opens the content of the disk image file as a stream.
            </summary>
            <param name="parent">The parent file's content (if any)</param>
            <param name="ownsParent">Whether the created stream assumes ownership of parent stream</param>
            <returns>The new content stream</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.GetParentLocations">
            <summary>
            Gets the location of the parent file, given a base path.
            </summary>
            <returns>Array of candidate file locations</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.GetParentLocations(System.String)">
            <summary>
            Gets the location of the parent file, given a base path.
            </summary>
            <param name="basePath">The full path to this file</param>
            <returns>Array of candidate file locations</returns>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing">Set to <c>true</c> if called within Dispose(),
            else <c>false</c>.</param>
        </member>
        <member name="M:DiscUtils.Vhdx.DiskImageFile.GetParentLocations(DiscUtils.FileLocator)">
            <summary>
            Gets the locations of the parent file.
            </summary>
            <param name="fileLocator">The file locator to use</param>
            <returns>Array of candidate file locations</returns>
        </member>
        <member name="P:DiscUtils.Vhdx.DiskImageFile.ParentUniqueId">
            <summary>
            Gets the unique id of the parent disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhdx.DiskImageFile.Geometry">
            <summary>
            Gets the geometry of the virtual disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhdx.DiskImageFile.IsSparse">
            <summary>
            Gets a value indicating if the layer only stores meaningful sectors.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhdx.DiskImageFile.FullPath">
            <summary>
            Gets the full path to this disk layer, or empty string.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhdx.DiskImageFile.NeedsParent">
            <summary>
            Gets a value indicating whether the file is a differencing disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhdx.DiskImageFile.UniqueId">
            <summary>
            Gets the unique id of this file.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhdx.DiskImageFile.Extents">
            <summary>
            Gets the extent that comprises this file.
            </summary>
        </member>
        <member name="T:DiscUtils.Vhd.Disk">
            <summary>
            Represents a VHD-backed disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhd.Disk._files">
            <summary>
            The list of files that make up the disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhd.Disk._content">
            <summary>
            The stream representing the disk's contents.
            </summary>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are not supported.
            </summary>
            <param name="stream">The stream to read</param>
            <param name="ownsStream">Indicates if the new instance should control the lifetime of the stream.</param>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.#ctor(System.String)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are supported.
            </summary>
            <param name="path">The path to the disk image</param>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.#ctor(System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are supported.
            </summary>
            <param name="path">The path to the disk image</param>
            <param name="access">The access requested to the disk</param>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.#ctor(DiscUtils.DiscFileSystem,System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are supported.
            </summary>
            <param name="fileSystem">The file system containing the disk.</param>
            <param name="path">The file system relative path to the disk.</param>
            <param name="access">The access requested to the disk.</param>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.#ctor(System.Collections.Generic.IList{DiscUtils.Vhd.DiskImageFile},DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disk class.
            </summary>
            <param name="files">The set of image files</param>
            <param name="ownsFiles">Indicates if the new instance controls the lifetime of the image files</param>
            <remarks>The disks shound be ordered with the first file referencing the second, etc.  The final
            file must not require any parent.</remarks>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.#ctor(DiscUtils.FileLocator,System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are supported.
            </summary>
            <param name="locator">The locator to access relative files</param>
            <param name="path">The path to the disk image</param>
            <param name="access">The access requested to the disk</param>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.#ctor(DiscUtils.Vhd.DiskImageFile,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are not supported.
            </summary>
            <param name="file">The file containing the disk</param>
            <param name="ownsFile">Indicates if the new instance should control the lifetime of the file.</param>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.#ctor(DiscUtils.Vhd.DiskImageFile,DiscUtils.Ownership,DiscUtils.FileLocator,System.String)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are supported.
            </summary>
            <param name="file">The file containing the disk</param>
            <param name="ownsFile">Indicates if the new instance should control the lifetime of the file.</param>
            <param name="parentLocator">Object used to locate the parent disk</param>
            <param name="parentPath">Path to the parent disk (if required)</param>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.#ctor(DiscUtils.Vhd.DiskImageFile,DiscUtils.Ownership,DiscUtils.Vhd.DiskImageFile,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disk class.  Differencing disks are supported.
            </summary>
            <param name="file">The file containing the disk</param>
            <param name="ownsFile">Indicates if the new instance should control the lifetime of the file.</param>
            <param name="parentFile">The file containing the disk's parent</param>
            <param name="ownsParent">Indicates if the new instance should control the lifetime of the parentFile</param>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.InitializeFixed(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as a fixed-sized VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.InitializeFixed(System.IO.Stream,DiscUtils.Ownership,System.Int64,DiscUtils.Geometry)">
            <summary>
            Initializes a stream as a fixed-sized VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as a dynamically-sized VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64,DiscUtils.Geometry)">
            <summary>
            Initializes a stream as a dynamically-sized VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64,System.Int64)">
            <summary>
            Initializes a stream as a dynamically-sized VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="blockSize">The size of each block (unit of allocation)</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.InitializeDifferencing(System.String,System.String)">
            <summary>
            Creates a new VHD differencing disk file.
            </summary>
            <param name="path">The path to the new disk file</param>
            <param name="parentPath">The path to the parent disk file</param>
            <returns>An object that accesses the new file as a Disk</returns>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.InitializeDifferencing(System.IO.Stream,DiscUtils.Ownership,DiscUtils.Vhd.DiskImageFile,DiscUtils.Ownership,System.String,System.String,System.DateTime)">
            <summary>
            Initializes a stream as a differencing disk VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the <paramref name="stream"/>.</param>
            <param name="parent">The disk this file is a different from.</param>
            <param name="ownsParent">Indicates if the new instance controls the lifetime of the <paramref name="parent"/> file.</param>
            <param name="parentAbsolutePath">The full path to the parent disk.</param>
            <param name="parentRelativePath">The relative path from the new disk to the parent disk.</param>
            <param name="parentModificationTime">The time the parent disk's file was last modified (from file system).</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.CreateDifferencingDisk(DiscUtils.DiscFileSystem,System.String)">
            <summary>
            Create a new differencing disk, possibly within an existing disk.
            </summary>
            <param name="fileSystem">The file system to create the disk on</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.CreateDifferencingDisk(System.String)">
            <summary>
            Create a new differencing disk.
            </summary>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Vhd.Disk.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing">Set to <c>true</c> if called within Dispose(),
            else <c>false</c>.</param>
        </member>
        <member name="P:DiscUtils.Vhd.Disk.Geometry">
            <summary>
            Gets the geometry of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.Disk.DiskClass">
            <summary>
            Gets the type of disk represented by this object.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.Disk.Capacity">
            <summary>
            Gets the capacity of the disk (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.Disk.AutoCommitFooter">
            <summary>
            Gets or sets a value indicating whether the VHD footer is written every time a new block is allocated.
            </summary>
            <remarks>
            This is enabled by default, disabling this can make write activity faster - however,
            some software may be unable to access the VHD file if Dispose is not called on this class.
            </remarks>
        </member>
        <member name="P:DiscUtils.Vhd.Disk.Content">
            <summary>
            Gets the content of the disk as a stream.
            </summary>
            <remarks>Note the returned stream is not guaranteed to be at any particular position.  The actual position
            will depend on the last partition table/file system activity, since all access to the disk contents pass
            through a single stream instance.  Set the stream position before accessing the stream.</remarks>
        </member>
        <member name="P:DiscUtils.Vhd.Disk.Layers">
            <summary>
            Gets the layers that make up the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.Disk.DiskTypeInfo">
            <summary>
            Gets information about the type of disk.
            </summary>
            <remarks>This property provides access to meta-data about the disk format, for example whether the
            BIOS geometry is preserved in the disk file.</remarks>
        </member>
        <member name="T:DiscUtils.Vhd.DiskBuilder">
            <summary>
            Creates new VHD disks by wrapping existing streams.
            </summary>
            <remarks>Using this method for creating virtual disks avoids consuming
            large amounts of memory, or going via the local file system when the aim
            is simply to present a VHD version of an existing disk.</remarks>
        </member>
        <member name="M:DiscUtils.Vhd.DiskBuilder.Build(System.String)">
            <summary>
            Initiates the build process.
            </summary>
            <param name="baseName">The base name for the VMDK, for example 'foo' to create 'foo.vhd'.</param>
            <returns>A set of one or more logical files that constitute the VHD.  The first file is
            the 'primary' file that is normally attached to VMs.</returns>
        </member>
        <member name="P:DiscUtils.Vhd.DiskBuilder.DiskType">
            <summary>
            Gets or sets the type of VHD file to build.
            </summary>
        </member>
        <member name="T:DiscUtils.Vhd.DiskImageFile">
            <summary>
            Represents a single .VHD file.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhd.DiskImageFile._fileStream">
            <summary>
            The stream containing the VHD file.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhd.DiskImageFile._footer">
            <summary>
            The VHD file's footer.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhd.DiskImageFile._dynamicHeader">
            <summary>
            The VHD file's dynamic header (if not static)
            </summary>
        </member>
        <member name="F:DiscUtils.Vhd.DiskImageFile._ownsStream">
            <summary>
            Indicates if this object controls the lifetime of the stream.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhd.DiskImageFile._fileLocator">
            <summary>
            The object that can be used to locate relative file paths.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhd.DiskImageFile._fileName">
            <summary>
            The file name of this VHD.
            </summary>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="stream">The stream to interpret</param>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="stream">The stream to interpret</param>
            <param name="ownsStream">Indicates if the new instance should control the lifetime of the stream.</param>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.#ctor(System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="path">The file path to open</param>
            <param name="access">Controls how the file can be accessed</param>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.InitializeFixed(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as a fixed-sized VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.InitializeFixed(System.IO.Stream,DiscUtils.Ownership,System.Int64,DiscUtils.Geometry)">
            <summary>
            Initializes a stream as a fixed-sized VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64)">
            <summary>
            Initializes a stream as a dynamically-sized VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64,DiscUtils.Geometry)">
            <summary>
            Initializes a stream as a dynamically-sized VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64,System.Int64)">
            <summary>
            Initializes a stream as a dynamically-sized VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="blockSize">The size of each block (unit of allocation)</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.InitializeDynamic(System.IO.Stream,DiscUtils.Ownership,System.Int64,DiscUtils.Geometry,System.Int64)">
            <summary>
            Initializes a stream as a dynamically-sized VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <param name="blockSize">The size of each block (unit of allocation)</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.InitializeDifferencing(System.IO.Stream,DiscUtils.Ownership,DiscUtils.Vhd.DiskImageFile,System.String,System.String,System.DateTime)">
            <summary>
            Initializes a stream as a differencing disk VHD file.
            </summary>
            <param name="stream">The stream to initialize.</param>
            <param name="ownsStream">Indicates if the new instance controls the lifetime of the stream.</param>
            <param name="parent">The disk this file is a different from.</param>
            <param name="parentAbsolutePath">The full path to the parent disk.</param>
            <param name="parentRelativePath">The relative path from the new disk to the parent disk.</param>
            <param name="parentModificationTimeUtc">The time the parent disk's file was last modified (from file system).</param>
            <returns>An object that accesses the stream as a VHD file</returns>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.OpenContent(DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Opens the content of the disk image file as a stream.
            </summary>
            <param name="parent">The parent file's content (if any)</param>
            <param name="ownsParent">Whether the created stream assumes ownership of parent stream</param>
            <returns>The new content stream</returns>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.GetParentLocations">
            <summary>
            Gets the location of the parent file, given a base path.
            </summary>
            <returns>Array of candidate file locations</returns>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.GetParentLocations(System.String)">
            <summary>
            Gets the location of the parent file, given a base path.
            </summary>
            <param name="basePath">The full path to this file</param>
            <returns>Array of candidate file locations</returns>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.Dispose(System.Boolean)">
            <summary>
            Disposes of underlying resources.
            </summary>
            <param name="disposing">Set to <c>true</c> if called within Dispose(),
            else <c>false</c>.</param>
        </member>
        <member name="M:DiscUtils.Vhd.DiskImageFile.GetParentLocations(DiscUtils.FileLocator)">
            <summary>
            Gets the locations of the parent file.
            </summary>
            <param name="fileLocator">The file locator to use</param>
            <returns>Array of candidate file locations</returns>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFile.ParentUniqueId">
            <summary>
            Gets the unique id of the parent disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFile.Geometry">
            <summary>
            Gets the geometry of the virtual disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFile.IsSparse">
            <summary>
            Gets a value indicating if the layer only stores meaningful sectors.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFile.FullPath">
            <summary>
            Gets the full path to this disk layer, or empty string.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFile.Information">
            <summary>
            Gets detailed information about the VHD file.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFile.NeedsParent">
            <summary>
            Gets a value indicating whether the file is a differencing disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFile.UniqueId">
            <summary>
            Gets the unique id of this file.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFile.CreationTimestamp">
            <summary>
            Gets the timestamp for this file (when it was created).
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFile.Extents">
            <summary>
            Gets the extent that comprises this file.
            </summary>
        </member>
        <member name="T:DiscUtils.Vhd.DiskImageFileInfo">
            <summary>
            Provides read access to detailed information about a VHD file.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.Cookie">
            <summary>
            Gets the cookie indicating this is a VHD file (should be "conectix").
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.Features">
            <summary>
            Gets the Features bit field.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.FileFormatVersion">
            <summary>
            Gets the file format version packed as an integer.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.CreationTimestamp">
            <summary>
            Gets the time the file was created (note: this is not the modification time).
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.CreatorApp">
            <summary>
            Gets the application used to create the file.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.CreatorVersion">
            <summary>
            Gets the version of the application used to create the file, packed as an integer.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.CreatorHostOS">
            <summary>
            Gets the host operating system of the application used to create the file.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.OriginalSize">
            <summary>
            Gets the original size of the disk (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.CurrentSize">
            <summary>
            Gets the current size of the disk (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.Geometry">
            <summary>
            Gets the geometry of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.DiskType">
            <summary>
            Gets the type of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.FooterChecksum">
            <summary>
            Gets the checksum of the file's 'footer'.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.UniqueId">
            <summary>
            Gets the unique identity of this disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.SavedState">
            <summary>
            Gets a flag indicating if the disk has associated saved VM memory state.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.DynamicCookie">
            <summary>
            Gets the cookie indicating a dynamic disk header (should be "cxsparse").
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.DynamicHeaderVersion">
            <summary>
            Gets the version of the dynamic header structure, packed as an integer.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.DynamicBlockCount">
            <summary>
            Gets the number of sparse blocks the file is divided into.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.DynamicBlockSize">
            <summary>
            Gets the size of a sparse allocation block, in bytes.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.DynamicChecksum">
            <summary>
            Gets the checksum value of the dynamic header structure.
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.DynamicParentUniqueId">
            <summary>
            Gets the unique id of the parent file (for differencing disks).
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.DynamicParentTimestamp">
            <summary>
            Gets the modification timestamp of the parent file (for differencing disks).
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.DynamicParentUnicodeName">
            <summary>
            Gets the unicode name of the parent file (for differencing disks).
            </summary>
        </member>
        <member name="P:DiscUtils.Vhd.DiskImageFileInfo.DynamicParentLocators">
            <summary>
            Gets the stored paths to the parent file (for differencing disks).
            </summary>
        </member>
        <member name="T:DiscUtils.Vhd.FileChecker">
            <summary>
            VHD file format verifier, that identifies corrupt VHD files.
            </summary>
        </member>
        <member name="M:DiscUtils.Vhd.FileChecker.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the FileChecker class.
            </summary>
            <param name="stream">The VHD file stream</param>
        </member>
        <member name="M:DiscUtils.Vhd.FileChecker.Check(System.IO.TextWriter,DiscUtils.ReportLevels)">
            <summary>
            Verifies the VHD file, generating a report and a pass/fail indication.
            </summary>
            <param name="reportOutput">The destination for the report</param>
            <param name="levels">How verbose the report should be</param>
            <returns><c>true</c> if the file is valid, else false</returns>
        </member>
        <member name="T:DiscUtils.Vhd.FileType">
            <summary>
            The known types of VHD disks.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhd.FileType.None">
            <summary>
            Unknown type.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhd.FileType.Fixed">
            <summary>
            Fixed-size disk, with space allocated up-front.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhd.FileType.Dynamic">
            <summary>
            Dynamic disk, allocates space as needed.
            </summary>
        </member>
        <member name="F:DiscUtils.Vhd.FileType.Differencing">
            <summary>
            Differencing disk, form of dynamic disk that stores changes relative to another disk.
            </summary>
        </member>
        <member name="T:DiscUtils.VirtualDiskParameters">
            <summary>
            Common parameters for virtual disks.
            </summary>
            <remarks>Not all attributes make sense for all kinds of disks, so some
            may be null.  Modifying instances of this class does not modify the
            disk itself.</remarks>
        </member>
        <member name="P:DiscUtils.VirtualDiskParameters.DiskType">
            <summary>
            Gets or sets the type of disk (optical, hard disk, etc).
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskParameters.Capacity">
            <summary>
            Gets or sets the disk capacity.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskParameters.Geometry">
            <summary>
            Gets or sets the physical (aka IDE) geometry of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskParameters.BiosGeometry">
            <summary>
            Gets or sets the logical (aka BIOS) geometry of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskParameters.AdapterType">
            <summary>
            Gets or sets the type of disk adapter.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskParameters.ExtendedParameters">
            <summary>
            Gets a dictionary of extended parameters, that varies by disk type.
            </summary>
        </member>
        <member name="T:DiscUtils.VirtualDiskClass">
            <summary>
            Enumeration of different classes of disk.
            </summary>
        </member>
        <member name="F:DiscUtils.VirtualDiskClass.None">
            <summary>
            Unknown (or unspecified) type.
            </summary>
        </member>
        <member name="F:DiscUtils.VirtualDiskClass.HardDisk">
            <summary>
            Hard disk.
            </summary>
        </member>
        <member name="F:DiscUtils.VirtualDiskClass.OpticalDisk">
            <summary>
            Optical disk, such as CD or DVD.
            </summary>
        </member>
        <member name="F:DiscUtils.VirtualDiskClass.FloppyDisk">
            <summary>
            Floppy disk.
            </summary>
        </member>
        <member name="T:DiscUtils.GeometryCalculation">
            <summary>
            Delegate for calculating a disk geometry from a capacity.
            </summary>
            <param name="capacity">The disk capacity to convert</param>
            <returns>The appropriate geometry for the disk</returns>
        </member>
        <member name="T:DiscUtils.VirtualDiskTypeInfo">
            <summary>
            Information about a type of virtual disk.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskTypeInfo.Name">
            <summary>
            Gets or sets the name of the virtual disk type.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskTypeInfo.Variant">
            <summary>
            Gets or sets the variant of the virtual disk type.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskTypeInfo.CanBeHardDisk">
            <summary>
            Gets or sets a value indicating whether this disk type can represent hard disks.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskTypeInfo.DeterministicGeometry">
            <summary>
            Gets or sets a value indicating whether this disk type requires a specific geometry for any given disk capacity.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskTypeInfo.PreservesBiosGeometry">
            <summary>
            Gets or sets a value indicating whether this disk type persists the BIOS geometry.
            </summary>
        </member>
        <member name="P:DiscUtils.VirtualDiskTypeInfo.CalcGeometry">
            <summary>
            Gets or sets the algorithm for determining the geometry for a given disk capacity.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._fileStream">
            <summary>
            Stream containing the sparse extent.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._ownsFileStream">
            <summary>
            Indicates if this object controls the lifetime of _fileStream.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._diskOffset">
            <summary>
            Offset of this extent within the disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._parentDiskStream">
            <summary>
            The stream containing the unstored bytes.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._ownsParentDiskStream">
            <summary>
            Indicates if this object controls the lifetime of _parentDiskStream.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._globalDirectory">
            <summary>
            The Global Directory for this extent.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._redundantGlobalDirectory">
            <summary>
            The Redundant Global Directory for this extent.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._header">
            <summary>
            The header from the start of the extent.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._gtCoverage">
            <summary>
            The number of bytes controlled by a single grain table.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._currentGrainTable">
            <summary>
            The current grain that's loaded into _grainTable.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._grainTable">
            <summary>
            The data corresponding to the current grain (or null).
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._position">
            <summary>
            Current position in the extent.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._atEof">
            <summary>
            Indicator to whether end-of-stream has been reached.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.CommonSparseExtentStream._grainTableCache">
            <summary>
            Cache of recently used grain tables.
            </summary>
        </member>
        <member name="T:DiscUtils.Vmdk.Disk">
            <summary>
            Represents a VMDK-backed disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.Disk._files">
            <summary>
            The list of files that make up the disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.Disk._content">
            <summary>
            The stream representing the content of this disk.
            </summary>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.#ctor(System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the Disk class.
            </summary>
            <param name="path">The path to the disk</param>
            <param name="access">The access requested to the disk</param>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.#ctor(DiscUtils.DiscFileSystem,System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the Disk class.
            </summary>
            <param name="fileSystem">The file system containing the disk.</param>
            <param name="path">The file system relative path to the disk.</param>
            <param name="access">The access requested to the disk.</param>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the Disk class.  Only monolithic sparse streams are supported.
            </summary>
            <param name="stream">The stream containing the VMDK file</param>
            <param name="ownsStream">Indicates if the new instances owns the stream.</param>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.Initialize(System.String,DiscUtils.Vmdk.DiskParameters)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="path">The name of the VMDK to create.</param>
            <param name="parameters">The desired parameters for the new disk.</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.Initialize(System.String,System.Int64,DiscUtils.Vmdk.DiskCreateType)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="path">The name of the VMDK to create.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="type">The type of virtual disk to create</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.Initialize(System.String,System.Int64,DiscUtils.Geometry,DiscUtils.Vmdk.DiskCreateType)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="path">The name of the VMDK to create.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <param name="type">The type of virtual disk to create</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.Initialize(DiscUtils.DiscFileSystem,System.String,System.Int64,DiscUtils.Vmdk.DiskCreateType)">
            <summary>
            Creates a new virtual disk at the specified location on a file system.
            </summary>
            <param name="fileSystem">The file system to contain the disk</param>
            <param name="path">The file system path to the disk</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="type">The type of virtual disk to create</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.Initialize(System.String,System.Int64,DiscUtils.Vmdk.DiskCreateType,DiscUtils.Vmdk.DiskAdapterType)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="path">The name of the VMDK to create.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="type">The type of virtual disk to create</param>
            <param name="adapterType">The type of virtual disk adapter</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.Initialize(System.String,System.Int64,DiscUtils.Geometry,DiscUtils.Vmdk.DiskCreateType,DiscUtils.Vmdk.DiskAdapterType)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="path">The name of the VMDK to create.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <param name="type">The type of virtual disk to create</param>
            <param name="adapterType">The type of virtual disk adapter</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.Initialize(DiscUtils.DiscFileSystem,System.String,System.Int64,DiscUtils.Vmdk.DiskCreateType,DiscUtils.Vmdk.DiskAdapterType)">
            <summary>
            Creates a new virtual disk at the specified location on a file system.
            </summary>
            <param name="fileSystem">The file system to contain the disk</param>
            <param name="path">The file system path to the disk</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="type">The type of virtual disk to create</param>
            <param name="adapterType">The type of virtual disk adapter</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.InitializeDifferencing(System.String,DiscUtils.Vmdk.DiskCreateType,System.String)">
            <summary>
            Creates a new virtual disk as a thin clone of an existing disk.
            </summary>
            <param name="path">The path to the new disk.</param>
            <param name="type">The type of disk to create</param>
            <param name="parentPath">The path to the parent disk.</param>
            <returns>The new disk.</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.InitializeDifferencing(DiscUtils.DiscFileSystem,System.String,DiscUtils.Vmdk.DiskCreateType,System.String)">
            <summary>
            Creates a new virtual disk as a thin clone of an existing disk.
            </summary>
            <param name="fileSystem">The file system to contain the disk</param>
            <param name="path">The path to the new disk.</param>
            <param name="type">The type of disk to create</param>
            <param name="parentPath">The path to the parent disk.</param>
            <returns>The new disk.</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.CreateDifferencingDisk(DiscUtils.DiscFileSystem,System.String)">
            <summary>
            Create a new differencing disk, possibly within an existing disk.
            </summary>
            <param name="fileSystem">The file system to create the disk on</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.CreateDifferencingDisk(System.String)">
            <summary>
            Create a new differencing disk.
            </summary>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.Disk.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance.
            </summary>
            <param name="disposing"><c>true</c> if disposing, <c>false</c> if in destructor</param>
        </member>
        <member name="P:DiscUtils.Vmdk.Disk.Geometry">
            <summary>
            Gets the Geometry of this disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.Disk.BiosGeometry">
            <summary>
            Gets the geometry of the disk as it is anticipated a hypervisor BIOS will represent it.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.Disk.DiskClass">
            <summary>
            Gets the type of disk represented by this object.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.Disk.Capacity">
            <summary>
            Gets the capacity of this disk (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.Disk.Content">
            <summary>
            Gets the contents of this disk as a stream.
            </summary>
            <remarks>Note the returned stream is not guaranteed to be at any particular position.  The actual position
            will depend on the last partition table/file system activity, since all access to the disk contents pass
            through a single stream instance.  Set the stream position before accessing the stream.</remarks>
        </member>
        <member name="P:DiscUtils.Vmdk.Disk.Parameters">
            <summary>
            Gets the parameters of the disk.
            </summary>
            <remarks>Most of the parameters are also available individually, such as DiskType and Capacity.</remarks>
        </member>
        <member name="P:DiscUtils.Vmdk.Disk.Layers">
            <summary>
            Gets the layers that make up the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.Disk.DiskTypeInfo">
            <summary>
            Gets information about the type of disk.
            </summary>
            <remarks>This property provides access to meta-data about the disk format, for example whether the
            BIOS geometry is preserved in the disk file.</remarks>
        </member>
        <member name="P:DiscUtils.Vmdk.Disk.Links">
            <summary>
            Gets the links that make up the disk (type-safe version of Layers).
            </summary>
        </member>
        <member name="T:DiscUtils.Vmdk.DiskAdapterType">
            <summary>
            Enumeration of known virtual disk controller (aka adapter) types.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskAdapterType.None">
            <summary>
            Unknown or unspecified.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskAdapterType.Ide">
            <summary>
            IDE controller.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskAdapterType.BusLogicScsi">
            <summary>
            Bus Logic SCSI controller.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskAdapterType.LsiLogicScsi">
            <summary>
            LSI Logic SCSI controller.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskAdapterType.LegacyEsx">
            <summary>
            Legacy ESX controller.
            </summary>
        </member>
        <member name="T:DiscUtils.Vmdk.DiskBuilder">
            <summary>
            Creates new VMDK disks by wrapping existing streams.
            </summary>
            <remarks>Using this method for creating virtual disks avoids consuming
            large amounts of memory, or going via the local file system when the aim
            is simply to present a VMDK version of an existing disk.</remarks>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskBuilder.#ctor">
            <summary>
            Initializes a new instance of the DiskBuilder class.
            </summary>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskBuilder.Build(System.String)">
            <summary>
            Initiates the build process.
            </summary>
            <param name="baseName">The base name for the VMDK, for example 'foo' to create 'foo.vmdk'.</param>
            <returns>A set of one or more logical files that constitute the VMDK.  The first file is
            the 'primary' file that is normally attached to VMs.</returns>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskBuilder.DiskType">
            <summary>
            Gets or sets the type of VMDK disk file required.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskBuilder.GenericAdapterType">
            <summary>
            Gets or sets the adaptor type for created virtual disk, setting to SCSI implies LSI logic adapter.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskBuilder.PreservesBiosGeometry">
            <summary>
            Gets whether this file format preserves BIOS geometry information.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskBuilder.AdapterType">
            <summary>
            Gets or sets the specific VMware disk adapter type to embed in the VMDK.
            </summary>
        </member>
        <member name="T:DiscUtils.Vmdk.DiskCreateType">
            <summary>
            Enumeration of VMDK disk types.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.None">
            <summary>
            None - do not use.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.MonolithicSparse">
            <summary>
            VMware Workstation single-file dynamic disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.VmfsSparse">
            <summary>
            ESX Dynamic Disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.MonolithicFlat">
            <summary>
            VMware Workstation single-extent pre-allocated disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.Vmfs">
            <summary>
            ESX pre-allocated disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.TwoGbMaxExtentSparse">
            <summary>
            VMware Workstation multi-extent dynamic disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.TwoGbMaxExtentFlat">
            <summary>
            VMware Workstation multi-extent pre-allocated disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.FullDevice">
            <summary>
            Full device disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.VmfsRaw">
            <summary>
            ESX raw disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.PartitionedDevice">
            <summary>
            Partition disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.VmfsRawDeviceMap">
            <summary>
            ESX RDM disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.VmfsPassthroughRawDeviceMap">
            <summary>
            ESX Passthrough RDM disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskCreateType.StreamOptimized">
            <summary>
            A streaming-optimized disk.
            </summary>
        </member>
        <member name="T:DiscUtils.Vmdk.DiskImageFile">
            <summary>
            Represents a single VMDK file.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskImageFile._monolithicStream">
            <summary>
            The stream containing the VMDK disk, if this is a monolithic disk.
            </summary>
        </member>
        <member name="F:DiscUtils.Vmdk.DiskImageFile._ownsMonolithicStream">
            <summary>
            Indicates if this instance controls lifetime of _monolithicStream.
            </summary>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.#ctor(System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="path">The path to the disk</param>
            <param name="access">The desired access to the disk</param>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="stream">The stream containing a monolithic disk</param>
            <param name="ownsStream">Indicates if the created instance should own the stream</param>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.#ctor(DiscUtils.FileLocator,System.String,System.IO.FileAccess)">
            <summary>
            Initializes a new instance of the DiskImageFile class.
            </summary>
            <param name="fileLocator">An object to open the file and any extents</param>
            <param name="file">The file name</param>
            <param name="access">The type of access desired</param>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.Initialize(System.String,DiscUtils.Vmdk.DiskParameters)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="path">The name of the VMDK to create.</param>
            <param name="parameters">The desired parameters for the new disk.</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.Initialize(DiscUtils.DiscFileSystem,System.String,DiscUtils.Vmdk.DiskParameters)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="fileSystem">The file system to create the disk on.</param>
            <param name="path">The name of the VMDK to create.</param>
            <param name="parameters">The desired parameters for the new disk.</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.Initialize(System.String,System.Int64,DiscUtils.Vmdk.DiskCreateType)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="path">The name of the VMDK to create.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="type">The type of virtual disk to create</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.Initialize(System.String,System.Int64,DiscUtils.Geometry,DiscUtils.Vmdk.DiskCreateType)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="path">The name of the VMDK to create.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <param name="createType">The type of virtual disk to create</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.Initialize(System.String,System.Int64,DiscUtils.Geometry,DiscUtils.Vmdk.DiskCreateType,DiscUtils.Vmdk.DiskAdapterType)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="path">The name of the VMDK to create.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="geometry">The desired geometry of the new disk, or <c>null</c> for default</param>
            <param name="createType">The type of virtual disk to create</param>
            <param name="adapterType">The type of disk adapter used with the disk</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.Initialize(DiscUtils.DiscFileSystem,System.String,System.Int64,DiscUtils.Vmdk.DiskCreateType)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="fileSystem">The file system to create the VMDK on</param>
            <param name="path">The name of the VMDK to create.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="createType">The type of virtual disk to create</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.Initialize(DiscUtils.DiscFileSystem,System.String,System.Int64,DiscUtils.Vmdk.DiskCreateType,DiscUtils.Vmdk.DiskAdapterType)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="fileSystem">The file system to create the VMDK on</param>
            <param name="path">The name of the VMDK to create.</param>
            <param name="capacity">The desired capacity of the new disk</param>
            <param name="createType">The type of virtual disk to create</param>
            <param name="adapterType">The type of disk adapter used with the disk</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.InitializeDifferencing(System.String,DiscUtils.Vmdk.DiskCreateType,System.String)">
            <summary>
            Creates a new virtual disk that is a linked clone of an existing disk.
            </summary>
            <param name="path">The path to the new disk</param>
            <param name="type">The type of the new disk</param>
            <param name="parent">The disk to clone</param>
            <returns>The new virtual disk</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.InitializeDifferencing(DiscUtils.DiscFileSystem,System.String,DiscUtils.Vmdk.DiskCreateType,System.String)">
            <summary>
            Creates a new virtual disk that is a linked clone of an existing disk.
            </summary>
            <param name="fileSystem">The file system to create the VMDK on</param>
            <param name="path">The path to the new disk</param>
            <param name="type">The type of the new disk</param>
            <param name="parent">The disk to clone</param>
            <returns>The new virtual disk</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.OpenContent(DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Gets the contents of this disk as a stream.
            </summary>
            <param name="parent">The content of the parent disk (needed if this is a differencing disk)</param>
            <param name="ownsParent">A value indicating whether ownership of the parent stream is transfered.</param>
            <returns>The stream containing the disk contents</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.GetParentLocations">
            <summary>
            Gets the location of the parent.
            </summary>
            <returns>The parent locations as an array.</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.Initialize(DiscUtils.FileLocator,System.String,DiscUtils.Vmdk.DiskParameters)">
            <summary>
            Creates a new virtual disk at the specified path.
            </summary>
            <param name="fileLocator">The object used to locate / create the component files.</param>
            <param name="path">The name of the VMDK to create.</param>
            <param name="parameters">The desired parameters for the new disk.</param>
            <returns>The newly created disk image</returns>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskImageFile.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance.
            </summary>
            <param name="disposing"><c>true</c> if disposing, <c>false</c> if in destructor</param>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskImageFile.IsSparse">
            <summary>
            Gets an indication as to whether the disk file is sparse.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskImageFile.NeedsParent">
            <summary>
            Gets a value indicating whether this disk is a linked differencing disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskImageFile.Geometry">
            <summary>
            Gets the Geometry of this disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskImageFile.ExtentPaths">
            <summary>
            Gets the relative paths to all of the disk's extents.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskImageFile.Extents">
            <summary>
            Gets the extents that comprise this file.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskImageFile.Capacity">
            <summary>
            Gets the capacity of this disk (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskImageFile.RelativeFileLocator">
            <summary>
            Gets a <c>FileLocator</c> that can resolve relative paths, or <c>null</c>.
            </summary>
            <remarks>
            Typically used to locate parent disks.
            </remarks>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskImageFile.BiosGeometry">
            <summary>
            Gets the BIOS geometry of this disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskImageFile.AdapterType">
            <summary>
            Gets the IDE/SCSI adapter type of the disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskImageFile.CreateType">
            <summary>
            Gets the 'CreateType' of this disk.
            </summary>
        </member>
        <member name="T:DiscUtils.Vmdk.DiskParameters">
            <summary>
            The parameters used to create a new VMDK file.
            </summary>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskParameters.#ctor">
            <summary>
            Initializes a new instance of the DiskParameters class with default values.
            </summary>
        </member>
        <member name="M:DiscUtils.Vmdk.DiskParameters.#ctor(DiscUtils.VirtualDiskParameters)">
            <summary>
            Initializes a new instance of the DiskParameters class with generic parameters.
            </summary>
            <param name="genericParameters">The generic parameters to copy</param>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskParameters.Capacity">
            <summary>
            Gets or sets the capacity of the virtual disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskParameters.Geometry">
            <summary>
            Gets or sets the Physical Geometry of the virtual disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskParameters.BiosGeometry">
            <summary>
            Gets or sets the BIOS Geometry of the virtual disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskParameters.CreateType">
            <summary>
            Gets or sets the type of VMDK file to create.
            </summary>
        </member>
        <member name="P:DiscUtils.Vmdk.DiskParameters.AdapterType">
            <summary>
            Gets or sets the type of emulated disk adapter.
            </summary>
        </member>
        <member name="T:DiscUtils.Vmdk.HostedSparseExtentStream">
            <summary>
            Represents and extent from a sparse disk from 'hosted' software (VMware Workstation, etc).
            </summary>
            <remarks>Hosted disks and server disks (ESX, etc) are subtly different formats.</remarks>
        </member>
        <member name="T:DiscUtils.VolumeManager">
            <summary>
            VolumeManager interprets partitions and other on-disk structures (possibly combining multiple disks).
            </summary>
            <remarks>
            <para>Although file systems commonly are placed directly within partitions on a disk, in some
            cases a logical volume manager / logical disk manager may be used, to combine disk regions in multiple
            ways for data redundancy or other purposes.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.VolumeManager.#ctor">
            <summary>
            Initializes a new instance of the VolumeManager class.
            </summary>
        </member>
        <member name="M:DiscUtils.VolumeManager.#ctor(DiscUtils.VirtualDisk)">
            <summary>
            Initializes a new instance of the VolumeManager class.
            </summary>
            <param name="initialDisk">The initial disk to add.</param>
        </member>
        <member name="M:DiscUtils.VolumeManager.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the VolumeManager class.
            </summary>
            <param name="initialDiskContent">Content of the initial disk to add.</param>
        </member>
        <member name="M:DiscUtils.VolumeManager.GetPhysicalVolumes(System.IO.Stream)">
            <summary>
            Gets the physical volumes held on a disk.
            </summary>
            <param name="diskContent">The contents of the disk to inspect</param>
            <returns>An array of volumes</returns>
            <remarks>
            <para>By preference, use the form of this method that takes a disk parameter.</para>
            <para>If the disk isn't partitioned, this method returns the entire disk contents
            as a single volume.</para>
            </remarks>
        </member>
        <member name="M:DiscUtils.VolumeManager.GetPhysicalVolumes(DiscUtils.VirtualDisk)">
            <summary>
            Gets the physical volumes held on a disk.
            </summary>
            <param name="disk">The disk to inspect</param>
            <returns>An array of volumes</returns>
            <remarks>If the disk isn't partitioned, this method returns the entire disk contents
            as a single volume.</remarks>
        </member>
        <member name="M:DiscUtils.VolumeManager.AddDisk(DiscUtils.VirtualDisk)">
            <summary>
            Adds a disk to the volume manager.
            </summary>
            <param name="disk">The disk to add</param>
            <returns>The GUID the volume manager will use to identify the disk</returns>
        </member>
        <member name="M:DiscUtils.VolumeManager.AddDisk(System.IO.Stream)">
            <summary>
            Adds a disk to the volume manager.
            </summary>
            <param name="content">The contents of the disk to add</param>
            <returns>The GUID the volume manager will use to identify the disk</returns>
        </member>
        <member name="M:DiscUtils.VolumeManager.GetPhysicalVolumes">
            <summary>
            Gets the physical volumes from all disks added to this volume manager.
            </summary>
            <returns>An array of physical volumes</returns>
        </member>
        <member name="M:DiscUtils.VolumeManager.GetLogicalVolumes">
            <summary>
            Gets the logical volumes from all disks added to this volume manager.
            </summary>
            <returns>An array of logical volumes</returns>
        </member>
        <member name="M:DiscUtils.VolumeManager.GetVolume(System.String)">
            <summary>
            Gets a particular volume, based on it's identity.
            </summary>
            <param name="identity">The volume's identity</param>
            <returns>The volume information for the volume, or returns <c>null</c></returns>
        </member>
        <member name="M:DiscUtils.VolumeManager.Scan">
            <summary>
            Scans all of the disks for their physical and logical volumes.
            </summary>
        </member>
        <member name="T:DiscUtils.Wim.LzxBitStream">
            <summary>
            Converts a byte stream into a bit stream.
            </summary>
            <remarks>
            <para>To avoid alignment issues, the bit stream is infinitely long.  Once the
            converted byte stream is consumed, an infinite sequence of zero's is emulated.</para>
            <para>It is strongly recommended to use some kind of in memory buffering (such as a
            BufferedStream) for the wrapped stream.  This class makes a large number of small
            reads.</para></remarks>
        </member>
        <member name="T:DiscUtils.Wim.FileResourceStream">
            <summary>
            Provides access to a (compressed) resource within the WIM file.
            </summary>
            <remarks>Stream access must be strictly sequential.</remarks>
        </member>
        <member name="T:DiscUtils.Wim.WimFileSystem">
            <summary>
            Provides access to the file system within a WIM file image.
            </summary>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetSecurity(System.String)">
            <summary>
            Gets the security descriptor associated with the file or directory.
            </summary>
            <param name="path">The file or directory to inspect.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.SetSecurity(System.String,System.Security.AccessControl.RawSecurityDescriptor)">
            <summary>
            Sets the security descriptor associated with the file or directory.
            </summary>
            <param name="path">The file or directory to change.</param>
            <param name="securityDescriptor">The new security descriptor.</param>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetReparsePoint(System.String)">
            <summary>
            Gets the reparse point data associated with a file or directory.
            </summary>
            <param name="path">The file to query</param>
            <returns>The reparse point information</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.SetReparsePoint(System.String,DiscUtils.ReparsePoint)">
            <summary>
            Sets the reparse point data on a file or directory.
            </summary>
            <param name="path">The file to set the reparse point on.</param>
            <param name="reparsePoint">The new reparse point.</param>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.RemoveReparsePoint(System.String)">
            <summary>
            Removes a reparse point from a file or directory, without deleting the file or directory.
            </summary>
            <param name="path">The path to the file or directory to remove the reparse point from</param>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetShortName(System.String)">
            <summary>
            Gets the short name for a given path.
            </summary>
            <param name="path">The path to convert</param>
            <returns>The short name</returns>
            <remarks>
            This method only gets the short name for the final part of the path, to
            convert a complete path, call this method repeatedly, once for each path
            segment.  If there is no short name for the given path,<c>null</c> is
            returned.
            </remarks>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.SetShortName(System.String,System.String)">
            <summary>
            Sets the short name for a given file or directory.
            </summary>
            <param name="path">The full path to the file or directory to change.</param>
            <param name="shortName">The shortName, which should not include a path.</param>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetFileStandardInformation(System.String)">
            <summary>
            Gets the standard file information for a file.
            </summary>
            <param name="path">The full path to the file or directory to query.</param>
            <returns>The standard file information</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.SetFileStandardInformation(System.String,DiscUtils.WindowsFileInformation)">
            <summary>
            Sets the standard file information for a file.
            </summary>
            <param name="path">The full path to the file or directory to query.</param>
            <param name="info">The standard file information</param>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetAlternateDataStreams(System.String)">
            <summary>
            Gets the names of the alternate data streams for a file.
            </summary>
            <param name="path">The path to the file</param>
            <returns>
            The list of alternate data streams (or empty, if none).  To access the contents
            of the alternate streams, use OpenFile(path + ":" + name, ...).
            </returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetFileId(System.String)">
            <summary>
            Gets the file id for a given path.
            </summary>
            <param name="path">The path to get the id of</param>
            <returns>The file id, or -1</returns>
            <remarks>
            The returned file id uniquely identifies the file, and is shared by all hard
            links to the same file.  The value -1 indicates no unique identifier is
            available, and so it can be assumed the file has no hard links.
            </remarks>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.HasHardLinks(System.String)">
            <summary>
            Indicates whether the file is known by other names.
            </summary>
            <param name="path">The file to inspect</param>
            <returns><c>true</c> if the file has other names, else <c>false</c></returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.DirectoryExists(System.String)">
            <summary>
            Indicates if a directory exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the directory exists</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.FileExists(System.String)">
            <summary>
            Indicates if a file exists.
            </summary>
            <param name="path">The path to test</param>
            <returns>true if the file exists</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetDirectories(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of subdirectories in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of directories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetFiles(System.String,System.String,System.IO.SearchOption)">
            <summary>
            Gets the names of files in a specified directory matching a specified
            search pattern, using a value to determine whether to search subdirectories.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <param name="searchOption">Indicates whether to search subdirectories.</param>
            <returns>Array of files matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetFileSystemEntries(System.String)">
            <summary>
            Gets the names of all files and subdirectories in a specified directory.
            </summary>
            <param name="path">The path to search.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetFileSystemEntries(System.String,System.String)">
            <summary>
            Gets the names of files and subdirectories in a specified directory matching a specified
            search pattern.
            </summary>
            <param name="path">The path to search.</param>
            <param name="searchPattern">The search string to match against.</param>
            <returns>Array of files and subdirectories matching the search pattern.</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess)">
            <summary>
            Opens the specified file.
            </summary>
            <param name="path">The full path of the file to open.</param>
            <param name="mode">The file mode for the created stream.</param>
            <param name="access">The access permissions for the created stream.</param>
            <returns>The new stream.</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetAttributes(System.String)">
            <summary>
            Gets the attributes of a file or directory.
            </summary>
            <param name="path">The file or directory to inspect</param>
            <returns>The attributes of the file or directory</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetCreationTimeUtc(System.String)">
            <summary>
            Gets the creation time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory.</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetLastAccessTimeUtc(System.String)">
            <summary>
            Gets the last access time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last access time</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetLastWriteTimeUtc(System.String)">
            <summary>
            Gets the last modification time (in UTC) of a file or directory.
            </summary>
            <param name="path">The path of the file or directory</param>
            <returns>The last write time</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetFileLength(System.String)">
            <summary>
            Gets the length of a file.
            </summary>
            <param name="path">The path to the file</param>
            <returns>The length in bytes</returns>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.GetFileHash(System.String)">
            <summary>
            Gets the SHA-1 hash of a file's contents.
            </summary>
            <param name="path">The path to the file</param>
            <returns>The 160-bit hash</returns>
            <remarks>The WIM file format internally stores the SHA-1 hash of files.
            This method provides access to the stored hash.  Callers can use this
            value to compare against the actual hash of the byte stream to validate
            the integrity of the file contents.</remarks>
        </member>
        <member name="M:DiscUtils.Wim.WimFileSystem.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance.
            </summary>
            <param name="disposing"><c>true</c> if disposing, else <c>false</c></param>
        </member>
        <member name="P:DiscUtils.Wim.WimFileSystem.FriendlyName">
            <summary>
            Provides a friendly description of the file system type.
            </summary>
        </member>
        <member name="T:DiscUtils.Compression.HuffmanTree">
            <summary>
            A canonical Huffman tree implementation.
            </summary>
            <remarks>
            A lookup table is created that will take any bit sequence (max tree depth in length),
            indicating the output symbol.  In WIM files, in practice, no chunk exceeds 32768 bytes
            in length, so we often end up generating a bigger lookup table than the data it's
            encoding. This makes for exceptionally fast symbol lookups O(1), but is inefficient
            overall.
            </remarks>
        </member>
        <member name="T:DiscUtils.Wim.LzxStream">
            <summary>
            Class to read data compressed using LZX algorithm.
            </summary>
            <remarks>This is not a general purpose LZX decompressor - it makes
            simplifying assumptions, such as being able to load the entire stream
            contents into memory..</remarks>
        </member>
        <member name="M:DiscUtils.Wim.LzxStream.FixupBlockBuffer">
            <summary>
            Fix up CALL instruction optimization.
            </summary>
            <remarks>A slightly odd feature of LZX for optimizing executable compression is that
            relative CALL instructions (opcode E8) are converted to absolute values before compression.
            This feature seems to always be turned-on in WIM files, so we have to apply the reverse
            conversion.</remarks>
        </member>
        <member name="T:DiscUtils.Wim.WimFile">
            <summary>
            Provides access to the contents of WIM (Windows Imaging) files.
            </summary>
        </member>
        <member name="M:DiscUtils.Wim.WimFile.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the WimFile class.
            </summary>
            <param name="stream">A stream of the WIM file contents</param>
        </member>
        <member name="M:DiscUtils.Wim.WimFile.GetImage(System.Int32)">
            <summary>
            Gets a particular image within the file (zero-based index).
            </summary>
            <param name="index">The index of the image to retrieve</param>
            <returns>The image as a file system</returns>
            <remarks>The XML manifest file uses a one-based index, whereas this
            method is zero-based.</remarks>
        </member>
        <member name="P:DiscUtils.Wim.WimFile.ImageCount">
            <summary>
            Gets the number of disk images within this file.
            </summary>
        </member>
        <member name="P:DiscUtils.Wim.WimFile.BootImage">
            <summary>
            Gets the (zero-based) index of the bootable image.
            </summary>
        </member>
        <member name="P:DiscUtils.Wim.WimFile.Manifest">
            <summary>
            Gets the embedded manifest describing the file and the contained images.
            </summary>
        </member>
        <member name="P:DiscUtils.Wim.WimFile.FileFormatVersion">
            <summary>
            Gets the version of the file format.
            </summary>
        </member>
        <member name="P:DiscUtils.Wim.WimFile.Guid">
            <summary>
            Gets the identifying GUID for this WIM file.
            </summary>
        </member>
        <member name="T:DiscUtils.Wim.XpressBitStream">
            <summary>
            Converts a byte stream into a bit stream.
            </summary>
            <remarks>Note the precise read-ahead behaviour of this stream is critical.
            Some data is read directly from the underlying stream when decoding an Xpress
            stream - so it's critical the underlying stream position is in the correct
            location.</remarks>
        </member>
        <member name="T:DiscUtils.Wim.XpressStream">
            <summary>
            Implements the XPRESS decompression algorithm.
            </summary>
            <remarks>This class is optimized for the case where the entire stream contents
            fit into memory, it is not suitable for unbounded streams.</remarks>
        </member>
        <member name="M:DiscUtils.Wim.XpressStream.#ctor(System.IO.Stream,System.Int32)">
            <summary>
            Initializes a new instance of the XpressStream class.
            </summary>
            <param name="compressed">The stream of compressed data</param>
            <param name="count">The length of this stream (in uncompressed bytes)</param>
        </member>
        <member name="T:DiscUtils.WindowsFileInformation">
            <summary>
            Common information for Windows files.
            </summary>
        </member>
        <member name="P:DiscUtils.WindowsFileInformation.CreationTime">
            <summary>
            Gets or sets the creation time of the file.
            </summary>
        </member>
        <member name="P:DiscUtils.WindowsFileInformation.LastAccessTime">
            <summary>
            Gets or sets the last access time of the file.
            </summary>
        </member>
        <member name="P:DiscUtils.WindowsFileInformation.LastWriteTime">
            <summary>
            Gets or sets the modification time of the file.
            </summary>
        </member>
        <member name="P:DiscUtils.WindowsFileInformation.ChangeTime">
            <summary>
            Gets or sets the last time the file was changed.
            </summary>
        </member>
        <member name="P:DiscUtils.WindowsFileInformation.FileAttributes">
            <summary>
            Gets or sets the file attributes.
            </summary>
        </member>
        <member name="T:DiscUtils.WrappingStream">
            <summary>
            Base class for streams that wrap another stream.
            </summary>
            <remarks>
            Provides the default implementation of methods &amp; properties, so
            wrapping streams need only override the methods they need to intercept.
            </remarks>
        </member>
        <member name="T:DiscUtils.Xva.Disk">
            <summary>
            Class representing a disk containing withing an XVA file.
            </summary>
        </member>
        <member name="M:DiscUtils.Xva.Disk.CreateDifferencingDisk(DiscUtils.DiscFileSystem,System.String)">
            <summary>
            Create a new differencing disk, possibly within an existing disk.
            </summary>
            <param name="fileSystem">The file system to create the disk on</param>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Xva.Disk.CreateDifferencingDisk(System.String)">
            <summary>
            Create a new differencing disk.
            </summary>
            <param name="path">The path (or URI) for the disk to create</param>
            <returns>The newly created disk</returns>
        </member>
        <member name="M:DiscUtils.Xva.Disk.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance, freeing underlying resources.
            </summary>
            <param name="disposing"><c>true</c> if running inside Dispose(), indicating
            graceful cleanup of all managed objects should be performed, or <c>false</c>
            if running inside destructor.</param>
        </member>
        <member name="P:DiscUtils.Xva.Disk.Uuid">
            <summary>
            Gets the Unique id of the disk, as known by XenServer.
            </summary>
        </member>
        <member name="P:DiscUtils.Xva.Disk.DisplayName">
            <summary>
            Gets the display name of the disk, as shown by XenServer.
            </summary>
        </member>
        <member name="P:DiscUtils.Xva.Disk.Geometry">
            <summary>
            Gets the disk's geometry.
            </summary>
            <remarks>The geometry is not stored with the disk, so this is at best
            a guess of the actual geometry.</remarks>
        </member>
        <member name="P:DiscUtils.Xva.Disk.DiskClass">
            <summary>
            Gets the type of disk represented by this object.
            </summary>
        </member>
        <member name="P:DiscUtils.Xva.Disk.Capacity">
            <summary>
            Gets the disk's capacity (in bytes).
            </summary>
        </member>
        <member name="P:DiscUtils.Xva.Disk.Content">
            <summary>
            Gets the content of the disk as a stream.
            </summary>
        </member>
        <member name="P:DiscUtils.Xva.Disk.Layers">
            <summary>
            Gets the (single) layer of an XVA disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Xva.Disk.DiskTypeInfo">
            <summary>
            Gets information about the type of disk.
            </summary>
            <remarks>This property provides access to meta-data about the disk format, for example whether the
            BIOS geometry is preserved in the disk file.</remarks>
        </member>
        <member name="T:DiscUtils.Xva.DiskLayer">
            <summary>
            Class representing a single layer of an XVA disk.
            </summary>
            <remarks>XVA only supports a single layer.</remarks>
        </member>
        <member name="M:DiscUtils.Xva.DiskLayer.OpenContent(DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Opens the content of the disk layer as a stream.
            </summary>
            <param name="parent">The parent file's content (if any)</param>
            <param name="ownsParent">Whether the created stream assumes ownership of parent stream</param>
            <returns>The new content stream</returns>
        </member>
        <member name="M:DiscUtils.Xva.DiskLayer.GetParentLocations">
            <summary>
            Gets the possible locations of the parent file (if any).
            </summary>
            <returns>Array of strings, empty if no parent</returns>
        </member>
        <member name="P:DiscUtils.Xva.DiskLayer.Geometry">
            <summary>
            Gets the disk's geometry.
            </summary>
            <remarks>The geometry is not stored with the disk, so this is at best
            a guess of the actual geometry.</remarks>
        </member>
        <member name="P:DiscUtils.Xva.DiskLayer.IsSparse">
            <summary>
            Gets a indication of whether the disk is 'sparse'.
            </summary>
            <remarks>Always true for XVA disks</remarks>
        </member>
        <member name="P:DiscUtils.Xva.DiskLayer.NeedsParent">
            <summary>
            Gets a value indicating whether the file is a differencing disk.
            </summary>
        </member>
        <member name="P:DiscUtils.Xva.DiskLayer.Capacity">
            <summary>
            Gets the capacity of the layer (in bytes).
            </summary>
        </member>
        <member name="T:DiscUtils.Archives.TarFile">
            <summary>
            Minimal tar file format implementation.
            </summary>
        </member>
        <member name="M:DiscUtils.Archives.TarFile.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the TarFile class.
            </summary>
            <param name="fileStream">The Tar file</param>
        </member>
        <member name="M:DiscUtils.Archives.TarFile.TryOpenFile(System.String,System.IO.Stream@)">
            <summary>
            Tries to open a file contained in the archive, if it exists.
            </summary>
            <param name="path">The path to the file within the archive</param>
            <param name="stream">A stream containing the file contents, or null.</param>
            <returns><c>true</c> if the file could be opened, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.Archives.TarFile.OpenFile(System.String)">
            <summary>
            Open a file contained in the archive.
            </summary>
            <param name="path">The path to the file within the archive</param>
            <returns>A stream containing the file contents.</returns>
            <exception cref="T:System.IO.FileNotFoundException">Thrown if the file is not found.</exception>
        </member>
        <member name="M:DiscUtils.Archives.TarFile.FileExists(System.String)">
            <summary>
            Determines if a given file exists in the archive.
            </summary>
            <param name="path">The file path to test</param>
            <returns><c>true</c> if the file is present, else <c>false</c>.</returns>
        </member>
        <member name="M:DiscUtils.Archives.TarFile.DirExists(System.String)">
            <summary>
            Determines if a given directory exists in the archive.
            </summary>
            <param name="path">The file path to test</param>
            <returns><c>true</c> if the directory is present, else <c>false</c>.</returns>
        </member>
        <member name="T:DiscUtils.Archives.TarFileBuilder">
            <summary>
            Builder to create UNIX Tar archive files.
            </summary>
        </member>
        <member name="M:DiscUtils.Archives.TarFileBuilder.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DiscUtils.Archives.TarFileBuilder"/> class.
            </summary>
        </member>
        <member name="M:DiscUtils.Archives.TarFileBuilder.AddFile(System.String,System.Byte[])">
            <summary>
            Add a file to the tar archive
            </summary>
            <param name="name">The name of the file</param>
            <param name="buffer">The file data</param>
        </member>
        <member name="M:DiscUtils.Archives.TarFileBuilder.AddFile(System.String,System.Byte[],DiscUtils.UnixFilePermissions,System.Int32,System.Int32,System.DateTime)">
            <summary>
            Add a file to the tar archive
            </summary>
            <param name="name">The name of the file</param>
            <param name="buffer">The file data</param>
            <param name="fileMode">The access mode of the file</param>
            <param name="ownerId">The uid of the owner</param>
            <param name="groupId">The gid of the owner</param>
            <param name="modificationTime">The modification time for the file</param>
        </member>
        <member name="M:DiscUtils.Archives.TarFileBuilder.AddFile(System.String,System.IO.Stream)">
            <summary>
            Add a file to the tar archive
            </summary>
            <param name="name">The name of the file</param>
            <param name="stream">The file data</param>
        </member>
        <member name="M:DiscUtils.Archives.TarFileBuilder.AddFile(System.String,System.IO.Stream,DiscUtils.UnixFilePermissions,System.Int32,System.Int32,System.DateTime)">
            <summary>
            Add a file to the tar archive
            </summary>
            <param name="name">The name of the file</param>
            <param name="stream">The file data</param>
            <param name="fileMode">The access mode of the file</param>
            <param name="ownerId">The uid of the owner</param>
            <param name="groupId">The gid of the owner</param>
            <param name="modificationTime">The modification time for the file</param>
        </member>
        <member name="T:DiscUtils.Xva.VirtualMachine">
            <summary>
            Class representing the virtual machine stored in a Xen Virtual Appliance (XVA)
            file.
            </summary>
            <remarks>XVA is a VM archive, not just a disk archive.  It can contain multiple
            disk images.  This class provides access to all of the disk images within the
            XVA file.</remarks>
        </member>
        <member name="M:DiscUtils.Xva.VirtualMachine.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the VirtualMachine class.
            </summary>
            <param name="fileStream">The stream containing the .XVA file</param>
            <remarks>
            Ownership of the stream is not transfered.
            </remarks>
        </member>
        <member name="M:DiscUtils.Xva.VirtualMachine.#ctor(System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Initializes a new instance of the VirtualMachine class.
            </summary>
            <param name="fileStream">The stream containing the .XVA file</param>
            <param name="ownership">Whether to transfer ownership of <c>fileStream</c> to the new instance.</param>
        </member>
        <member name="M:DiscUtils.Xva.VirtualMachine.Dispose">
            <summary>
            Disposes of this object, freeing any owned resources.
            </summary>
        </member>
        <member name="P:DiscUtils.Xva.VirtualMachine.Disks">
            <summary>
            Gets the disks in this XVA.
            </summary>
            <returns>An enumeration of disks</returns>
        </member>
        <member name="T:DiscUtils.Xva.VirtualMachineBuilder">
            <summary>
            A class that can be used to create Xen Virtual Appliance (XVA) files.
            </summary>
            <remarks>This class is not intended to be a general purpose XVA generator,
            the options to control the VM properties are strictly limited.  The class
            generates a minimal VM really as a wrapper for one or more disk images, 
            making them easy to import into XenServer.</remarks>
        </member>
        <member name="M:DiscUtils.Xva.VirtualMachineBuilder.#ctor">
            <summary>
            Initializes a new instance of the VirtualMachineBuilder class.
            </summary>
        </member>
        <member name="M:DiscUtils.Xva.VirtualMachineBuilder.Dispose">
            <summary>
            Disposes this instance, including any underlying resources.
            </summary>
        </member>
        <member name="M:DiscUtils.Xva.VirtualMachineBuilder.AddDisk(System.String,DiscUtils.SparseStream,DiscUtils.Ownership)">
            <summary>
            Adds a sparse disk image to the XVA file.
            </summary>
            <param name="label">The admin-visible name of the disk</param>
            <param name="content">The content of the disk</param>
            <param name="ownsContent">Indicates if ownership of content is transfered</param>
        </member>
        <member name="M:DiscUtils.Xva.VirtualMachineBuilder.AddDisk(System.String,System.IO.Stream,DiscUtils.Ownership)">
            <summary>
            Adds a disk image to the XVA file.
            </summary>
            <param name="label">The admin-visible name of the disk</param>
            <param name="content">The content of the disk</param>
            <param name="ownsContent">Indicates if ownership of content is transfered</param>
        </member>
        <member name="M:DiscUtils.Xva.VirtualMachineBuilder.Build">
            <summary>
            Creates a new stream that contains the XVA image.
            </summary>
            <returns>The new stream</returns>
        </member>
        <member name="P:DiscUtils.Xva.VirtualMachineBuilder.DisplayName">
            <summary>
            Gets or sets the display name of the VM.
            </summary>
        </member>
        <member name="T:DiscUtils.ZeroStream">
            <summary>
            A stream that returns Zero's.
            </summary>
        </member>
    </members>
</doc>
