Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ VerifyOSHandlePosition()

void System.IO.Strategies.Net5CompatFileStreamStrategy.VerifyOSHandlePosition ( )
inlineprivate

Definition at line 439 of file Net5CompatFileStreamStrategy.cs.

440 {
441 if (!_exposedHandle || !CanSeek)
442 {
443 return;
444 }
445 long filePosition = _filePosition;
446 long num = SeekCore(_fileHandle, 0L, SeekOrigin.Current);
447 if (filePosition != num)
448 {
449 _readPos = (_readLength = 0);
450 if (_writePos > 0)
451 {
452 _writePos = 0;
453 throw new IOException(SR.IO_FileStreamHandlePosition);
454 }
455 }
456 }
long SeekCore(SafeFileHandle fileHandle, long offset, SeekOrigin origin, bool closeInvalidHandle=false)

References System.IO.Strategies.Net5CompatFileStreamStrategy._exposedHandle, System.IO.Strategies.Net5CompatFileStreamStrategy._fileHandle, System.IO.Strategies.Net5CompatFileStreamStrategy._filePosition, System.IO.Strategies.Net5CompatFileStreamStrategy._readLength, System.IO.Strategies.Net5CompatFileStreamStrategy._readPos, System.IO.Strategies.Net5CompatFileStreamStrategy._writePos, System.IO.Strategies.Net5CompatFileStreamStrategy.CanSeek, System.SR.IO_FileStreamHandlePosition, System.L, and System.IO.Strategies.Net5CompatFileStreamStrategy.SeekCore().

Referenced by System.IO.Strategies.Net5CompatFileStreamStrategy.AsyncModeCopyToAsync(), System.IO.Strategies.Net5CompatFileStreamStrategy.ReadNative(), System.IO.Strategies.Net5CompatFileStreamStrategy.ReadNativeAsync(), System.IO.Strategies.Net5CompatFileStreamStrategy.Seek(), System.IO.Strategies.Net5CompatFileStreamStrategy.SetLengthCore(), System.IO.Strategies.Net5CompatFileStreamStrategy.WriteAsyncInternalCore(), and System.IO.Strategies.Net5CompatFileStreamStrategy.WriteCore().