ISyncMgrControl::UpdateEvents 方法 (syncmgr.h)

通知同步中心已为特定处理程序或项添加了事件。

语法

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

参数

[in] pszHandlerID

类型: LPCWSTR

指向缓冲区的指针,该缓冲区包含管理项的处理程序的唯一 ID。 此字符串的最大长度MAX_SYNCMGR_ID包括终止 null 字符。

[in] pszItemID

类型: LPCWSTR

指向包含项的唯一 ID 的缓冲区的指针。 此字符串的最大长度MAX_SYNCMGR_ID包括终止 null 字符。 如果事件发生在处理程序上而不是特定项上,则此参数可以为 NULL

[in] nControlFlags

类型: SYNCMGR_CONTROL_FLAGS

SYNCMGR_CONTROL_FLAGS 枚举中的值,该值指定应以同步还是异步方式执行更新。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

如果在 nControlFlags 参数中设置了SYNCMGR_CF_WAIT,则在 Sync Center 加载指定处理程序、检索处理程序的事件存储以及从该存储区重新加载所有事件之前, 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