Метод ISyncMgrSyncCallback::ReportEvent (syncmgr.h)
Предоставляет событие для добавления в папку "Результаты синхронизации" для синхронизируемого элемента.
Синтаксис
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
);
Параметры
[in] pszItemID
Тип: LPCWSTR
Указатель на буфер, содержащий уникальный идентификатор синхронизируемого в данный момент элемента. Эта строка имеет максимальную длину MAX_SYNCMGR_ID включая завершающий символ NULL .
[in] nLevel
Тип: SYNCMGR_EVENT_LEVEL
Значение из перечисления SYNCMGR_EVENT_LEVEL , объявляющее тип задействованного события.
[in] nFlags
Тип: SYNCMGR_EVENT_FLAGS
Не используется.
[in] pszName
Тип: LPCWSTR
Указатель на буфер, содержащий имя события.
[in] pszDescription
Тип: LPCWSTR
Указатель на буфер, содержащий описание события.
[in] pszLinkText
Тип: LPCWSTR
Указатель на буфер, содержащий текст, используемый в гиперссылке на элемент. Этот параметр может иметь значение NULL.
[in] pszLinkReference
Тип: LPCWSTR
Указатель на буфер, содержащий URL-адрес элемента. Этот параметр может иметь значение NULL.
[in] pszContext
Тип: LPCWSTR
Данные обработчика, связанные с событием.
[out] pguidEventID
Тип: GUID*
При возврате этим методом содержит указатель на уникальный идентификатор события.
Возвращаемое значение
Тип: HRESULT
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Чтобы обработчик предоставил пользователю дополнительные сведения о результатах синхронизации, можно расширить страницу свойств для отдельных результатов синхронизации, сообщаемых обработчиком.
Этот метод заменяет LogError.
Событие хранится только в памяти, поэтому все события очищаются при выходе пользователя из системы или завершении работы. Это одна из причин для реализации пользовательского ISyncMgrEventStore, который может предоставлять свои события из любого места, включая файл, по сети или в реестре. Однако в папке результатов синхронизации отображаются события, предоставляемые как внутренним хранилищем событий, так и пользовательскими хранилищами событий, предоставляемыми обработчиками синхронизации.
Примеры
В следующем примере показано использование ISyncMgrSyncCallback::ReportProgress методом 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);
...
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | syncmgr.h |