LPPROGRESS_ROUTINE fonction de rappel (winbase.h)

Fonction de rappel définie par l’application utilisée avec les fonctions CopyFileEx, MoveFileTransacted et MoveFileWithProgress. Elle est appelée lorsqu’une partie d’une opération de copie ou de déplacement est terminée. Le type LPPROGRESS_ROUTINE définit un pointeur vers cette fonction de rappel. CopyProgressRoutine est un espace réservé pour le nom de la fonction définie par l’application.

Syntaxe

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
)
{...}

Paramètres

[in] TotalFileSize

Taille totale du fichier, en octets.

[in] TotalBytesTransferred

Nombre total d’octets transférés du fichier source vers le fichier de destination depuis le début de l’opération de copie.

[in] StreamSize

Taille totale du flux de fichier actuel, en octets.

[in] StreamBytesTransferred

Nombre total d’octets dans le flux actuel qui ont été transférés du fichier source vers le fichier de destination depuis le début de l’opération de copie.

[in] dwStreamNumber

Handle pour le flux actuel. La première fois que CopyProgressRoutine est appelé, le numéro de flux est 1.

[in] dwCallbackReason

Raison pour laquelle CopyProgressRoutine a été appelé. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
CALLBACK_CHUNK_FINISHED
0x00000000
Une autre partie du fichier de données a été copiée.
CALLBACK_STREAM_SWITCH
0x00000001
Un autre flux a été créé et est sur le point d’être copié. Il s’agit de la raison de rappel donnée lorsque la routine de rappel est appelée pour la première fois.

[in] hSourceFile

Handle du fichier source.

[in] hDestinationFile

Handle pour le fichier de destination

[in, optional] lpData

Argument transmis à CopyProgressRoutine par CopyFileEx, MoveFileTransacted ou MoveFileWithProgress.

Valeur retournée

La fonction CopyProgressRoutine doit retourner l’une des valeurs suivantes.

Code/valeur de retour Description
PROGRESS_CANCEL
1
Annulez l’opération de copie et supprimez le fichier de destination.
PROGRESS_CONTINUE
0
Poursuivez l’opération de copie.
PROGRESS_QUIET
3
Poursuivez l’opération de copie, mais arrêtez d’appeler CopyProgressRoutine pour signaler la progression.
PROGRESS_STOP
2
Arrêtez l’opération de copie. Il peut être redémarré ultérieurement.

Remarques

Une application peut utiliser ces informations pour afficher une barre de progression qui affiche le nombre total d’octets copiés en pourcentage de la taille totale du fichier.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)

Voir aussi

CopyFileEx

Fonctions de gestion des fichiers

MoveFileTransacted

MoveFileWithProgress