Compartir a través de


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