Click or drag to resize
FileCopy Method (KernelTransaction, String, String, CopyOptions, Boolean, CopyMoveProgressRoutine, Object)
[AlphaFS] Copies an existing file to a new file. Overwriting a file of the same name is allowed. CopyOptions can be specified,

and the possibility of notifying the application of its progress through a callback function.

Namespace: Alphaleonis.Win32.Filesystem
Assembly: AlphaFS (in AlphaFS.dll) Version: 2.0
Syntax
public static CopyMoveResult Copy(
	KernelTransaction transaction,
	string sourceFileName,
	string destinationFileName,
	CopyOptions copyOptions,
	bool preserveDates,
	CopyMoveProgressRoutine progressHandler,
	Object userProgressData
)

Parameters

transaction
Type: Alphaleonis.Win32.FilesystemKernelTransaction
The transaction.
sourceFileName
Type: SystemString
The file to copy.
destinationFileName
Type: SystemString
The name of the destination file. This cannot be a directory.
copyOptions
Type: Alphaleonis.Win32.FilesystemCopyOptions
CopyOptions that specify how the file is to be copied. This parameter can be .
preserveDates
Type: SystemBoolean
if original Timestamps must be preserved, otherwise.
progressHandler
Type: Alphaleonis.Win32.FilesystemCopyMoveProgressRoutine
A callback function that is called each time another portion of the file has been copied. This parameter can be .
userProgressData
Type: SystemObject
The argument to be passed to the callback function. This parameter can be .

Return Value

Type: CopyMoveResult
Returns a CopyMoveResult class with the status of the Copy action.
Exceptions
ExceptionCondition
ArgumentExceptionPassed when the path parameter contains invalid characters, is empty, or contains only white spaces.
ArgumentNullExceptionPassed when path is .
DirectoryNotFoundExceptionPassed when the directory was not found.
FileNotFoundExceptionPassed if the file was not found.
IOExceptionPassed when an I/O error occurs.
NotSupportedException
UnauthorizedAccessException
Remarks

Option NoBuffering is recommended for very large file transfers.

The attributes of the original file are retained in the copied file.

Whenever possible, avoid using short file names (such as XXXXXX~1.XXX) with this method.

If two files have equivalent short file names then this method may fail and raise an exception and/or result in undesirable behavior.

See Also