public override void WriteBlock(byte[] data, int offset, int length)
{
if (length < Buf.Length)
{
base.WriteBlock(data, offset, length);
return;
}
FlushBuffer();
lock (_file._lock)
{
fixed (byte* src = data)
{
CopyMemory(_file._pointer + Ofs, src + offset, length);
}
Ofs += (ulong)length;
_file._trueLength = (long)Ofs;
}
}