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_EXISTS0x00000001 |
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_RESTARTABLE0x00000002 |
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_WRITE0x00000004 |
Il file viene copiato e il file di origine viene aperto per l'accesso in scrittura. |
COPY_FILE_ALLOW_DECRYPTED_DESTINATION0x00000008 |
La copia verrà tentata anche se il file di destinazione non può essere crittografato. |
COPY_FILE_COPY_SYMLINK0x00000800 |
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_BUFFERING0x00001000 |
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_PRIVILEGES0x00002000 |
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_PAUSE0x00004000 |
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_OFFLOAD0x00040000 |
Non tentare di usare il meccanismo di offload copia di Windows. Questo non è in genere consigliato. |
COPY_FILE_IGNORE_EDP_BLOCK0x00400000 |
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_ENCRYPTION0x00800000 |
Ignorare lo stato crittografato del file di origine. Supportato in Windows 10 e versioni successive. |
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC0x02000000 |
Non richiedere WRITE_DAC per l'accesso al file di destinazione. Supportato in Windows 10 e versioni successive. |
COPY_FILE_OPEN_AND_COPY_REPARSE_POINT0x00200000 |
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_DIRECTORY0x00000080 |
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_STREAMS0x00008000 |
Non copiare flussi di dati alternativi. Supportato in Windows 10 build 19041 e versioni successive. |
COPY_FILE_DISABLE_PRE_ALLOCATION0x04000000 |
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_MODE0x08000000 |
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_TRAFFIC0x10000000 |
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_COPY0x20000000 |
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) |