public int nabtoStreamWrite(IntPtr stream, byte[] buffer, int offset, int length)
 {
     if (offset != 0)
     {
         var copyBuffer = new byte[length];
         Array.Copy(buffer, offset, copyBuffer, 0, length);
         return(Win32NativeMethods.nabtoStreamWrite(stream, copyBuffer, (IntPtr)length));
     }
     else
     {
         return(Win32NativeMethods.nabtoStreamWrite(stream, buffer, (IntPtr)length));
     }
 }