estrutura COPYFILE2_EXTENDED_PARAMETERS (winbase.h)

Contém parâmetros estendidos para a função CopyFile2.

Sintaxe

typedef struct COPYFILE2_EXTENDED_PARAMETERS {
  DWORD                       dwSize;
  DWORD                       dwCopyFlags;
  BOOL                        *pfCancel;
  PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine;
  PVOID                       pvCallbackContext;
} COPYFILE2_EXTENDED_PARAMETERS;

Membros

dwSize

Contém o tamanho dessa estrutura, sizeof(COPYFILE2_EXTENDED_PARAMETERS).

dwCopyFlags

Contém uma combinação de zero ou mais desses valores de sinalizador.

Valor Significado
COPY_FILE_FAIL_IF_EXISTS
0x00000001
Se o arquivo de destino existir, a operação de cópia falhará imediatamente. Se existir um arquivo ou diretório com o nome de destino, a chamada de função CopyFile2 falhará com HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) ou HRESULT_FROM_WIN32(ERROR_FILE_EXISTS). Se COPY_FILE_RESUME_FROM_PAUSE também for especificado, uma falha só será disparada se o arquivo de destino não tiver um cabeçalho de reinicialização válido.
COPY_FILE_RESTARTABLE
0x00000002
O arquivo é copiado de uma maneira que pode ser reiniciada se os mesmos nomes de arquivo de origem e destino forem usados novamente. Isso é mais lento.
COPY_FILE_OPEN_SOURCE_FOR_WRITE
0x00000004
O arquivo é copiado e o arquivo de origem é aberto para acesso de gravação.
COPY_FILE_ALLOW_DECRYPTED_DESTINATION
0x00000008
A cópia será tentada mesmo se o arquivo de destino não puder ser criptografado.
COPY_FILE_COPY_SYMLINK
0x00000800
Se o arquivo de origem for um link simbólico, o arquivo de destino também será um link simbólico apontando para o mesmo arquivo que o link simbólico de origem.
COPY_FILE_NO_BUFFERING
0x00001000
A cópia é executada usando E/S sem cofres, ignorando os recursos de cache do sistema. Esse sinalizador é recomendado para cópias de arquivo muito grandes. Não é recomendável pausar cópias que estão usando esse sinalizador.
COPY_FILE_REQUEST_SECURITY_PRIVILEGES
0x00002000
A cópia é tentada, especificando ACCESS_SYSTEM_SECURITY para o arquivo de origem e ACCESS_SYSTEM_SECURITY \| WRITE_DAC \| WRITE_OWNER para o arquivo de destino. Se essas solicitações forem negadas, a solicitação de acesso será reduzida ao nível de privilégio mais alto para o qual o acesso é concedido. Para obter mais informações, consulte Direito de Acesso do SACL. Isso pode ser usado para permitir que o retorno de chamada CopyFile2ProgressRoutine execute operações que exigem privilégios mais altos, como copiar os atributos de segurança para o arquivo.
COPY_FILE_RESUME_FROM_PAUSE
0x00004000
O arquivo de destino é examinado para ver se ele foi copiado usando COPY_FILE_RESTARTABLE. Nesse caso, a cópia será retomada. Caso contrário, o arquivo será totalmente copiado.
COPY_FILE_NO_OFFLOAD
0x00040000
Não tente usar o mecanismo de descarregamento de cópia do Windows. Isso geralmente não é recomendado.
COPY_FILE_IGNORE_EDP_BLOCK
0x00400000
Em vez de bloquear, o arquivo deve ser copiado e criptografado no destino, se houver suporte para o sistema de arquivos de destino. Com suporte em Windows 10 e posteriores.
COPY_FILE_IGNORE_SOURCE_ENCRYPTION
0x00800000
Ignore o estado criptografado do arquivo de origem. Com suporte em Windows 10 e posteriores.
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC
0x02000000
Não solicite WRITE_DAC para o acesso ao arquivo de destino. Com suporte em Windows 10 e posteriores.
COPY_FILE_OPEN_AND_COPY_REPARSE_POINT
0x00200000
Sempre copie o ponto de nova análise, independentemente do tipo. É responsabilidade do chamador entender o significado do ponto de nova análise. Com suporte no Windows 10, build 19041 e posterior.
COPY_FILE_DIRECTORY
0x00000080
Indica que o arquivo de origem é um arquivo de diretório. Quando fornecido, o arquivo de origem é aberto com FILE_OPEN_FOR_BACKUP_INTENT. O arquivo de diretório terá seus fluxos de dados alternativos, informações de ponto de nova análise e EAs copiados como um arquivo normal. Com suporte no Windows 10, build 19041 e posterior.
COPY_FILE_SKIP_ALTERNATE_STREAMS
0x00008000
Não copie fluxos de dados alternativos. Com suporte no Windows 10, build 19041 e posterior.
COPY_FILE_DISABLE_PRE_ALLOCATION
0x04000000
Não preallocate o tamanho do arquivo de destino antes de executar a cópia. Com suporte no Windows 10, build 19041 e posterior.
COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE
0x08000000
Habilitar o modo LowFreeSpace. Nenhuma E/S sobreposta é usada. O descarregamento ODX e SMB não são tentados. Com suporte no Windows 10, build 19041 e posterior.
COPY_FILE_REQUEST_COMPRESSED_TRAFFIC
0x10000000
Solicite que o canal de transferência subjacente compacte os dados durante a operação de cópia. A solicitação pode não ter suporte para todos os meios, nesse caso, ela é ignorada. Os atributos e parâmetros de compactação (complexidade computacional, uso de memória) não são configuráveis por meio dessa API e estão sujeitos a alterações entre diferentes versões do sistema operacional. Com suporte no Windows Server 2022 e Windows 10, build 1903 e posterior. (No Windows 10, há suporte para o sinalizador para arquivos que residem em compartilhamentos SMB, em que a versão do protocolo SMB negociada é SMB v3.1.1 ou superior.)
COPY_FILE_ENABLE_SPARSE_COPY
0x20000000
Habilite a retenção do estado esparso do arquivo durante a cópia. Com suporte em Windows 11, build 22H2 e posterior.

pfCancel

Se esse sinalizador estiver definido como TRUE durante a operação de cópia, a operação de cópia será cancelada.

pProgressRoutine

O endereço opcional de uma função de retorno de chamada do tipo PCOPYFILE2_PROGRESS_ROUTINE que é chamado sempre que outra parte do arquivo é copiada. Este parâmetro pode ser NULL. Para obter mais informações sobre a função de retorno de chamada de progresso, consulte a função de retorno de chamada CopyFile2ProgressRoutine .

pvCallbackContext

Um ponteiro para informações de contexto específicas do aplicativo a serem passadas para o CopyFile2ProgressRoutine.

Comentários

Para compilar um aplicativo que usa essa estrutura, defina a macro _WIN32_WINNT como _WIN32_WINNT_WIN8 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho winbase.h (inclua Windows.h)

Confira também

CopyFile2

CopyFile2ProgressRoutine

Estruturas de gerenciamento de arquivos

COPYFILE2_EXTENDED_PARAMETERS_V2