Partager via


ISyncSessionState::OnProgress

Signale la progression de la synchronisation à l'application.

Syntaxe

HRESULT OnProgress(
  SYNC_PROVIDER_ROLE provider,
  SYNC_PROGRESS_STAGE syncStage,
  DWORD dwCompletedWork,
  DWORD dwTotalWork);

Paramètres

  • provider
    [in] Rôle du fournisseur qui envoie cet événement.

  • syncStage
    [in] Étape actuelle de la session de synchronisation.

  • dwCompletedWork
    [in] Quantité de travail actuellement effectué dans la session. Cette valeur est interprétée comme étant une partie de la propriété dwTotalWork.

  • dwTotalWork
    [in] Travail total pour la session.

Valeur de retour

  • S_OK

  • E_INVALIDARG lorsque provider ou syncStage n'est pas une valeur valide.

Notes

La méthode peut être utilisée pour signaler une progression personnalisée à l'application. Quand un fournisseur appelle cette méthode, l'événement ISyncCallback::OnProgress est déclenché.

Lorsque SPS_CHANGE_APPLICATION est spécifié pour syncStage, Sync Framework cumule le travail total achevé spécifié par dwCompletedWork chaque fois que ISyncSessionState::OnProgress est appelé. Sync Framework interprète également dwTotalWork comme travail restant pour la session et calcule le travail total pour la session en ajoutant dwTotalWork à la valeur cumulée pour le travail achevé. Sync Framework passe ensuite ces valeurs calculées à ISyncCallback::OnProgress. Lorsque syncStage correspond à une autre valeur valide, dwCompletedWork et dwTotalWork sont passés directement à ISyncCallback::OnProgress.

Quand le fournisseur de source spécifie les estimations de travail, des résultats inattendus peuvent se produire si un fournisseur appelle ISyncSessionState::OnProgress et spécifie SPS_CHANGE_APPLICATION pour syncStage. La raison en est que Sync Framework totalise la valeur du travail réalisé chaque fois qu'une notification de progression est envoyée durant l'application de la modification. Si un fournisseur envoie sa propre notification de progression et spécifie SPS_CHANGE_APPLICATION pour syncStage, Sync Framework ajoute les valeurs de travail estimées qui sont spécifiées par le fournisseur au travail total réalisé pour la session. Le même travail peut alors être compté deux fois : une fois lorsqu'il est signalé par Sync Framework et l'autre fois lorsqu'il est signalé par le fournisseur.

Voir aussi

Autres ressources

Interface ISyncSessionState

Indication de la progression de la synchronisation