Partager via


Méthode ISyncMgrSyncCallback ::CanContinue (syncmgr.h)

Détermine si la synchronisation a été annulée.

Syntaxe

HRESULT CanContinue(
  [in] LPCWSTR pszItemID
);

Paramètres

[in] pszItemID

Type : LPCWSTR

Pointeur vers une mémoire tampon contenant l’ID de l’élément.

Valeur retournée

Type : HRESULT

Valeur renvoyée Signification
S_OK Aucune annulation n’a été demandée. La synchronisation peut continuer.
S_FALSE Une annulation a été demandée. Le gestionnaire doit appeler ISyncMgrSyncCallback ::ReportProgress, en spécifiant SYNCMGR_PS_CANCELED dans le paramètre nStatus .
E_INVALIDARG La valeur pointée par pszItemID est inconnue du Centre de synchronisation ou n’est pas un élément géré par ce gestionnaire.
 

Si pszItemID a la valeur NULL ou une chaîne vide, la valeur de retour varie selon qu’une annulation a été demandée pour l’ensemble du gestionnaire.

Remarques

Une synchronisation peut être annulée par l’utilisateur en cliquant sur la tâche Arrêter ou Arrêter tout dans le menu contextuel ou le module de commande. Il peut également être annulé lorsqu’une application appelle l’une des méthodes d’arrêt de l’interface ISyncMgrControl .

En implémentant cette fonctionnalité en tant que méthode distincte, le gestionnaire peut case activée pour une annulation sans signaler la progression.

Exemples

L’exemple suivant montre l’utilisation de ISyncMgrSyncCallback ::CanContinue par la méthode Synchronize .

HRESULT CMyDeviceHandler::Synchronize(...)
{
    ...

    // Start synchronizing the sync items.

    ...

    // If a cancellation has been requested, stop the sync and exit.
    if (pCallback->CanContinue(pszItemID) == S_FALSE)
    {
        // End the sync operation and exit the function.
        hr = pCallback->ReportProgress(pszItemID,
                                       pszCancelMessage,
                                       SYNCMGR_PS_CANCELED,
                                       uCurrentStep,
                                       uMaxStep,
                                       NULL);
    }
    ...
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête syncmgr.h