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_EXISTS0x00000001 |
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_RESTARTABLE0x00000002 |
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_WRITE0x00000004 |
O arquivo é copiado e o arquivo de origem é aberto para acesso de gravação. |
COPY_FILE_ALLOW_DECRYPTED_DESTINATION0x00000008 |
A cópia será tentada mesmo se o arquivo de destino não puder ser criptografado. |
COPY_FILE_COPY_SYMLINK0x00000800 |
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_BUFFERING0x00001000 |
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_PRIVILEGES0x00002000 |
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_PAUSE0x00004000 |
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_OFFLOAD0x00040000 |
Não tente usar o mecanismo de descarregamento de cópia do Windows. Isso geralmente não é recomendado. |
COPY_FILE_IGNORE_EDP_BLOCK0x00400000 |
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_ENCRYPTION0x00800000 |
Ignore o estado criptografado do arquivo de origem. Com suporte em Windows 10 e posteriores. |
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC0x02000000 |
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_POINT0x00200000 |
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_DIRECTORY0x00000080 |
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_STREAMS0x00008000 |
Não copie fluxos de dados alternativos. Com suporte no Windows 10, build 19041 e posterior. |
COPY_FILE_DISABLE_PRE_ALLOCATION0x04000000 |
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_MODE0x08000000 |
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_TRAFFIC0x10000000 |
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_COPY0x20000000 |
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) |