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 |