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 列舉值。
[in] nFlags
未使用。
[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 的其中一個原因,可從任何地方提供其事件,包括檔案、透過網路或登錄。 不過,同步處理結果資料夾會顯示內部事件存放區和同步處理程式所提供的自定義事件存放區所提供的事件。
範例
下列範例顯示 Synchronize 方法的 ISyncMgrSyncCallback::ReportProgress 用法。
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 |
標頭 | syncmgr.h |