public int Write(object FileNode, object FileDesc0, IntPtr Buffer, ulong Offset, uint Length, bool WriteToEndOfFile, bool ConstrainedIo, out uint PBytesTransferred, out FileInfo pFileInfo) { try { var p = (IFSEntryPointer)FileDesc0; var Bytes = new byte[Length]; Marshal.Copy(Buffer, Bytes, 0, Bytes.Length); var r = Storage.Write(p, Bytes, (long)Offset, out var Transfered); PBytesTransferred = (uint)Transfered; p.GetStruct(out pFileInfo); return(HandleResult(r).GetNtStatus()); } catch (Win32Exception ex) { throw WindowsExceptionGenerator.GetIOException(ex); } catch (NTException ex) { throw WindowsExceptionGenerator.GetIOException(ex); } }