예제 #1
0
 internal FATX_Browser.FATX.IOWriter GetWriterIO()
 {
     if (DriveType == Info.DriveType.HDD)
     {
         try
         {
             io.Close();
         }
         catch { }
         try
         {
             br.Close();
         }
         catch { }
         try
         {
             bw.Close();
         }
         catch { }
         io = new IO.HDDFATX(false, null);
         bw = io.bw_diskWriter(DeviceID);
     }
     else if (DriveType == Info.DriveType.Backup)
     {
         try
         {
             io.Close();
         }
         catch{}
         try
         {
             br.Close();
         }
         catch{}
         try
         {
             bw.Close();
         }
         catch { }
         io = new IO.HDDFATX(true, DumpPath);
         bw = io.bw_dumpWriter();
     }
     else if (DriveType == Info.DriveType.USB)
     {
         try
         {
             io.Close();
         }
         catch { }
         try
         {
             br.Close();
         }
         catch { }
         try
         {
             bw.Close();
         }
         catch { }
         System.IO.FileInfo[] fi = new System.IO.DirectoryInfo(DumpPath).GetFiles();
         string[] FilePaths = new string[fi.Length];
         for (int i = 0; i < FilePaths.Length; i++)
         {
             FilePaths[i] = fi[i].FullName;
         }
         bw = new IOWriter(FilePaths);
     }
     return bw;
 }
예제 #2
0
파일: IO.cs 프로젝트: madforumz/XbxEditor
 protected internal FATX_Browser.FATX.IOWriter bw_dumpWriter()
 {
     try { bw.Close(); }
     catch { }
     bw = new FATX_Browser.FATX.IOWriter(fs_dumpStream());
     try
     {
         driveSize = bw.BaseStream.Length;
     }
     catch { }
     return bw;
 }
예제 #3
0
 public bool BackupDrive(ref long Progress, string savePath)
 {
     FATX_Browser.FATX.IOWriter fileWriter = null;
     FATX_Browser.FATX.IOReader driveReader = null;
     try
     {
         long driveSize =DriveSize;
         fileWriter = new FATX_Browser.FATX.IOWriter(new System.IO.FileStream(savePath, System.IO.FileMode.Create));
         driveReader = this.GetIO();
         for (long i = 0; i < driveSize; i += 0x4000, Progress += 0x4000)
         {
             byte[] buffer = driveReader.ReadBytes(0x4000);
             fileWriter.Write(buffer);
         }
         fileWriter.Close();
         driveReader.Close();
         return true;
     }
     catch { try { fileWriter.Close(); driveReader.Close(); } catch { } return false; }
 }
예제 #4
0
파일: IO.cs 프로젝트: madforumz/XbxEditor
 /// <summary>
 /// Returns a binary writer to write to the disk
 /// </summary>
 protected internal FATX_Browser.FATX.IOWriter bw_diskWriter(int deviceNumber)
 {
     try { bw.Close(); }
     catch { }
     bw = new FATX_Browser.FATX.IOWriter(fs_diskStream(deviceNumber));
     return bw;
 }