LPPROGRESS_ROUTINE funzione di callback (winbase.h)

Funzione di callback definita dall'applicazione usata con le funzioni CopyFileEx, MoveFileTransacted e MoveFileWithProgress . Viene chiamato quando viene completata una parte di un'operazione di copia o spostamento. Il tipo LPPROGRESS_ROUTINE definisce un puntatore a questa funzione di callback. CopyProgressRoutine è un segnaposto per il nome della funzione definita dall'applicazione.

Sintassi

LPPROGRESS_ROUTINE LpprogressRoutine;

DWORD LpprogressRoutine(
  [in]           LARGE_INTEGER TotalFileSize,
  [in]           LARGE_INTEGER TotalBytesTransferred,
  [in]           LARGE_INTEGER StreamSize,
  [in]           LARGE_INTEGER StreamBytesTransferred,
  [in]           DWORD dwStreamNumber,
  [in]           DWORD dwCallbackReason,
  [in]           HANDLE hSourceFile,
  [in]           HANDLE hDestinationFile,
  [in, optional] LPVOID lpData
)
{...}

Parametri

[in] TotalFileSize

Dimensioni totali del file, in byte.

[in] TotalBytesTransferred

Numero totale di byte trasferiti dal file di origine al file di destinazione dall'avvio dell'operazione di copia.

[in] StreamSize

Dimensioni totali del flusso di file corrente, in byte.

[in] StreamBytesTransferred

Numero totale di byte nel flusso corrente trasferiti dal file di origine al file di destinazione dall'avvio dell'operazione di copia.

[in] dwStreamNumber

Handle per il flusso corrente. La prima volta che viene chiamato CopyProgressRoutine , il numero di flusso è 1.

[in] dwCallbackReason

Motivo per cui è stato chiamato CopyProgressRoutine . Questo parametro può avere uno dei valori seguenti.

Valore Significato
CALLBACK_CHUNK_FINISHED
0x00000000
È stata copiata un'altra parte del file di dati.
CALLBACK_STREAM_SWITCH
0x00000001
È stato creato un altro flusso e sta per essere copiato. Questo è il motivo del callback specificato quando viene richiamata per la prima volta la routine di callback.

[in] hSourceFile

Handle per il file di origine.

[in] hDestinationFile

Handle per il file di destinazione

[in, optional] lpData

Argomento passato a CopyProgressRoutine da CopyFileEx, MoveFileTransacted o MoveFileWithProgress.

Valore restituito

La funzione CopyProgressRoutine deve restituire uno dei valori seguenti.

Codice/valore restituito Descrizione
PROGRESS_CANCEL
1
Annullare l'operazione di copia ed eliminare il file di destinazione.
PROGRESS_CONTINUE
0
Continuare l'operazione di copia.
PROGRESS_QUIET
3
Continuare l'operazione di copia, ma interrompere la chiamata di CopyProgressRoutine per segnalare lo stato di avanzamento.
PROGRESS_STOP
2
Arrestare l'operazione di copia. Può essere riavviato in un secondo momento.

Commenti

Un'applicazione può usare queste informazioni per visualizzare un indicatore di stato che mostra il numero totale di byte copiati come percentuale delle dimensioni totali del file.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)

Vedi anche

CopyFileEx

Funzioni di gestione file

MoveFileTransacted

MoveFileWithProgress