Partager via


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

Fournit un événement à ajouter au dossier Résultats de synchronisation pour un élément en cours de synchronisation.

Syntaxe

HRESULT ReportEvent(
  [in]  LPCWSTR             pszItemID,
  [in]  SYNCMGR_EVENT_LEVEL nLevel,
  [in]  SYNCMGR_EVENT_FLAGS nFlags,
  [in]  LPCWSTR             pszName,
  [in]  LPCWSTR             pszDescription,
  [in]  LPCWSTR             pszLinkText,
  [in]  LPCWSTR             pszLinkReference,
  [in]  LPCWSTR             pszContext,
  [out] GUID                *pguidEventID
);

Paramètres

[in] pszItemID

Type : LPCWSTR

Pointeur vers une mémoire tampon qui contient l’ID unique de l’élément en cours de synchronisation. Cette chaîne est de longueur maximale MAX_SYNCMGR_ID y compris le caractère null de fin.

[in] nLevel

Type : SYNCMGR_EVENT_LEVEL

Valeur de l’énumération SYNCMGR_EVENT_LEVEL déclarant le type d’événement impliqué.

[in] nFlags

Type : SYNCMGR_EVENT_FLAGS

Non utilisé.

[in] pszName

Type : LPCWSTR

Pointeur vers une mémoire tampon qui contient le nom de l’événement.

[in] pszDescription

Type : LPCWSTR

Pointeur vers une mémoire tampon qui contient une description de l’événement.

[in] pszLinkText

Type : LPCWSTR

Pointeur vers une mémoire tampon qui contient le texte à utiliser dans un lien hypertexte vers l’élément. Ce paramètre peut avoir la valeur NULL

[in] pszLinkReference

Type : LPCWSTR

Pointeur vers une mémoire tampon qui contient l’URL de l’élément. Ce paramètre peut avoir la valeur NULL

[in] pszContext

Type : LPCWSTR

Données spécifiques au gestionnaire à associer à l’événement.

[out] pguidEventID

Type : GUID*

Lorsque cette méthode retourne, contient un pointeur vers un ID unique pour l’événement.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Pour que le gestionnaire fournisse plus d’informations à l’utilisateur sur le résultat de synchronisation, la feuille de propriétés des résultats de synchronisation individuels signalés par le gestionnaire peut être étendue.

Cette méthode remplace LogError.

L’événement étant stocké uniquement en mémoire, tous les événements sont effacés lorsque l’utilisateur se déconnecte ou s’arrête. C’est l’une des raisons d’implémenter un ISyncMgrEventStore personnalisé, qui peut fournir ses événements n’importe où, y compris un fichier, via le réseau ou le registre. Toutefois, le dossier des résultats de la synchronisation affiche les événements fournis à la fois par le magasin d’événements interne et par les magasins d’événements personnalisés fournis par les gestionnaires de synchronisation.

Exemples

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

STDMETHODIMP CMyDeviceHandler::Synchronize(...)
{
    ...
    // Get the event receiver interface.
    ISyncMgrEventReceiver *pEventReceiver = NULL;
    hr = pCallback->QueryInterface(IID_ISyncMgrEventReceiver,
                                   (void **) &pEventReceiver);

    ...

    // Start synchronizing the sync item.

    ...

    // Generate a GUID for this item.
    // Construct a string to display in the Sync Results folder.
    // Store the information about this event so we can display more details.
    // Report the event to Sync Center.
    hr = pEventReceiver->ReportEvent(pszItemID,
                                     SYNCMGR_EL_INFORMATION,
                                     SYNCMGR_EF_NONE,
                                     pszEventName,
                                     pszEventDescription,
                                     NULL,
                                     NULL,
                                     NULL,
                                     &guidEventID);
    ...
}

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