Notificar el progreso de la sincronización de archivos

Una aplicación puede realizar el seguimiento del progreso de sincronización registrándose con el fin de recibir las notificaciones que se producen durante la misma.

Código administrado: registre los controladores para recibir los eventos del objeto FileSyncProvider, como CopyingFile, que se produce periódicamente para mostrar el progreso mientras se copia un archivo; o AppliedChange, que se produce cuando se ha aplicado un cambio en el archivo.

Código no administrado: pase un objeto IFileSyncProviderCallback al método IFileSyncProvider::Initialize. Los métodos IFileSyncProviderCallback se llaman cuando se generan eventos, como IFileSyncProviderCallback::OnFileCopyProgress, que se produce periódicamente para mostrar el progreso mientras un archivo se está copiando; o IFileSyncProviderCallback::OnChangeApplied, que ocurre cuando se ha aplicado un cambio en el archivo.

Modo de vista previa

La aplicación puede poner el proveedor en el modo de vista previa estableciendo el valor de la propiedad PreviewMode en true (en el código administrado) o pasando TRUE al método IFileSyncProvider::SetPreviewMode (en el código no administrado) antes de iniciar la sincronización. Mientras se encuentra en el modo de vista previa, el proveedor detecta los cambios y genera los eventos de la misma manera que durante una sesión de sincronización típica. Sin embargo, el proveedor no aplica realmente ningún cambio a la réplica de destino y no envía el evento AppliedChange (en el código administrado) sino el evento IFileSyncProviderCallback::OnChangeApplied (en el código no administrado).

Mostrar el progreso incremental

Para mostrar el progreso incremental durante una sesión de sincronización, utilice los procedimientos siguientes.

Código administrado

  1. Realice el registro para controlar el evento ApplyingChange.

  2. Habilite el modo de vista previa en el proveedor estableciendo el valor de la propiedad PreviewMode en true.

  3. Ejecute la sincronización y cuente el número total de veces que se genera ApplyingChange.

  4. Realice el registro para controlar el evento AppliedChange.

  5. Deshabilite el modo de vista previa en el proveedor estableciendo el valor de la propiedad PreviewMode en false.

  6. Ejecute la sincronización. Cuando se genera AppliedChange, el progreso de la sincronización se puede incrementar hasta el número total de cambios que se calcularon cuando la sincronización se ejecutó en el modo de vista previa.

Código no administrado

  1. Realice el registro para recibir la devolución de llamada IFileSyncProviderCallback::OnApplyingChange.

  2. Habilite el modo de vista previa en el proveedor pasando TRUE al método IFileSyncProvider::SetPreviewMode.

  3. Ejecute la sincronización y cuente el número total de veces que se llama a OnApplyingChange.

  4. Realice el registro para recibir la devolución de llamada IFileSyncProviderCallback::OnChangeApplied.

  5. Deshabilite el modo de vista previa en el proveedor pasando FALSE al método IFileSyncProvider::SetPreviewMode.

  6. Ejecute la sincronización. Cuando se llama a OnChangeApplied, el progreso de la sincronización se puede incrementar hasta el número total de cambios que se calcularon cuando la sincronización se ejecutó en el modo de vista previa.

Vea también

Referencia

Interfaz IFileSyncProviderCallback

Conceptos

Sincronizar archivos