LongPathHelper
namespace Relativity.Transfer.Enumeration.Helpers
{
internal static class LongPathHelper
{
private const int _MAX_PATH = 260;
private const string _UNC_PATH_PREFIX = "\\";
internal const string _LONG_LOCAL_PATH_PREFIX = "\\\\?\\";
internal const string _LONG_REMOTE_PATH_PREFIX = "\\\\?\\UNC";
public static string ToNativeFormat(string path)
{
path += "\\*";
if (path.Length < 260)
return path;
return ToLongPath(path);
}
public static string ToLongPath(string path)
{
if (IsRemotePath(path))
return "\\\\?\\UNC" + path.Substring(1);
return "\\\\?\\" + path;
}
private static bool IsRemotePath(string path)
{
return path.StartsWith("\\");
}
}
}