Método ISyncMgrSyncCallback::ReportEvent (syncmgr.h)
Proporciona un evento para agregar a la carpeta Resultados de sincronización de un elemento que se está sincronizando.
Sintaxis
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
);
Parámetros
[in] pszItemID
Tipo: LPCWSTR
Puntero a un búfer que contiene el identificador único del elemento que se está sincronizando actualmente. Esta cadena tiene una longitud máxima MAX_SYNCMGR_ID incluido el carácter nulo de terminación.
[in] nLevel
Tipo: SYNCMGR_EVENT_LEVEL
Valor de la enumeración SYNCMGR_EVENT_LEVEL declarando el tipo de evento implicado.
[in] nFlags
Tipo: SYNCMGR_EVENT_FLAGS
No se usa.
[in] pszName
Tipo: LPCWSTR
Puntero a un búfer que contiene el nombre del evento.
[in] pszDescription
Tipo: LPCWSTR
Puntero a un búfer que contiene una descripción del evento.
[in] pszLinkText
Tipo: LPCWSTR
Puntero a un búfer que contiene el texto que se va a usar en un hipervínculo al elemento. Este parámetro puede ser NULL.
[in] pszLinkReference
Tipo: LPCWSTR
Puntero a un búfer que contiene la dirección URL del elemento. Este parámetro puede ser NULL.
[in] pszContext
Tipo: LPCWSTR
Datos específicos del controlador que se van a asociar al evento.
[out] pguidEventID
Tipo: GUID*
Cuando este método vuelve, contiene un puntero a un identificador único para el evento.
Valor devuelto
Tipo: HRESULT
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Para que el controlador proporcione más detalles al usuario sobre el resultado de sincronización, se puede ampliar la hoja de propiedades para los resultados de sincronización individuales notificados por el controlador.
Este método reemplaza a LogError.
El evento solo se almacena en memoria, por lo que todos los eventos se borran cuando el usuario cierra sesión o se apaga. Este es un motivo para implementar un ISyncMgrEventStore personalizado, que puede proporcionar sus eventos desde cualquier lugar, incluido un archivo, a través de la red o el registro. Sin embargo, la carpeta de resultados de sincronización muestra los eventos proporcionados tanto por el almacén de eventos internos como por los almacenes de eventos personalizados proporcionados por los controladores de sincronización.
Ejemplos
En el ejemplo siguiente se muestra el uso de ISyncMgrSyncCallback::ReportProgress por el método 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);
...
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | syncmgr.h |