ISyncMgrControl::UpdateEvents 方法 (syncmgr.h)

通知同步中心已針對特定處理常式或專案新增事件。

語法

HRESULT UpdateEvents(
  [in] LPCWSTR               pszHandlerID,
  [in] LPCWSTR               pszItemID,
  [in] SYNCMGR_CONTROL_FLAGS nControlFlags
);

參數

[in] pszHandlerID

類型: LPCWSTR

緩衝區的指標,其中包含管理專案之處理常式的唯一識別碼。 此字串的長度上限MAX_SYNCMGR_ID包括終止 的 Null 字元。

[in] pszItemID

類型: LPCWSTR

緩衝區的指標,其中包含專案的唯一識別碼。 此字串的長度上限MAX_SYNCMGR_ID包括終止 的 Null 字元。 如果在處理常式上發生事件,而不是在特定專案上發生,這個參數可以是 Null

[in] nControlFlags

類型: SYNCMGR_CONTROL_FLAGS

來自 SYNCMGR_CONTROL_FLAGS 列舉的值,指定更新應以同步或非同步方式執行。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

如果在 nControlFlags 參數中設定SYNCMGR_CF_WAIT, 則 UpdateEvents 不會傳回,直到同步中心載入指定的處理常式、擷取處理常式的事件存放區,以及從該存放區重載所有事件為止。 如果處理常式是由處理常式集合提供,處理常式集合也會載入以重載處理常式。

範例

下列範例顯示處理常式程式的 ISyncMgrControl::UpdateEvents 用法。

void CMyDeviceHandler::Synchronize(...)
{
    ...
    // Add events to the event store.

    // Get the Sync Center control object.
    ISyncMgrControl *pControl = NULL;
    
    hr = CoCreateInstance(CLSID_SyncMgrControl, 
                          CLSCTX_SERVER, 
                          IID_PPV_ARGS(&pControl));
    if (SUCCEEDED(hr))
    {
        // Tell Sync Center that we added events to our event store.
        // By passing NULL in pszItemID, we tell Sync Center that the event
        // occurred on the handler rather than a specific item.
        hr = pControl->UpdateEvents(s_szMyDeviceSyncHandlerID, 
                                    NULL,
                                    SYNCMGR_CF_NOWAIT);
        pControl->Release();
    }

    ...

}

規格需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 syncmgr.h