예제 #1
0
        public void WriteStream(ArchiveWriteStream Stream)
        {
            var Len = (int)Stream.Length;

            WriteInt32(Len);
            Stream_.Write(Stream.GetRawBuffer(), 0, Len);
        }
예제 #2
0
        private void WriteArchiveCrcCode()
        {
            var RawBuffer = WriteStream_.GetRawBuffer();

            // Stream Length
            WriteStream_.Seek(Header.Length + 4, SeekOrigin.Begin);
            WriteStream_.WriteInt32(RawBuffer.Length);

            // Crc32
            var DataStart  = Header.Length + 4 + 4 + 4;
            var DataLength = RawBuffer.Length - DataStart;

            WriteStream_.WriteUInt32(Crc32.Calculate(RawBuffer, DataStart, DataLength));
        }