Функция CopyFile копирует существующий файл в новый файл.
Функция CopyFileEx предоставляет две дополнительные возможности. CopyFileEx может вызывать определенную функцию обратного вызова каждый раз, когда часть операции копирования завершается, и CopyFileEx может быть завершен в течении операции копирования.
Функция CopyFileEx предоставляет две дополнительные возможности. CopyFileEx может вызывать определенную функцию обратного вызова каждый раз, когда часть операции копирования завершается, и CopyFileEx может быть завершен в течении операции копирования.
BOOLCopyFile ( LPCTSTRlpExistingFileName , LPCTSTRlpNewFileName , BOOLbFailIfExists );
Параметры:
Адрес нульзаканчивающейся строки, которая определяет имя существующего файла. В ANSI-версии этой функции, имя ограничено количеством MAX_PATH символов. Для увеличения этого предела до 32767 расширенных символов, используйте Unicode-версию этой функции и добавив к пути "\\?\". Windows Me/98/95: Эта строка не может превышать MAX_PATH символов. Если lpExistingFileName не существует, CopyFile возвращается с ошибкой, и функция GetLastError возвращает ERROR_FILE_NOT_FOUND. | |
Адрес нульзаканчивающейся строки, которая определяет имя нового файла. В ANSI-версии этой функции, имя ограничено количеством MAX_PATH символов. Для увеличения этого предела до 32767 расширенных символов, используйте Unicode-версию этой функции и добавив к пути "\\?\". Windows Me/98/95: Эта строка не может превышать MAX_PATH символов. | |
Если этот параметр равен TRUE и новый файл, указанный в lpNewFileName, уже существует, то функция завершится с ошибкой. Если этот параметр равен FALSE и новый файл уже существует, то функция перезаписывает существует файл и успешно завершается. |
Возвращаемые значения:
При успешном завершении, функция возвращает ненулевое значение.
При ошибке возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.
При ошибке возвращается ноль. Для получения дополнительной информации об ошибке, вызовите GetLastError.
Замечания:
Атрибуты безопасности существующего файла, в новый файл не копируются. Чтобы скопировать атрибуты, используйте фукнцию SHFileOperation.
Файловые атрибуты существующего файла, копируются в новый файл.
Эта функция завершается с ошибкой ERROR_ACCESS_DENIED, если файл в месте назначении существует и имеет установленный атрибут FILE_ATTRIBUTE_HIDDEN или FILE_ATTRIBUTE_READONLY.
Когда функция CopyFile используется для копирования зашифрованного файла, она пытается зашифровать файл в месте назначения с ключами, используемыми в шифровании файла-источника. Если это не может быть завершено, функция пытается зашифравать файл-назначение с ключами по умолчанию, как в Windows 2000. Если оба метода не могут быть завершены, CopyFile завершается с ошибкой ERROR_ENCRYPTION_FAILED.
Windows 2000: Когда CopyFile используется для копирования зашифрованного файла, она пытается зашифровать файл-назначение с ключами по умолчанию. Если он не может быть зашифрован, CopyFile завершает копирование без шифрования файла-назначения.
Файловые атрибуты существующего файла, копируются в новый файл.
Эта функция завершается с ошибкой ERROR_ACCESS_DENIED, если файл в месте назначении существует и имеет установленный атрибут FILE_ATTRIBUTE_HIDDEN или FILE_ATTRIBUTE_READONLY.
Когда функция CopyFile используется для копирования зашифрованного файла, она пытается зашифровать файл в месте назначения с ключами, используемыми в шифровании файла-источника. Если это не может быть завершено, функция пытается зашифравать файл-назначение с ключами по умолчанию, как в Windows 2000. Если оба метода не могут быть завершены, CopyFile завершается с ошибкой ERROR_ENCRYPTION_FAILED.
Windows 2000: Когда CopyFile используется для копирования зашифрованного файла, она пытается зашифровать файл-назначение с ключами по умолчанию. Если он не может быть зашифрован, CopyFile завершает копирование без шифрования файла-назначения.
Смотрите также:
CopyFileEx, CreateFile, MoveFile