PCOPYFILE2_PROGRESS_ROUTINE funzione di callback (winbase.h)
Funzione di callback definita dall'applicazione usata con la funzione CopyFile2 . Viene chiamato quando viene completata una parte di un'operazione di copia o spostamento. Il tipo PCOPYFILE2_PROGRESS_ROUTINE definisce un puntatore a questa funzione di callback. CopyFile2ProgressRoutine è un segnaposto per il nome della funzione definita dall'applicazione.
Sintassi
PCOPYFILE2_PROGRESS_ROUTINE Pcopyfile2ProgressRoutine;
COPYFILE2_MESSAGE_ACTION Pcopyfile2ProgressRoutine(
[in] const COPYFILE2_MESSAGE *pMessage,
[in, optional] PVOID pvCallbackContext
)
{...}
Parametri
[in] pMessage
Puntatore a una struttura COPYFILE2_MESSAGE .
[in, optional] pvCallbackContext
Copia del valore passato nel membro pvCallbackContext della struttura COPYFILE2_EXTENDED_PARAMETERS passata a CopyFile2.
Valore restituito
Valore dell'enumerazione COPYFILE2_MESSAGE_ACTION che indica l'azione da eseguire.
Codice/valore restituito | Descrizione |
---|---|
|
Continuare l'operazione di copia. |
|
Annullare l'operazione di copia. La funzione CopyFile2 avrà esito negativo, restituirà HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED) e tutti i frammenti parzialmente copiati verranno eliminati.
|
|
Arrestare l'operazione di copia. La funzione CopyFile2 avrà esito negativo, restituirà HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED) e tutti i frammenti parzialmente copiati verranno lasciati intatti. L'operazione può essere riavviata usando il flag COPY_FILE_RESUME_FROM_PAUSE solo se COPY_FILE_RESTARTABLE è stato impostato nel membro dwCopyFlags della struttura COPYFILE2_EXTENDED_PARAMETERS passata alla funzione CopyFile2 .
|
|
Continuare l'operazione di copia, ma non chiamare di nuovo la funzione di callback CopyFile2ProgressRoutine per questa operazione. |
|
Sospendere l'operazione di copia. Nella maggior parte dei casi la funzione CopyFile2 avrà esito negativo e restituirà HRESULT_FROM_WIN32(ERROR_REQUEST_PAUSED) tutti i frammenti parzialmente copiati, ad eccezione dell'intestazione scritta per riprendere l'operazione di copia in un secondo momento. Se l'operazione di copia è stata completata al momento dell'elaborazione della richiesta di sospensione, la chiamata CopyFile2 verrà completata correttamente e non verrà scritta alcuna intestazione di ripresa.
|
Commenti
Il messaggio COPYFILE2_CALLBACK_STREAM_FINISHED è l'ultimo messaggio per una copia sospesa. Se COPYFILE2_PROGRESS_PAUSE viene restituito in risposta a un messaggio di COPYFILE2_CALLBACK_STREAM_FINISHED , non verranno inviati altri callback.
Per compilare un'applicazione che usa il tipo di puntatore a funzione PCOPYFILE2_PROGRESS_ROUTINE , definire la macro _WIN32_WINNT come 0x0601 o versione successiva. Per altre informazioni, vedere Uso delle intestazioni di Windows.
In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.
Tecnologia | Supportato |
---|---|
Protocollo SMB (Server Message Block) 3.0 | Sì |
Failover trasparente SMB 3.0 (TFO) | Sì |
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) | Sì |
File system del volume condiviso cluster (CsvFS) | Sì |
Resilient File System (ReFS) | Sì |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | winbase.h (include Windows.h) |