public long StripeStride; // aka num partitions protected override void DoReadFrom(byte[] buffer, int offset) { base.DoReadFrom(buffer, offset); int pos = offset + 0x18; Id = ReadVarULong(buffer, ref pos); Name = ReadVarString(buffer, ref pos); StatusString = ReadVarString(buffer, ref pos); MergeType = (ExtentMergeType)ReadByte(buffer, ref pos); Unknown1 = ReadUInt(buffer, ref pos); // Zero NumExtents = ReadVarULong(buffer, ref pos); Unknown2 = ReadUInt(buffer, ref pos); LinkId = ReadUInt(buffer, ref pos); Unknown3 = ReadULong(buffer, ref pos); // Zero VolumeId = ReadVarULong(buffer, ref pos); Unknown4 = ReadVarULong(buffer, ref pos); // Zero if ((Flags & 0x1000) != 0) { StripeSizeSectors = ReadVarLong(buffer, ref pos); StripeStride = ReadVarLong(buffer, ref pos); } }
protected override void DoReadFrom(byte[] buffer, int offset) { base.DoReadFrom(buffer, offset); int pos = offset + 0x18; Id = ReadVarULong(buffer, ref pos); Name = ReadVarString(buffer, ref pos); StatusString = ReadVarString(buffer, ref pos); MergeType = (ExtentMergeType)ReadByte(buffer, ref pos); Unknown1 = ReadUInt(buffer, ref pos); // Zero NumExtents = ReadVarULong(buffer, ref pos); Unknown2 = ReadUInt(buffer, ref pos); LinkId = ReadUInt(buffer, ref pos); Unknown3 = ReadULong(buffer, ref pos); // Zero VolumeId = ReadVarULong(buffer, ref pos); Unknown4 = ReadVarULong(buffer, ref pos); // Zero if ((Flags & 0x1000) != 0) { StripeSizeSectors = ReadVarLong(buffer, ref pos); StripeStride = ReadVarLong(buffer, ref pos); } }