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 |