Пример #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="StreamExtensionExFatDirectoryEntry"/> class.
 /// </summary>
 /// <param name="buffer">The buffer.</param>
 public StreamExtensionExFatDirectoryEntry(Buffer buffer) : base(buffer)
 {
     GeneralSecondaryFlags = new EnumValueProvider <ExFatGeneralSecondaryFlags, Byte>(new BufferUInt8(buffer, 1));
     NameLength            = new BufferUInt8(buffer, 3);
     NameHash        = new BufferUInt16(buffer, 4);
     ValidDataLength = new BufferUInt64(buffer, 8);
     FirstCluster    = new BufferUInt32(buffer, 20);
     DataLength      = new BufferUInt64(buffer, 24);
 }
Пример #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ExFatBootSector"/> class.
        /// </summary>
        internal ExFatBootSector(byte[] bytes)
        {
            _bytes = bytes;
            var buffer = new Buffer(_bytes);

            JmpBoot              = new BufferBytes(buffer, 0, 3);
            OemName              = new BufferByteString(buffer, 3, 8);
            VolumeLengthSectors  = new BufferUInt64(buffer, 72);
            FatOffsetSector      = new BufferUInt32(buffer, 80);
            FatLengthSectors     = new BufferUInt32(buffer, 84);
            ClusterOffsetSector  = new BufferUInt32(buffer, 88);
            ClusterCount         = new BufferUInt32(buffer, 92);
            RootDirectoryCluster = new BufferUInt32(buffer, 96);
            VolumeSerialNumber   = new BufferUInt32(buffer, 100);
            FileSystemRevision   = new BufferUInt16(buffer, 104);
            VolumeFlags          = new BufferUInt16(buffer, 106);
            BytesPerSector       = new CacheValueProvider <uint>(new ShiftValueProvider(new BufferUInt8(buffer, 108)));
            SectorsPerCluster    = new ShiftValueProvider(new BufferUInt8(buffer, 109));
            NumberOfFats         = new BufferUInt8(buffer, 110);
            DriveSelect          = new BufferUInt8(buffer, 111);
            PercentInUse         = new BufferUInt8(buffer, 112);
        }