estructura COPYFILE2_EXTENDED_PARAMETERS_V2 (winbase.h)

Contiene funcionalidades adicionales actualizadas más allá de la estructura de COPYFILE2_EXTENDED_PARAMETERS para la función CopyFile2 .

Sintaxis

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;

Miembros

dwSize

Contiene el tamaño de esta estructura, sizeof(COPYFILE2_EXTENDED_PARAMETERS_V2).

dwCopyFlags

Contiene una combinación de cero o más de estos valores de marca.

Valor Significado
COPY_FILE_FAIL_IF_EXISTS
0x00000001
Si el archivo de destino existe, se produce un error en la operación de copia inmediatamente. Si existe un archivo o directorio con el nombre de destino, se producirá un error en la llamada a la función CopyFile2 con HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) o HRESULT_FROM_WIN32(ERROR_FILE_EXISTS). Si también se especifica COPY_FILE_RESUME_FROM_PAUSE, solo se desencadena un error si el archivo de destino no tiene un encabezado de reinicio válido.
COPY_FILE_RESTARTABLE
0x00000002
El archivo se copia de una manera que se puede reiniciar si se vuelven a usar los mismos nombres de archivo de origen y destino. Esto es más lento.
COPY_FILE_OPEN_SOURCE_FOR_WRITE
0x00000004
El archivo se copia y el archivo de origen se abre para el acceso de escritura.
COPY_FILE_ALLOW_DECRYPTED_DESTINATION
0x00000008
La copia se intentará incluso si el archivo de destino no se puede cifrar.
COPY_FILE_COPY_SYMLINK
0x00000800
Si el archivo de origen es un vínculo simbólico, el archivo de destino también es un vínculo simbólico que apunta al mismo archivo que el vínculo simbólico de origen.
COPY_FILE_NO_BUFFERING
0x00001000
La copia se realiza mediante E/S sin búfer, pasando los recursos de caché del sistema. Esta marca se recomienda para copias de archivos muy grandes. No se recomienda pausar copias que usen esta marca.
COPY_FILE_REQUEST_SECURITY_PRIVILEGES
0x00002000
Se intenta copiar, especificando ACCESS_SYSTEM_SECURITY para el archivo de origen y ACCESS_SYSTEM_SECURITY \| WRITE_DAC \| WRITE_OWNER para el archivo de destino. Si se deniegan estas solicitudes, la solicitud de acceso se reducirá al nivel de privilegios más alto para el que se concede acceso. Para obtener más información, consulte Derecho de acceso SACL. Esto se puede usar para permitir que la devolución de llamada copyFile2ProgressRoutine realice operaciones que requieran privilegios mayores, como copiar los atributos de seguridad para el archivo.
COPY_FILE_RESUME_FROM_PAUSE
0x00004000
El archivo de destino se examina para ver si se copió mediante COPY_FILE_RESTARTABLE. Si es así, se reanuda la copia. Si no es así, el archivo se copiará por completo.
COPY_FILE_NO_OFFLOAD
0x00040000
No intente usar el mecanismo de descarga de copia de Windows. Por lo general, esto no se recomienda.
COPY_FILE_IGNORE_EDP_BLOCK
0x00400000
En lugar de bloquearlo, el archivo debe copiarse y cifrarse en el destino si es compatible con el sistema de archivos de destino. Compatible con Windows 10 y versiones posteriores.
COPY_FILE_IGNORE_SOURCE_ENCRYPTION
0x00800000
Omita el estado cifrado del archivo de origen. Compatible con Windows 10 y versiones posteriores.
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC
0x02000000
No solicite WRITE_DAC para el acceso al archivo de destino. Compatible con Windows 10 y versiones posteriores.
COPY_FILE_OPEN_AND_COPY_REPARSE_POINT
0x00200000
Copie siempre el punto de reanálisis independientemente del tipo. Es responsabilidad del autor de la llamada comprender el significado del punto de reanálisis. Compatible con Windows 10, compilación 19041 y versiones posteriores.
COPY_FILE_DIRECTORY
0x00000080
Indica que el archivo de origen es un archivo de directorio. Cuando se proporciona, el archivo de origen se abre con FILE_OPEN_FOR_BACKUP_INTENT. El archivo de directorio tendrá sus flujos de datos alternativos, información de punto de reanálisis y EAs copiadas como un archivo normal. Compatible con Windows 10, compilación 19041 y posteriores.
COPY_FILE_SKIP_ALTERNATE_STREAMS
0x00008000
No copie flujos de datos alternativos. Compatible con Windows 10, compilación 19041 y posteriores.
COPY_FILE_DISABLE_PRE_ALLOCATION
0x04000000
No asigne previamente el tamaño del archivo de destino antes de realizar la copia. Compatible con Windows 10, compilación 19041 y posteriores.
COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE
0x08000000
Habilite el modo LowFreeSpace. No se usan E/S superpuestas. No se intenta descargar ODX y SMB. Compatible con Windows 10, compilación 19041 y posteriores.
COPY_FILE_REQUEST_COMPRESSED_TRAFFIC
0x10000000
Solicite al canal de transferencia subyacente comprimir los datos durante la operación de copia. Es posible que la solicitud no se admita para todos los medios, en cuyo caso se omite. Los atributos y parámetros de compresión (complejidad computacional, uso de memoria) no se pueden configurar a través de esta API y están sujetos a cambios entre diferentes versiones del sistema operativo.

