Ejemplo n.º 1
0
        public int WriteFileProxy(
            IntPtr rawFileName,
            IntPtr rawBuffer,
            uint rawNumberOfBytesToWrite,
            ref uint rawNumberOfBytesWritten,
            long rawOffset,
            ref DOKAN_FILE_INFO rawFileInfo)
        {
            try
            {
                string file = GetFileName(rawFileName);

                Byte[] buf = new Byte[rawNumberOfBytesToWrite];
                Marshal.Copy(rawBuffer, buf, 0, (int)rawNumberOfBytesToWrite);

                uint bytesWritten = 0;
                int  ret          = operations_.WriteFile(
                    file, buf, ref bytesWritten, rawOffset, GetFileInfo(ref rawFileInfo));
                if (ret == 0)
                {
                    rawNumberOfBytesWritten = bytesWritten;
                }
                return(ret);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.ToString());
                return(-1);
            }
        }
Ejemplo n.º 2
0
 public int WriteFile(string filename, byte[] buffer,
                      ref uint writtenBytes, long offset, DokanFileInfo info)
 {
     return(ope_.WriteFile(filename, buffer, ref writtenBytes, offset, info));
 }