Partager via


PCOPYFILE2_PROGRESS_ROUTINE fonction de rappel (winbase.h)

Fonction de rappel définie par l’application utilisée avec la fonction CopyFile2. Elle est appelée lorsqu’une partie d’une opération de copie ou de déplacement est terminée. Le type PCOPYFILE2_PROGRESS_ROUTINE définit un pointeur vers cette fonction de rappel. CopyFile2ProgressRoutine est un espace réservé pour le nom de la fonction définie par l’application.

Syntaxe

PCOPYFILE2_PROGRESS_ROUTINE Pcopyfile2ProgressRoutine;

COPYFILE2_MESSAGE_ACTION Pcopyfile2ProgressRoutine(
  [in]           const COPYFILE2_MESSAGE *pMessage,
  [in, optional] PVOID pvCallbackContext
)
{...}

Paramètres

[in] pMessage

Pointeur vers une structure COPYFILE2_MESSAGE .

[in, optional] pvCallbackContext

Copie de la valeur passée dans le membre pvCallbackContext de la structure COPYFILE2_EXTENDED_PARAMETERS passée à CopyFile2.

Valeur retournée

Valeur de l’énumération COPYFILE2_MESSAGE_ACTION indiquant l’action à entreprendre.

Code/valeur de retour Description
COPYFILE2_PROGRESS_CONTINUE
0
Poursuivez l’opération de copie.
COPYFILE2_PROGRESS_CANCEL
1
Annulez l’opération de copie. La fonction CopyFile2 échoue, retourne HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED) et tous les fragments partiellement copiés sont supprimés.
COPYFILE2_PROGRESS_STOP
2
Arrêtez l’opération de copie. La fonction CopyFile2 échoue, retourne HRESULT_FROM_WIN32(ERROR_REQUEST_ABORTED) et les fragments partiellement copiés restent intacts. L’opération peut être redémarrée à l’aide de l’indicateur COPY_FILE_RESUME_FROM_PAUSE uniquement si COPY_FILE_RESTARTABLE a été défini dans le membre dwCopyFlags de la structure COPYFILE2_EXTENDED_PARAMETERS passée à la fonction CopyFile2 .
COPYFILE2_PROGRESS_QUIET
3
Poursuivez l’opération de copie, mais n’appelez pas la fonction de rappel CopyFile2ProgressRoutine pour cette opération.
COPYFILE2_PROGRESS_PAUSE
4
Suspendez l’opération de copie. Dans la plupart des cas, la fonction CopyFile2 échoue et retourne HRESULT_FROM_WIN32(ERROR_REQUEST_PAUSED) et tous les fragments partiellement copiés restent intacts (à l’exception de l’en-tête écrit qui est utilisé pour reprendre l’opération de copie ultérieurement.) Si l’opération de copie est terminée au moment où la demande de pause est traitée, l’appel CopyFile2 se termine correctement et aucun en-tête de reprise n’est écrit.

Remarques

Le message COPYFILE2_CALLBACK_STREAM_FINISHED est le dernier message d’une copie suspendue. Si COPYFILE2_PROGRESS_PAUSE est retourné en réponse à un message COPYFILE2_CALLBACK_STREAM_FINISHED , aucun rappel supplémentaire n’est envoyé.

Pour compiler une application qui utilise le type de pointeur de fonction PCOPYFILE2_PROGRESS_ROUTINE , définissez la macro _WIN32_WINNT comme 0x0601 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.

Dans Windows 8 et Windows Server 2012, cette fonction est prise en charge par les technologies suivantes.

Technologie Prise en charge
Protocole Server Message Block (SMB) 3.0 Oui
Basculement transparent SMB 3.0 (TFO) Oui
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) Oui
Système de fichiers du volume partagé de cluster (CsvFS) Oui
Système de fichiers résilient (ReFS) Oui

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)