Partager via


Indication de la progression de la synchronisation de fichiers

Une application peut effectuer le suivi de la progression de la synchronisation en s'inscrivant pour recevoir des notifications qui se produisent pendant la synchronisation.

Code managé Inscrit des gestionnaires pour recevoir des événements de l'objet FileSyncProvider, par exemple CopyingFile qui se produit périodiquement pour afficher la progression pendant qu'un fichier est copié, ou AppliedChange qui se produit lorsqu'une modification de fichier a été appliquée.

Code non managé Passez un objet IFileSyncProviderCallback à la méthode IFileSyncProvider::Initialize. Les méthodes IFileSyncProviderCallback sont appelées lorsque des événements sont déclenchés, par exemple IFileSyncProviderCallback::OnFileCopyProgress qui se produit périodiquement pour afficher la progression pendant qu'un fichier est copié, ou IFileSyncProviderCallback::OnChangeApplied qui se produit lorsqu'une modification de fichier a été appliquée.

Mode Aperçu

L'application peut placer le fournisseur en mode Aperçu en affectant à la propriété PreviewMode la valeur true (pour le code managé) ou en passant TRUE à la méthode IFileSyncProvider::SetPreviewMode (pour le code non managé) avant de démarrer la synchronisation. En mode Aperçu, le fournisseur détecte les modifications et déclenche des événements de la même façon que pendant une session de synchronisation classique. Toutefois, le fournisseur n'applique pas réellement de modifications au réplica de destination et n'envoie pas l'événement AppliedChange (pour le code managé) ou l'événement IFileSyncProviderCallback::OnChangeApplied (pour le code non managé).

Affichage de la progression incrémentielle

Pour afficher la progression incrémentielle pendant une session de synchronisation, utilisez les procédures suivantes.

Code managé

  1. Inscrivez-vous pour gérer l'événement ApplyingChange.

  2. Activez le mode Aperçu dans le fournisseur en affectant à la propriété PreviewMode la valeur true.

  3. Exécutez la synchronisation et comptez le nombre total de fois où ApplyingChange est déclenché.

  4. Inscrivez-vous pour gérer l'événement AppliedChange.

  5. Désactivez le mode Aperçu dans le fournisseur en affectant à la propriété PreviewMode la valeur false.

  6. Exécutez la synchronisation. Lorsque AppliedChange est déclenché, la progression de la synchronisation peut être incrémentée vers le nombre total de modifications calculées lorsque la synchronisation a été exécutée en mode Aperçu.

Code non managé

  1. Inscrivez-vous pour recevoir le rappel IFileSyncProviderCallback::OnApplyingChange.

  2. Activez le mode Aperçu dans le fournisseur en passant TRUE à la méthode IFileSyncProvider::SetPreviewMode.

  3. Exécutez la synchronisation et comptez le nombre total de fois où OnApplyingChange est appelé.

  4. Inscrivez-vous pour recevoir le rappel IFileSyncProviderCallback::OnChangeApplied.

  5. Désactivez le mode Aperçu dans le fournisseur en passant FALSE à la méthode IFileSyncProvider::SetPreviewMode.

  6. Exécutez la synchronisation. Lorsque OnChangeApplied est appelé, la progression de la synchronisation peut être incrémentée vers le nombre total de modifications calculées lorsque la synchronisation a été exécutée en mode Aperçu.

Voir aussi

Autres ressources

Synchronisation des fichiers

Interface IFileSyncProviderCallback