예제 #1
0
        private CopyMoveResult CopyToMoveToCore(string destinationPath, bool preserveDates, CopyOptions?copyOptions, MoveOptions?moveOptions, CopyMoveProgressRoutine progressHandler, object userProgressData, out string longFullPath, PathFormat pathFormat)
        {
            string destinationPathLp = Path.GetExtendedLengthPathCore(Transaction, destinationPath, pathFormat, GetFullPathOptions.TrimEnd | GetFullPathOptions.RemoveTrailingDirectorySeparator | GetFullPathOptions.FullCheck);

            longFullPath = destinationPathLp;

            // Returns false when CopyMoveProgressResult is PROGRESS_CANCEL or PROGRESS_STOP.
            return(File.CopyMoveCore(false, Transaction, LongFullName, destinationPathLp, preserveDates, copyOptions, moveOptions, progressHandler, userProgressData, PathFormat.LongFullPath));
        }
예제 #2
0
        private CopyMoveResult CopyToMoveToCore(string destinationPath, bool preserveDates, CopyOptions?copyOptions, MoveOptions?moveOptions, CopyMoveProgressRoutine progressHandler, object userProgressData, out string longFullPath, PathFormat pathFormat)
        {
            // Allow null value for destinationPath when flag MoveOptions.DelayUntilReboot is specified.
            var delayUntilReboot = null == destinationPath && null != moveOptions && ((MoveOptions)moveOptions & MoveOptions.DelayUntilReboot) != 0;

            var destinationPathLp = longFullPath = delayUntilReboot
            ? null
            : Path.GetExtendedLengthPathCore(Transaction, destinationPath, pathFormat, GetFullPathOptions.TrimEnd | GetFullPathOptions.RemoveTrailingDirectorySeparator | GetFullPathOptions.FullCheck);


            return(File.CopyMoveCore(false, Transaction, LongFullName, destinationPathLp, preserveDates, copyOptions, moveOptions, progressHandler, userProgressData, PathFormat.LongFullPath));
        }
예제 #3
0
        private CopyMoveResult CopyToMoveToCore(string destinationPath, CopyOptions?copyOptions, MoveOptions?moveOptions, bool preserveDates, CopyMoveProgressRoutine progressHandler, object userProgressData, out string longFullPath, PathFormat pathFormat)
        {
            longFullPath = Path.GetExtendedLengthPathCore(Transaction, destinationPath, pathFormat, GetFullPathOptions.TrimEnd | GetFullPathOptions.RemoveTrailingDirectorySeparator | GetFullPathOptions.FullCheck);

            return(File.CopyMoveCore(Transaction, false, false, LongFullName, longFullPath, copyOptions, moveOptions, preserveDates, progressHandler, userProgressData, null, PathFormat.LongFullPath));
        }