структура COPYFILE2_EXTENDED_PARAMETERS_V2 (winbase.h)
Содержит обновленные дополнительные функциональные возможности за пределами структуры COPYFILE2_EXTENDED_PARAMETERS для функции CopyFile2 .
Синтаксис
typedef struct COPYFILE2_EXTENDED_PARAMETERS_V2 {
DWORD dwSize;
DWORD dwCopyFlags;
BOOL *pfCancel;
PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine;
PVOID pvCallbackContext;
DWORD dwCopyFlagsV2;
ULONG ioDesiredSize;
ULONG ioDesiredRate;
LPPROGRESS_ROUTINE pProgressRoutineOld;
PCOPYFILE2_CREATE_OPLOCK_KEYS SourceOplockKeys;
#if ...
PVOID reserved[6];
#elif
PVOID reserved[7];
#else
PVOID reserved[8];
#endif
} COPYFILE2_EXTENDED_PARAMETERS_V2;
Члены
dwSize
Содержит размер этой структуры , sizeof(COPYFILE2_EXTENDED_PARAMETERS_V2)
.
dwCopyFlags
Содержит сочетание нуля или нескольких значений этих флагов.
Значение | Значение |
---|---|
COPY_FILE_FAIL_IF_EXISTS0x00000001 |
Если целевой файл существует, операция копирования немедленно завершается сбоем. Если файл или каталог существует с именем назначения, вызов функции CopyFile2 завершится ошибкой с HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) или HRESULT_FROM_WIN32(ERROR_FILE_EXISTS) . Если также указано COPY_FILE_RESUME_FROM_PAUSE , сбой активируется только в том случае, если целевой файл не имеет допустимого заголовка перезапуска. |
COPY_FILE_RESTARTABLE0x00000002 |
Файл копируется таким образом, что его можно перезапустить, если используются те же исходные и целевые имена файлов. Это медленнее. |
COPY_FILE_OPEN_SOURCE_FOR_WRITE0x00000004 |
Файл копируется, а исходный файл открывается для доступа на запись. |
COPY_FILE_ALLOW_DECRYPTED_DESTINATION0x00000008 |
Будет предпринята попытка копирования, даже если целевой файл не может быть зашифрован. |
COPY_FILE_COPY_SYMLINK0x00000800 |
Если исходный файл является символьной ссылкой, целевой файл также является символьной ссылкой, указывающей на тот же файл, что и исходная символьная ссылка. |
COPY_FILE_NO_BUFFERING0x00001000 |
Копирование выполняется с использованием небуферированных операций ввода-вывода, минуя ресурсы системного кэша. Этот флаг рекомендуется для очень больших копий файлов. Не рекомендуется приостанавливать копии, использующие этот флаг. |
COPY_FILE_REQUEST_SECURITY_PRIVILEGES0x00002000 |
Выполняется попытка копирования ACCESS_SYSTEM_SECURITY с указанием для исходного файла и ACCESS_SYSTEM_SECURITY \| WRITE_DAC \| WRITE_OWNER для целевого файла. Если эти запросы отклоняются, запрос на доступ будет сокращен до самого высокого уровня привилегий, для которого предоставляется доступ. Дополнительные сведения см. в разделе Права доступа к SACL. Это позволяет обратному вызову CopyFile2ProgressRoutine выполнять операции, требующие более высоких привилегий, например копирование атрибутов безопасности для файла. |
COPY_FILE_RESUME_FROM_PAUSE0x00004000 |
Целевой файл проверяется, был ли он скопирован с помощью COPY_FILE_RESTARTABLE. Если это так, копирование возобновляется. Если нет, файл будет полностью скопирован. |
COPY_FILE_NO_OFFLOAD0x00040000 |
Не пытайтесь использовать механизм разгрузки копирования Windows. Обычно это не рекомендуется. |
COPY_FILE_IGNORE_EDP_BLOCK0x00400000 |
Вместо блокировки файл следует скопировать и зашифровать в целевой папке, если он поддерживается файловой системой назначения. Поддерживается в Windows 10 и более поздних версий. |
COPY_FILE_IGNORE_SOURCE_ENCRYPTION0x00800000 |
Игнорировать зашифрованное состояние исходного файла. Поддерживается в Windows 10 и более поздних версий. |
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC0x02000000 |
Не запрашивайте WRITE_DAC для доступа к целевому файлу. Поддерживается в Windows 10 и более поздних версий. |
COPY_FILE_OPEN_AND_COPY_REPARSE_POINT0x00200000 |
Всегда копируйте точку повторного преобразования независимо от типа. Ответственность за понимание значения точки повторного анализа лежит на вызывающем объекте. Поддерживается в Windows 10 сборки 19041 и более поздних версий. |
COPY_FILE_DIRECTORY0x00000080 |
Указывает, что исходный файл является файлом каталога. При указании исходный файл открывается с FILE_OPEN_FOR_BACKUP_INTENT помощью . Файл каталога будет иметь альтернативные потоки данных, сведения о точках повторного анализа и EA, скопированные как обычный файл. Поддерживается в Windows 10 сборки 19041 и более поздних версий. |
COPY_FILE_SKIP_ALTERNATE_STREAMS0x00008000 |
Не копируйте альтернативные потоки данных. Поддерживается в Windows 10 сборки 19041 и более поздних версий. |
COPY_FILE_DISABLE_PRE_ALLOCATION0x04000000 |
Не выделяйте размер целевого файла перед выполнением копирования. Поддерживается в Windows 10 сборки 19041 и более поздних версий. |
COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE0x08000000 |
Включите режим LowFreeSpace. Перекрытие ввода-вывода не используется. Попытка разгрузки ODX и SMB не выполняется. Поддерживается в Windows 10 сборки 19041 и более поздних версий. |
COPY_FILE_REQUEST_COMPRESSED_TRAFFIC0x10000000 |
Запросите сжатие данных в базовом канале передачи во время операции копирования. Запрос может поддерживаться не для всех носителей, и в этом случае он игнорируется. Атрибуты и параметры сжатия (сложность вычислений, использование памяти) не настраиваются с помощью этого API и могут изменяться в разных выпусках ОС. Этот флаг появился в Windows 10 версии 1903 и Windows Server 2022. На Windows 10 флаг поддерживается для файлов, размещенных в общих папках SMB, где согласованная версия протокола SMB — SMB версии 3.1.1 или выше. |
COPY_FILE_ENABLE_SPARSE_COPY0x20000000 |
Включите сохранение разреженного состояния файла во время копирования. Поддерживается в Windows 11, сборке 22H2 и более поздних версиях. |
pfCancel
Если во время операции копирования для этого флага задано значение TRUE , операция копирования отменяется.
pProgressRoutine
Необязательный адрес функции обратного вызова типа PCOPYFILE2_PROGRESS_ROUTINE , которая вызывается при каждом копировании другой части файла. Этот параметр может принимать значение NULL. Дополнительные сведения о функции обратного вызова хода выполнения см. в разделе Функция обратного вызова CopyFile2ProgressRoutine . Если указаны оба параметра pProgressRoutineOld и pProgressRoutine , приоритет имеет pProgressRoutineOld .
pvCallbackContext
Указатель на сведения о контексте для конкретного приложения, передаваемые в copyFile2ProgressRoutine.
dwCopyFlagsV2
Содержит сочетание нуля или нескольких значений этих флагов.
Значение | Значение |
---|---|
COPY_FILE2_V2_DONT_COPY_JUNCTIONS0x00000001 |
Отключение копирования соединений. |
ioDesiredSize
Необязательный элемент. Запрошенный размер (в байтах) для каждой операции ввода-вывода (т. е. один цикл чтения и записи при копировании файла). Это может быть уменьшено, если недостаточно памяти. Если значение равно нулю, используется размер по умолчанию. Это может быть проигнорировано, если ioDesiredRate также предоставляется
ioDesiredRate
Необязательный элемент. Запрошенная средняя скорость ввода-вывода в килобайтах в секунду. Если значение равно нулю, копирование выполняется как можно быстрее.
pProgressRoutineOld
SourceOplockKeys
reserved[6]
reserved[7]
reserved[8]
pProgressRoutineOld. Необязательный элемент. Адрес функции обратного вызова старого стиля типа LPPROGRESS_ROUTINE , которая вызывается при каждом копировании другой части файла. Этот параметр может принимать значение NULL. Дополнительные сведения о функции обратного вызова хода выполнения см. в разделе LPPROGRESS_ROUTINE обратного вызова. Если указаны оба параметра pProgressRoutineOld и pProgressRoutine , приоритет имеет pProgressRoutineOld .
Комментарии
Чтобы скомпилировать приложение, использующее эту структуру, определите макрос _WIN32_WINNTкак _WIN32_WINNT_WIN8 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.
Требования
Минимальная версия клиента | Windows 11 [классические приложения) | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 [классические приложения) | Приложения UWP] |
Верхняя часть | winbase.h (включая Windows.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по