ISyncMgrControl::EnableHandler 方法 (syncmgr.h)

启用或禁用处理程序。

语法

HRESULT EnableHandler(
  [in] BOOL                  fEnable,
  [in] LPCWSTR               pszHandlerID,
  [in] HWND                  hwndOwner,
  [in] SYNCMGR_CONTROL_FLAGS nControlFlags
);

参数

[in] fEnable

类型: BOOL

如果为 TRUE ,则启用; 禁用,则为 FALSE。

[in] pszHandlerID

类型: LPCWSTR

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

[in] hwndOwner

类型:HWND

窗口的句柄,处理程序可以使用该句柄来显示任何必要的 UI。 此值可以为 NULL

[in] nControlFlags

类型: SYNCMGR_CONTROL_FLAGS

SYNCMGR_CONTROL_FLAGS枚举中的值,指定是应以同步还是异步方式启用或禁用处理程序。

返回值

类型: HRESULT

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

注解

活动处理程序显示在“同步中心”文件夹中;同步安装程序文件夹中会显示一个非活动处理程序。

如果指定的处理程序在 GetCapabilities 方法返回的掩码中返回SYNCMGR_HCM_QUERY_BEFORE_ENABLESYNCMGR_HCM_QUERY_BEFORE_DISABLE,则会向用户显示一个在启用或禁用处理程序之前请求的确认对话框。 如果未请求查询 UI,或者用户确认操作后,将调用处理程序的 Enable 方法。

如果在 nControlFlags 参数中设置了SYNCMGR_CF_WAIT,则在同步中心处理此通知之前 ,EnableHandler 不会返回。

示例

以下示例演示处理程序过程使用 ISyncMgrControl::EnableHandler

void MiscProc(...)
{
    ...

    // 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 to enable our handler.
        hr = pControl->EnableHandler(TRUE, 
                                     s_szMySyncHandlerID, 
                                     hwnd,
                                     SYNCMGR_CF_NOWAIT);
        pControl->Release();
    }

    ...

}

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 syncmgr.h