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

Fornece um evento a ser adicionado à pasta Resultados da Sincronização para um item que está sendo sincronizado.

Sintaxe

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

Um ponteiro para um buffer que contém a ID exclusiva do item que está sendo sincronizado no momento. Essa cadeia de caracteres tem comprimento máximo MAX_SYNCMGR_ID incluindo o caractere nulo de terminação.

[in] nLevel

Tipo: SYNCMGR_EVENT_LEVEL

Um valor da enumeração SYNCMGR_EVENT_LEVEL declarando o tipo de evento envolvido.

[in] nFlags

Tipo: SYNCMGR_EVENT_FLAGS

Não usado.

[in] pszName

Tipo: LPCWSTR

Um ponteiro para um buffer que contém o nome do evento.

[in] pszDescription

Tipo: LPCWSTR

Um ponteiro para um buffer que contém uma descrição do evento.

[in] pszLinkText

Tipo: LPCWSTR

Um ponteiro para um buffer que contém o texto a ser usado em um hiperlink para o item. Esse parâmetro pode ser NULL

[in] pszLinkReference

Tipo: LPCWSTR

Um ponteiro para um buffer que contém a URL do item. Esse parâmetro pode ser NULL

[in] pszContext

Tipo: LPCWSTR

Dados específicos do manipulador a serem associados ao evento.

[out] pguidEventID

Tipo: GUID*

Quando esse método retorna, contém um ponteiro para uma ID exclusiva para o evento.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Para que o manipulador forneça mais detalhes ao usuário sobre o resultado da sincronização, a folha de propriedades para resultados de sincronização individuais relatados pelo manipulador pode ser estendida.

Esse método substitui LogError.

O evento é armazenado somente na memória, portanto, todos os eventos são limpos quando o usuário faz logoff ou desliga. Esse é um dos motivos para implementar um ISyncMgrEventStore personalizado, que pode fornecer seus eventos de qualquer lugar, incluindo um arquivo, pela rede ou pelo registro. No entanto, a pasta de resultados de sincronização mostra eventos fornecidos pelo repositório de eventos interno e por repositórios de eventos personalizados fornecidos por manipuladores de sincronização.

Exemplos

O exemplo a seguir mostra o uso de ISyncMgrSyncCallback::ReportProgress pelo 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 Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho syncmgr.h