Share via


Segnalazione dello stato di avanzamento della sincronizzazione di file

Un'applicazione può rilevare lo stato di avanzamento della sincronizzazione effettuando la registrazione per ricevere le notifiche generate durante la sincronizzazione.

Codice gestito Effettuare la registrazione dei gestori per la ricezione degli eventi dall'oggettoFileSyncProvider, ad esempio CopyingFile, che viene generato periodicamente per mostrare lo stato di avanzamento durante la copia di un file, o da AppliedChange, che viene generato in seguito all'applicazione di una modifica a un file.

Codice non gestito Passare un oggetto IFileSyncProviderCallback al metodo IFileSyncProvider::Initialize. I metodi IFileSyncProviderCallbackvengono chiamati quando vengono generati eventi, ad esempio IFileSyncProviderCallback::OnFileCopyProgress, che viene generato periodicamente per mostrare lo stato di avanzamento durante la copia di un file, o IFileSyncProviderCallback::OnChangeApplied, che viene generato in seguito all'applicazione di una modifica a un file.

Modalità anteprima

Nell'applicazione è possibile abilitare la modalità anteprima per il provider impostando il valore della proprietà PreviewMode su true (per il codice gestito) o passando TRUE al metodo IFileSyncProvider::SetPreviewMode (per il codice non gestito) prima dell'avvio della sincronizzazione. In modalità anteprima il provider rileva le modifiche e genera eventi come durante una normale sessione di sincronizzazione. Il provider, tuttavia, non applica alcuna modifica alla replica di destinazione e non invia l'evento AppliedChange (per il codice gestito) o IFileSyncProviderCallback::OnChangeApplied (per il codice non gestito).

Visualizzazione dello stato di avanzamento incrementale

Per visualizzare lo stato di avanzamento incrementale durante una sessione di sincronizzazione, utilizzare le procedure riportate di seguito.

Codice gestito

  1. Effettuare la registrazione per gestire l'evento ApplyingChange.

  2. Abilitare la modalità anteprima nel provider impostando il valore della proprietà PreviewMode su true.

  3. Eseguire la sincronizzazione e il conteggio del numero totale di volte in cui viene generato ApplyingChange.

  4. Effettuare la registrazione per gestire l'evento AppliedChange.

  5. Disabilitare la modalità anteprima nel provider impostando il valore della proprietà PreviewMode su false.

  6. Eseguire la sincronizzazione. Quando AppliedChange viene generato, lo stato di avanzamento della sincronizzazione può essere incrementato verso il numero totale di modifiche calcolate durante l'esecuzione della sincronizzazione in modalità anteprima.

Codice non gestito

  1. Effettuare la registrazione per ricevere il callback IFileSyncProviderCallback::OnApplyingChange.

  2. Abilitare la modalità anteprima nel provider passando TRUE al metodo IFileSyncProvider::SetPreviewMode.

  3. Eseguire la sincronizzazione e il conteggio del numero totale di volte in cui viene chiamato OnApplyingChange.

  4. Effettuare la registrazione per ricevere il callback IFileSyncProviderCallback::OnChangeApplied.

  5. Disabilitare la modalità anteprima nel provider passando FALSE al metodo IFileSyncProvider::SetPreviewMode.

  6. Eseguire la sincronizzazione. Quando viene chiamato OnChangeApplied, lo stato di avanzamento della sincronizzazione può essere incrementato verso il numero totale di modifiche calcolate durante l'esecuzione della sincronizzazione in modalità anteprima.

Vedere anche

Riferimento

Interfaccia IFileSyncProviderCallback

Altre risorse

Sync Services for File Systems