Esta marca se introdujo en Windows 10, versión 1903 y Windows Server 2022. En Windows 10, la marca es compatible con los archivos que residen en recursos compartidos SMB, donde la versión negociada del protocolo SMB es SMB v3.1.1 o superior.
COPY_FILE_ENABLE_SPARSE_COPY
0x20000000
Habilite la retención del estado disperso del archivo durante la copia. Compatible con Windows 11, compilación 22H2 y versiones posteriores.

pfCancel

Si esta marca se establece en TRUE durante la operación de copia, se cancela la operación de copia.

pProgressRoutine

Dirección opcional de una función de devolución de llamada de tipo PCOPYFILE2_PROGRESS_ROUTINE que se llama cada vez que se ha copiado otra parte del archivo. Este parámetro puede ser NULL. Para obtener más información sobre la función de devolución de llamada de progreso, consulte la función de devolución de llamada CopyFile2ProgressRoutine . Si se proporcionan pProgressRoutineOld y pProgressRoutine , pProgressRoutineOld tiene prioridad.

pvCallbackContext

Puntero a la información de contexto específica de la aplicación que se va a pasar a CopyFile2ProgressRoutine.

dwCopyFlagsV2

Contiene una combinación de cero o más de estos valores de marca.

Valor Significado
COPY_FILE2_V2_DONT_COPY_JUNCTIONS
0x00000001
Deshabilite la copia de uniones.

ioDesiredSize

Opcional. Tamaño solicitado (en bytes) para cada operación de E/S (es decir, un ciclo de lectura y escritura al copiar el archivo). Esto puede reducirse si no hay suficiente memoria disponible. Si es cero, se usa el tamaño predeterminado. Esto se puede omitir si también se proporciona ioDesiredRate .

ioDesiredRate

Opcional. Tasa de E/S media solicitada, en kilobytes por segundo. Si es cero, las copias se realizan lo más rápido posible.

pProgressRoutineOld

SourceOplockKeys

reserved[6]

reserved[7]

reserved[8]

pProgressRoutineOld. Opcional. Dirección de una función de devolución de llamada de estilo antiguo de tipo LPPROGRESS_ROUTINE que se llama cada vez que se ha copiado otra parte del archivo. Este parámetro puede ser NULL. Para obtener más información, en la función de devolución de llamada de progreso, consulte LPPROGRESS_ROUTINE devolución de llamada. Si se proporcionan pProgressRoutineOld y pProgressRoutine , pProgressRoutineOld tiene prioridad.

Comentarios

Para compilar una aplicación que use esta estructura, defina la macro _WIN32_WINNT como _WIN32_WINNT_WIN8 o posterior. Para obtener más información, vea Uso de los encabezados de Windows.

Requisitos

   
Cliente mínimo compatible Windows 11 [aplicaciones de escritorio Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 [aplicaciones de escritorio Aplicaciones para UWP]
Encabezado winbase.h (incluya Windows.h)

Consulte también

CopyFile2

COPYFILE2_EXTENDED_PARAMETERS

CopyFile2ProgressRoutine

Estructuras de administración de archivos

LPPROGRESS_ROUTINE

Uso de los encabezados de Windows