/// <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); }
/// <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); }