estrutura COPYFILE2_EXTENDED_PARAMETERS_V2 (winbase.h)
Contém funcionalidades adicionais atualizadas além da estrutura de
Sintaxe
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;
Membros
dwSize
Contém o tamanho dessa estrutura, sizeof(COPYFILE2_EXTENDED_PARAMETERS_V2)
.
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 houver um arquivo ou diretório com o nome de destino, a chamada de função |
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 não oferecida, 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 sacl . Isso pode ser usado para permitir que o CopyFile2ProgressRoutine retorno de chamada para executar 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. Em caso afirmativo, 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 deverá ser copiado e criptografado no destino, se houver suporte do sistema de arquivos de destino. com suporte no Windows 10 e posterior. |
COPY_FILE_IGNORE_SOURCE_ENCRYPTION0x00800000 |
Ignorar o estado criptografado do arquivo de origem. com suporte no Windows 10 e posterior. |
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC0x02000000 |
Não solicite WRITE_DAC para o acesso ao arquivo de destino. com suporte no Windows 10 e posterior. |
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 prealoque 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, caso em que 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. Esse sinalizador foi introduzido no Windows 10, versão 1903 e Windows Server 2022. No Windows 10, o sinalizador tem suporte para arquivos que residem em compartilhamentos SMB, em que a versão de 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 no 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. Esse 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. Se pProgressRoutineOld e pProgressRoutine forem fornecidos, pProgressRoutineOld terá precedência.
pvCallbackContext
Um ponteiro para informações de contexto específicas do aplicativo a serem passadas para o CopyFile2ProgressRoutine.
dwCopyFlagsV2
Contém uma combinação de zero ou mais desses valores de sinalizador.
Valor | Significado |
---|---|
COPY_FILE2_V2_DONT_COPY_JUNCTIONS0x00000001 |
Desabilite a cópia de junções. |
ioDesiredSize
Opcional. O tamanho solicitado (em bytes) para cada operação de E/S (ou seja, um ciclo de leitura/gravação ao copiar o arquivo). Isso poderá ser reduzido se a memória insuficiente estiver disponível. Se zero, o tamanho padrão será usado. Isso poderá ser ignorado se ioDesiredRate também for fornecido
ioDesiredRate
Opcional. A taxa média de E/S solicitada, em quilobytes por segundo. Se zero, as cópias serão executadas o mais rápido possível.
pProgressRoutineOld
SourceOplockKeys
reserved[6]
reserved[7]
reserved[8]
pProgressRoutineOld. Opcional. O endereço de uma função de retorno de chamada de estilo antigo do tipo LPPROGRESS_ROUTINE que é chamado sempre que outra parte do arquivo é copiada. Esse parâmetro pode ser NULL. Para obter mais informações, na função de retorno de chamada de progresso, consulte LPPROGRESS_ROUTINEde retorno de chamada. Se pProgressRoutineOld e pProgressRoutine forem fornecidos, pProgressRoutineOld terá precedência.
Observações
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 |
---|---|
de cliente com suporte mínimo | Windows 11 [aplicativos da área de trabalho | Aplicativos UWP] |
servidor com suporte mínimo | Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP] |
cabeçalho | winbase.h (inclua Windows.h) |