public DuplicatedInformation(byte[] buffer, int offset) { CreationTime = StandardInformationRecord.ReadDateTime(buffer, offset + 0x00); ModificationTime = StandardInformationRecord.ReadDateTime(buffer, offset + 0x08); MftModificationTime = StandardInformationRecord.ReadDateTime(buffer, offset + 0x10); LastAccessTime = StandardInformationRecord.ReadDateTime(buffer, offset + 0x18); AllocatedLength = LittleEndianConverter.ToUInt64(buffer, offset + 0x20); FileSize = LittleEndianConverter.ToUInt64(buffer, offset + 0x28); FileAttributes = (FileAttributes)LittleEndianConverter.ToUInt32(buffer, offset + 0x30); PackedEASize = LittleEndianConverter.ToUInt16(buffer, offset + 0x34); }
public FileNameRecord(byte[] buffer, int offset) { ParentDirectory = new MftSegmentReference(buffer, offset + 0x00); CreationTime = StandardInformationRecord.ReadDateTime(buffer, offset + 0x08); ModificationTime = StandardInformationRecord.ReadDateTime(buffer, offset + 0x10); MftModificationTime = StandardInformationRecord.ReadDateTime(buffer, offset + 0x18); LastAccessTime = StandardInformationRecord.ReadDateTime(buffer, offset + 0x20); AllocatedSize = LittleEndianConverter.ToUInt64(buffer, offset + 0x28); RealSize = LittleEndianConverter.ToUInt64(buffer, offset + 0x30); byte fnLen = ByteReader.ReadByte(buffer, offset + 0x40); Namespace = (FilenameNamespace)ByteReader.ReadByte(buffer, offset + 0x41); FileName = Encoding.Unicode.GetString(buffer, offset + 0x42, fnLen * 2); }
public FileNameRecord(byte[] buffer, int offset) { ParentDirectory = new MftSegmentReference(buffer, offset + 0x00); CreationTime = StandardInformationRecord.ReadDateTime(buffer, offset + 0x08); ModificationTime = StandardInformationRecord.ReadDateTime(buffer, offset + 0x10); MftModificationTime = StandardInformationRecord.ReadDateTime(buffer, offset + 0x18); LastAccessTime = StandardInformationRecord.ReadDateTime(buffer, offset + 0x20); AllocatedLength = LittleEndianConverter.ToUInt64(buffer, offset + 0x28); FileSize = LittleEndianConverter.ToUInt64(buffer, offset + 0x30); FileAttributes = (FileAttributes)LittleEndianConverter.ToUInt32(buffer, offset + 0x38); PackedEASize = LittleEndianConverter.ToUInt16(buffer, offset + 0x3C); byte fileNameLength = ByteReader.ReadByte(buffer, offset + 0x40); Flags = (FileNameFlags)ByteReader.ReadByte(buffer, offset + 0x41); FileName = Encoding.Unicode.GetString(buffer, offset + 0x42, fileNameLength * 2); }