Condividi tramite


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
COPYFILE2_PROGRESS_CONTINUE
0
Continuare l'operazione di copia.
COPYFILE2_PROGRESS_CANCEL
1
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.
COPYFILE2_PROGRESS_STOP
2
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 .
COPYFILE2_PROGRESS_QUIET
3
Continuare l'operazione di copia, ma non chiamare di nuovo la funzione di callback CopyFile2ProgressRoutine per questa operazione.
COPYFILE2_PROGRESS_PAUSE
4
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
Failover trasparente SMB 3.0 (TFO)
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO)
File system del volume condiviso cluster (CsvFS)
Resilient File System (ReFS)

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)