in Win32/ComStreamProxy.cs [79:97]
public unsafe ulong CopyTo(IStream streamDest, ulong numberOfBytesToCopy, out ulong bytesWritten)
{
bytesWritten = 0;
fixed (void* pBuffer = tempBuffer)
{
while (numberOfBytesToCopy > 0)
{
int countCopy = (int)Math.Min((long)numberOfBytesToCopy, tempBuffer.Length);
int count = sourceStream.Read(tempBuffer, 0, countCopy);
if (count == 0)
break;
streamDest.Write((IntPtr)pBuffer, (uint)count);
numberOfBytesToCopy -= (ulong)count;
bytesWritten += (ulong)count;
}
}
return bytesWritten;
}