/// <summary> /// Initializes a new instance of the <see cref="FileExFatDirectoryEntry"/> class. /// </summary> /// <param name="buffer">The buffer.</param> public FileExFatDirectoryEntry(Buffer buffer) : base(buffer) { // the raw SecondaryCount = new BufferUInt8(buffer, 1); SetChecksum = new BufferUInt16(buffer, 2); FileAttributes = new EnumValueProvider <ExFatFileAttributes, UInt16>(new BufferUInt16(buffer, 4)); CreationTimeStamp = new BufferUInt32(buffer, 8); LastWriteTimeStamp = new BufferUInt32(buffer, 12); LastAccessTimeStamp = new BufferUInt32(buffer, 16); Creation10msIncrement = new BufferUInt8(buffer, 20); LastWrite10msIncrement = new BufferUInt8(buffer, 21); CreationTimeZoneOffset = new BufferUInt8(buffer, 22); LastWriteTimeZoneOffset = new BufferUInt8(buffer, 23); LastAccessTimeZoneOffset = new BufferUInt8(buffer, 24); // the cooked CreationTime = new EntryDateTime(CreationTimeStamp, Creation10msIncrement); LastWriteTime = new EntryDateTime(LastWriteTimeStamp, LastWrite10msIncrement); LastAccessTime = new EntryDateTime(LastAccessTimeStamp); CreationTimeOffset = new EntryTimeZone(CreationTimeZoneOffset); LastWriteTimeOffset = new EntryTimeZone(LastWriteTimeZoneOffset); LastAccessTimeOffset = new EntryTimeZone(LastAccessTimeZoneOffset); CreationDateTimeOffset = new EntryDateTimeOffset(CreationTime, CreationTimeOffset); LastWriteDateTimeOffset = new EntryDateTimeOffset(LastWriteTime, LastWriteTimeOffset); LastAccessDateTimeOffset = new EntryDateTimeOffset(LastAccessTime, LastAccessTimeOffset); }
/// <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); }
public FatDirectoryEntry(Buffer buffer) { DirName = new BufferByteString(buffer, 0, 11, Encoding.Default); DirAttr = new BufferUInt8(buffer, 11); DirNtRes = new BufferUInt8(buffer, 12); DirCrtTimeTenth = new BufferUInt8(buffer, 13); DirCrtTime = new BufferUInt16(buffer, 14); DirCrtDate = new BufferUInt16(buffer, 16); DirLastAccDate = new BufferUInt16(buffer, 18); DirFstClusHI = new BufferUInt16(buffer, 20); DirWrtTime = new BufferUInt16(buffer, 22); DirWrtDate = new BufferUInt16(buffer, 24); DirFstClusLO = new BufferUInt16(buffer, 26); DirFileSize = new BufferUInt32(buffer, 28); }