Esempio n. 1
0
 private void SeekFSStream(long offset)
 {
     if (NANDMMCStyle)
     {
         if (_fileStream.Position == offset)
         {
             return; // No need to seek, we're already where we want to be...
         }
         if (_fileStream.CanSeek)
         {
             _fileStream.Seek(offset, SeekOrigin.Begin);
         }
         else
         {
             throw new Exception("Unable to seek!");
         }
     }
     else
     {
         var lo = (int)(offset & 0xffffffff);
         var hi = (int)(offset << 32);
         lo = (int)NativeWin32.SetFilePointer(_deviceHandle, lo, ref hi, NativeWin32.SeekOriginToMoveMethod(SeekOrigin.Begin));
         if (lo == -1)
         {
             throw new X360NANDManagerException(X360NANDManagerException.ErrorLevels.Win32Error);
         }
     }
 }