public static string ToUncPath(string path) { if (IsDevice(path)) { return(LongPath.GetFullPath(path)); } if (IsPartiallyQualified(path)) { path = LongPath.GetFullPath(path); if (IsDevice(path)) { return(path); } else { return(ExtendedPathPrefix + path); } } //// Given \\server\share in longpath becomes \\?\UNC\server\share if (path.StartsWith(UncPathPrefix, StringComparison.OrdinalIgnoreCase)) { return(LongPath.GetFullPath(path.Insert(2, UncExtendedPrefixToInsert))); } return(RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? LongPath.GetFullPath(ExtendedPathPrefix + path) : LongPath.GetFullPath(path)); }
public TransferConfigurations() { // setup default values. this.blockSize = Constants.DefaultTransferChunkSize; this.parallelOperations = Environment.ProcessorCount * 8; this.MemoryChunkSize = Constants.DefaultMemoryChunkSize; this.UpdateMaximumCacheSize(this.blockSize); this.SupportUncPath = false; if (Interop.CrossPlatformHelpers.IsWindows) { try { LongPath.GetFullPath("\\\\?\\F:"); this.SupportUncPath = true; } catch (Exception) { } } }