Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This function copies an existing file to a new file.
Syntax
BOOL CopyFileEx( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags ); |
Parameters
- lpExistingFileName
-
[in] Pointer to a null-terminated string that specifies the name of an existing file.
- lpNewFileName
-
[in] Pointer to a null-terminated string that specifies the name of the new file.
- lpProgressRoutine
-
[in] Address of a callback function that is called each time another portion of the file has been copied. This parameter can be set to NULL.
- lpData
-
[in] Parameter to be passed to the callback function. This parameter can be set to NULL.
- pbCancel
-
[in] If this parameter is set to TRUE during the copy operation, the operation is canceled. Otherwise, the copy operation continues to completion.
- dwCopyFlags
-
[in] Flags that specify how the file is to be copied. This parameter can be set to any combination of the values shown in the following table.
Value Description COPY_FILE_ALLOW_DECRYPTED_DESTINATION
An attempt to copy an encrypted file succeeds, even if the destination copy cannot be encrypted.
COPY_FILE_FAIL_IF_EXISTS
The copy operation fails immediately if the target file already exists.
COPY_FILE_RESTARTABLE
Progress of the copy is tracked in the target file in case the copy fails. The failed copy can be restarted at a later time by specifying the same values for lpExistingFileNameand lpNewFileNameas those used in the call that failed.
Return Value
Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.
Remarks
This function fails with ERROR_ACCESS_DENIED if the destination file already exists and has the FILE_ATTRIBUTE_HIDDEN or the FILE_ATTRIBUTE_READONLY file attribute set.
If lpProgressRoutinereturns PROGRESS_CANCEL because the user cancels the operation, this function returns zero, and GetLastErrorreturns ERROR_REQUEST_ABORTED. In this case, the partially copied destination file is deleted.
If lpProgressRoutinereturns PROGRESS_STOP because the user stops the operation, this function returns zero, and GetLastErrorreturns ERROR_REQUEST_ABORTED. In this case, the partially copied destination file is left intact.
Requirements
Header | winbase.h |
Library | coredll.lib |
Windows Embedded CE | Windows CE 5.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |