public override void WriteBytes(byte[] buffer, int offset) { for (int index = 0; index < m_entries.Count; index++) { FileStreamEntry entry = m_entries[index]; int entryLength = entry.PaddedLength; entry.NextEntryOffset = (index < m_entries.Count - 1) ? (uint)entryLength : 0; entry.WriteBytes(buffer, offset); offset += entryLength; } }
public override void WriteBytes(byte[] buffer, int offset) { for (int index = 0; index < m_entries.Count; index++) { FileStreamEntry entry = m_entries[index]; entry.WriteBytes(buffer, offset); int entryLength = entry.Length; offset += entryLength; if (index < m_entries.Count - 1) { // [MS-FSCC] When multiple FILE_STREAM_INFORMATION data elements are present in the buffer, each MUST be aligned on an 8-byte boundary int padding = (8 - (entryLength % 8)) % 8; offset += padding; } } }