Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CreateRelativeDirectoryHandle()

unsafe IntPtr System.IO.Enumeration.FileSystemEnumerator< TResult >.CreateRelativeDirectoryHandle ( ReadOnlySpan< char > relativePath,
string fullPath )
inlineprivateinherited

Definition at line 164 of file FileSystemEnumerator.cs.

165 {
166 var (num, result) = Interop.NtDll.CreateFile(relativePath, _directoryHandle, Interop.NtDll.CreateDisposition.FILE_OPEN, Interop.NtDll.DesiredAccess.FILE_READ_DATA | Interop.NtDll.DesiredAccess.SYNCHRONIZE, FileShare.ReadWrite | FileShare.Delete, (FileAttributes)0, (Interop.NtDll.CreateOptions)16417u, Interop.ObjectAttributes.OBJ_CASE_INSENSITIVE, null, 0u, null, null);
167 if (num == 0)
168 {
169 return result;
170 }
171 int num2 = (int)Interop.NtDll.RtlNtStatusToDosError((int)num);
173 {
174 return IntPtr.Zero;
175 }
176 throw Win32Marshal.GetExceptionForWin32Error(num2, fullPath);
177 }
ObjectAttributes
Definition Interop.cs:1750
bool ContinueOnDirectoryError(int error, bool ignoreNotFound)

References System.IO.Enumeration.FileSystemEnumerator< TResult >._directoryHandle, System.IO.Enumeration.FileSystemEnumerator< TResult >.ContinueOnDirectoryError(), System.IO.Win32Marshal.GetExceptionForWin32Error(), and System.IntPtr.Zero.

Referenced by System.IO.Enumeration.FileSystemEnumerator< TResult >.MoveNext().