Méthode ISyncMgrSyncCallback ::ReportProgress (syncmgr.h)
Signale la progression de la synchronisation d’un élément de synchronisation unique au Centre de synchronisation.
Syntaxe
HRESULT ReportProgress(
[in] LPCWSTR pszItemID,
[in] LPCWSTR pszProgressText,
[in] SYNCMGR_PROGRESS_STATUS nStatus,
[in] ULONG uCurrentStep,
[in] ULONG uMaxStep,
[out] SYNCMGR_CANCEL_REQUEST *pnCancelRequest
);
Paramètres
[in] pszItemID
Type : LPCWSTR
Pointeur vers une mémoire tampon contenant l’ID unique de l’élément en cours de synchronisation. Cette chaîne a une longueur maximale MAX_SYNCMGR_ID y compris le caractère null de fin.
[in] pszProgressText
Type : LPCWSTR
Pointeur vers une mémoire tampon contenant une chaîne Unicode pour toute messagerie de progression personnalisée pour cet élément.
[in] nStatus
Type : SYNCMGR_PROGRESS_STATUS
Valeur de l’énumération SYNCMGR_PROGRESS_STATUS indiquant la progression actuelle status de la synchronisation.
[in] uCurrentStep
Type : ULONG
Étape actuelle de la synchronisation. Si l’indicateur SYNCMGR_PS_UPDATING_INDETERMINATE est défini dans nStatus, ce paramètre est ignoré.
[in] uMaxStep
Type : ULONG
Nombre total d’étapes nécessaires pour terminer la synchronisation de l’élément. Si l’indicateur SYNCMGR_PS_UPDATING_INDETERMINATE est défini dans nStatus, ce paramètre est ignoré.
[out] pnCancelRequest
Type : SYNCMGR_CANCEL_REQUEST*
Lorsque cette méthode retourne, pointe vers une valeur de l’énumération SYNCMGR_CANCEL_REQUEST spécifiant la nature d’une demande d’annulation, le cas échéant.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Si vous souhaitez signaler la progression sur le gestionnaire plutôt que sur des éléments de synchronisation individuels, appelez ISyncMgrSyncCallback ::SetHandlerProgressText.
Si la synchronisation a été annulée, le gestionnaire appelle ISyncMgrSyncCallback ::ReportProgress sur l’élément une dernière fois, en reconnaissant la demande d’annulation en spécifiant SYNCMGR_PS_CANCELED dans le paramètre nStatus . Cela met à jour l’interface utilisateur et permet également à l’utilisateur de redémarrer une synchronisation pour cet élément.
Une fois que cette méthode signale un status d’achèvement (SYNCMGR_PS_SUCCEEDED, SYNCMGR_PS_FAILED ou SYNCMGR_PS_CANCELED), le seul rapport status supplémentaire qui peut être effectué est SYNCMGR_PS_FAILED. Toute autre valeur fait que cette méthode retourne E_ACCESSDENIED et le Centre de synchronisation pour marquer l’élément comme ayant échoué.
Cette méthode remplace Progress.
La longueur maximale d’une chaîne de progression est MAX_SYNCMGR_PROGRESSTEXT. Cette constante est définie dans SyncMgr.h.
Exemples
L’exemple suivant montre l’utilisation de ISyncMgrSyncCallback ::ReportProgress par la méthode Synchronize .
STDMETHODIMP CMyDeviceHandler::Synchronize(...)
{
...
// Start synchronizing the sync item.
...
// Construct a string to display in the Sync Center folder.
// Report the progress to Sync Center.
SYNCMGR_CANCEL_REQUEST nCancelRequest;
hr = pCallback->ReportProgress(pszItemID,
pszProgressText,
SYNCMGR_PS_UPDATING,
uCurrentStep,
uMaxStep,
&nCancelRequest);
if (SUCCEEDED(hr))
{
if (nCancelRequest != SYNCMGR_CR_NONE)
{
// Synchronization was canceled.
hr = pCallback->ReportProgress(pszItemID,
pszProgressText,
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 |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour