The CopyEx method copies the logical file or directory specified in the object path to the location specified by the FileName ...

The CopyEx method copies the logical file or directory specified in the object path to the location specified by the FileName parameter. CopyEx returns an integer value of 0 if the file was successfully copied, and any other number to indicate an error. A copy is not supported if overwriting an existing logical file is required. CopyEx is an extended version of the Copy method.
It returns one of the following integer values:
0 - The request was successful.
2 - Access was denied.
8 - An unspecified failure occurred.
9 - The name specified was invalid.
10 - The object specified already exists.
11 - The file system is not NTFS.
12 - The platform is not Windows NT or Windows 2000.
13 - The drive is not the same.
14 - The directory is not empty.
15 - There has been a sharing violation.
16 - The start file specified was invalid.
17 - A privilege required for the operation is not held.
21 - A parameter specified is invalid.