Share via


Metodo ISyncMgrSyncCallback::ReportEvent (syncmgr.h)

Fornisce un evento da aggiungere alla cartella Sync Results per un elemento sincronizzato.

Sintassi

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
);

Parametri

[in] pszItemID

Tipo: LPCWSTR

Puntatore a un buffer contenente l'ID univoco dell'elemento attualmente sincronizzato. Questa stringa è di lunghezza massima MAX_SYNCMGR_ID incluso il carattere null terminante.

[in] nLevel

Tipo: SYNCMGR_EVENT_LEVEL

Valore dell'enumerazione SYNCMGR_EVENT_LEVEL che dichiara il tipo di evento coinvolto.

[in] nFlags

Tipo: SYNCMGR_EVENT_FLAGS

Non usato.

[in] pszName

Tipo: LPCWSTR

Puntatore a un buffer contenente il nome dell'evento.

[in] pszDescription

Tipo: LPCWSTR

Puntatore a un buffer contenente una descrizione dell'evento.

[in] pszLinkText

Tipo: LPCWSTR

Puntatore a un buffer che contiene il testo da usare in un collegamento ipertestuale all'elemento. Questo parametro può essere NULL

[in] pszLinkReference

Tipo: LPCWSTR

Puntatore a un buffer contenente l'URL dell'elemento. Questo parametro può essere NULL

[in] pszContext

Tipo: LPCWSTR

Dati specifici del gestore da associare all'evento.

[out] pguidEventID

Tipo: GUID*

Quando questo metodo restituisce, contiene un puntatore a un ID univoco per l'evento.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Per consentire al gestore di fornire altri dettagli all'utente sul risultato della sincronizzazione, è possibile estendere il foglio delle proprietà per i singoli risultati di sincronizzazione segnalati dal gestore.

Questo metodo sostituisce LogError.

L'evento viene archiviato solo in memoria, quindi tutti gli eventi vengono cancellati quando l'utente si disconnette o arresta. Questo è un motivo per implementare un archivio ISyncMgrEvent personalizzato, che può fornire gli eventi da qualsiasi punto, incluso un file, sulla rete o nel Registro di sistema. La cartella dei risultati di sincronizzazione mostra tuttavia gli eventi forniti dall'archivio eventi interno e dagli archivi eventi personalizzati forniti dai gestori di sincronizzazione.

Esempio

Nell'esempio seguente viene illustrato l'utilizzo di ISyncMgrSyncCallback::ReportProgress dal metodo Sync .

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);
    ...
}

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione syncmgr.h