public FullExtendedAttribute(byte[] buffer, int offset) { ExtendedAttributeFlag = (ExtendedAttributeFlags)ByteReader.ReadByte(buffer, offset); AttributeNameLengthInBytes = ByteReader.ReadByte(buffer, offset + 1); AttributeValueLengthInBytes = LittleEndianConverter.ToUInt16(buffer, offset + 2); AttributeName = ByteReader.ReadAnsiString(buffer, offset + 4, AttributeNameLengthInBytes); AttributeValue = ByteReader.ReadAnsiString(buffer, offset + 4 + AttributeNameLengthInBytes + 1, AttributeValueLengthInBytes); }
public FileFullEAEntry(byte[] buffer, int offset) { NextEntryOffset = LittleEndianReader.ReadUInt32(buffer, ref offset); Flags = (ExtendedAttributeFlags)ByteReader.ReadByte(buffer, ref offset); EaNameLength = ByteReader.ReadByte(buffer, ref offset); EaValueLength = LittleEndianReader.ReadUInt16(buffer, ref offset); EaName = ByteReader.ReadAnsiString(buffer, ref offset, EaNameLength); offset++; // terminating null EaValue = ByteReader.ReadAnsiString(buffer, ref offset, EaValueLength); }