<PackageReference Include="Relativity.Server.Transfer.SDK" Version="7.7.0" />

NativeMethodsImpl

using Relativity.Transfer.Enumeration.Interfaces; using System; using System.Diagnostics.CodeAnalysis; using System.IO; using System.Runtime.InteropServices; namespace Relativity.Transfer.Enumeration.Native { [ExcludeFromCodeCoverage] internal sealed class NativeMethodsImpl : INativeMethods { public SafeFindHandle FindFirstFile(string fileName, [In] [Out] NativeFindData data) { return NativeMethods.FindFirstFile(fileName, data); } public bool FindNextFile(SafeFindHandle hndFindFile, [In] [Out] [MarshalAs(UnmanagedType.LPStruct)] NativeFindData lpFindFileData) { return NativeMethods.FindNextFile(hndFindFile, lpFindFileData); } public bool FindClose(IntPtr handle) { return NativeMethods.FindClose(handle); } public uint GetFileAttributes(string lpFileName) { return NativeMethods.GetFileAttributes(lpFileName); } public NativeCreateFileResult CreateFileW([MarshalAs(UnmanagedType.LPWStr)] string filename, [MarshalAs(UnmanagedType.U4)] FileAccess access, [MarshalAs(UnmanagedType.U4)] FileShare share, IntPtr securityAttributes, [MarshalAs(UnmanagedType.U4)] FileMode creationDisposition, [MarshalAs(UnmanagedType.U4)] FileAttributes flagsAndAttributes, IntPtr templateFile) { SafeFindHandle handle = NativeMethods.CreateFileW(filename, access, share, securityAttributes, creationDisposition, flagsAndAttributes, templateFile); int lastWin32Error = Marshal.GetLastWin32Error(); return new NativeCreateFileResult(handle, lastWin32Error); } } }