struttura COPYFILE2_EXTENDED_PARAMETERS (winbase.h)

Contiene parametri estesi per la funzione CopyFile2 .

Sintassi

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

Members

dwSize

Contiene le dimensioni di questa struttura, sizeof(COPYFILE2_EXTENDED_PARAMETERS).

dwCopyFlags

Contiene una combinazione di zero o più valori di flag.

Valore Significato
COPY_FILE_FAIL_IF_EXISTS
0x00000001
Se il file di destinazione esiste, l'operazione di copia ha esito negativo immediatamente. Se esiste un file o una directory con il nome di destinazione, la chiamata di funzione CopyFile2 avrà esito negativo con HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) o HRESULT_FROM_WIN32(ERROR_FILE_EXISTS). Se viene specificato anche COPY_FILE_RESUME_FROM_PAUSE, viene attivato un errore solo se il file di destinazione non dispone di un'intestazione di riavvio valida.
COPY_FILE_RESTARTABLE
0x00000002
Il file viene copiato in modo che possa essere riavviato se vengono usati nuovamente gli stessi nomi file di origine e di destinazione. Questo è più lento.
COPY_FILE_OPEN_SOURCE_FOR_WRITE
0x00000004
Il file viene copiato e il file di origine viene aperto per l'accesso in scrittura.
COPY_FILE_ALLOW_DECRYPTED_DESTINATION
0x00000008
La copia verrà tentata anche se il file di destinazione non può essere crittografato.
COPY_FILE_COPY_SYMLINK
0x00000800
Se il file di origine è un collegamento simbolico, il file di destinazione è anche un collegamento simbolico che punta allo stesso file del collegamento simbolico di origine.
COPY_FILE_NO_BUFFERING
0x00001000
La copia viene eseguita usando I/O senza buffer, ignorando le risorse della cache di sistema. Questo flag è consigliato per copie di file di grandi dimensioni. Non è consigliabile sospendere le copie che usano questo flag.
COPY_FILE_REQUEST_SECURITY_PRIVILEGES
0x00002000
La copia viene tentata, specificando ACCESS_SYSTEM_SECURITY per il file di origine e ACCESS_SYSTEM_SECURITY \| WRITE_DAC \| WRITE_OWNER per il file di destinazione. Se queste richieste vengono negate, la richiesta di accesso verrà ridotta al livello di privilegi più elevato per il quale viene concesso l'accesso. Per altre informazioni, vedere SACL Access Right.For more information see SACL Access Right. Può essere usato per consentire al callback CopyFile2ProgressRoutine di eseguire operazioni che richiedono privilegi più elevati, ad esempio la copia degli attributi di sicurezza per il file.
COPY_FILE_RESUME_FROM_PAUSE
0x00004000
Il file di destinazione viene esaminato per verificare se è stato copiato usando COPY_FILE_RESTARTABLE. In tal caso, la copia viene ripresa. In caso contrario, il file verrà copiato completamente.
COPY_FILE_NO_OFFLOAD
0x00040000
Non tentare di usare il meccanismo di offload copia di Windows. Questo non è in genere consigliato.
COPY_FILE_IGNORE_EDP_BLOCK
0x00400000
Invece di bloccare, il file deve essere copiato e crittografato nella destinazione, se supportato dal file system di destinazione. Supportato in Windows 10 e versioni successive.
COPY_FILE_IGNORE_SOURCE_ENCRYPTION
0x00800000
Ignorare lo stato crittografato del file di origine. Supportato in Windows 10 e versioni successive.
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC
0x02000000
Non richiedere WRITE_DAC per l'accesso al file di destinazione. Supportato in Windows 10 e versioni successive.
COPY_FILE_OPEN_AND_COPY_REPARSE_POINT
0x00200000
Copiare sempre il punto di ripristino indipendentemente dal tipo. È responsabilità del chiamante comprendere il significato del punto di analisi. Supportato in Windows 10, build 19041 e versioni successive.
COPY_FILE_DIRECTORY
0x00000080
Indica che il file di origine è un file di directory. Se specificato, il file di origine viene aperto con FILE_OPEN_FOR_BACKUP_INTENT. Il file di directory avrà flussi di dati alternativi, informazioni sul punto di ripristino e EA copiati come un file normale. Supportato in Windows 10 build 19041 e versioni successive.
COPY_FILE_SKIP_ALTERNATE_STREAMS
0x00008000
Non copiare flussi di dati alternativi. Supportato in Windows 10 build 19041 e versioni successive.
COPY_FILE_DISABLE_PRE_ALLOCATION
0x04000000
Non preallocare le dimensioni del file di destinazione prima di eseguire la copia. Supportato in Windows 10 build 19041 e versioni successive.
COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE
0x08000000
Abilitare la modalità LowFreeSpace. Non vengono usate operazioni di I/O sovrapposte. L'offload ODX e SMB non viene tentato. Supportato in Windows 10 build 19041 e versioni successive.
COPY_FILE_REQUEST_COMPRESSED_TRAFFIC
0x10000000
Richiedere il canale di trasferimento sottostante comprimere i dati durante l'operazione di copia. La richiesta potrebbe non essere supportata per tutti i supporti, nel qual caso viene ignorata. Gli attributi e i parametri di compressione (complessità computazionale, utilizzo della memoria) non sono configurabili tramite questa API e sono soggetti a modifiche tra versioni diverse del sistema operativo. Supportato in Windows Server 2022 e Windows 10, build 1903 e versioni successive. In Windows 10 il flag è supportato per i file che risiedono in condivisioni SMB, in cui la versione del protocollo SMB negoziata è SMB v3.1.1 o successiva.
COPY_FILE_ENABLE_SPARSE_COPY
0x20000000
Abilitare la conservazione dello stato sparse del file durante la copia. Supportato in Windows 11, build 22H2 e versioni successive.

pfCancel

Se questo flag è impostato su TRUE durante l'operazione di copia, l'operazione di copia viene annullata.

pProgressRoutine

Indirizzo facoltativo di una funzione di callback di tipo PCOPYFILE2_PROGRESS_ROUTINE che viene chiamato ogni volta che è stata copiata un'altra parte del file. Questo parametro può essere NULL. Per altre informazioni sulla funzione di callback di stato, vedere la funzione di callback CopyFile2ProgressRoutine .

pvCallbackContext

Puntatore alle informazioni sul contesto specifiche dell'applicazione da passare a CopyFile2ProgressRoutine.

Commenti

Per compilare un'applicazione che usa questa struttura, definire la macro _WIN32_WINNT come _WIN32_WINNT_WIN8 o versione successiva. Per altre informazioni, vedere Uso delle intestazioni di Windows.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [app desktop | App UWP]
Server minimo supportato Windows Server 2012 [app desktop | App UWP]
Intestazione winbase.h (include Windows.h)

Vedi anche

CopyFile2

CopyFile2ProgressRoutine

Strutture di gestione file

COPYFILE2_EXTENDED_PARAMETERS_V2