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)
                {
                }
            }
        }