ISyncMgrHandler::Activate 方法 (syncmgr.h)
请求激活或停用处理程序。 可以同步活动处理程序;非活动处理程序不能。
语法
HRESULT Activate(
[in] BOOL fActivate
);
参数
[in] fActivate
类型: BOOL
若要激活,则为 TRUE;如果为 FALSE,则停用。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
活动处理程序显示在同步中心文件夹中,可以同步。 非活动处理程序显示在“同步安装程序”文件夹中,必须激活 (将其移动到同步中心文件夹) ,然后才能进行同步。
激活状态不应与已启用状态混淆。 可以禁用活动处理程序。 这意味着它仍显示在“同步中心”文件夹中,但无法同步。
同步中心在以下两个实例中调用此方法。
- 当用户选择“同步设置”文件夹中的处理程序并启动其 “安装” 任务时。 如果处理程序支持 SYNCMGR_OBJECTID_QueryBeforeActivate 对象,则仅当 UI 操作(由要求用户确认是否要激活处理程序的对话框组成)成功时,才会调用此方法。
- 当用户选择“同步中心”文件夹中的处理程序并启动其 “删除” 任务时,但前提是处理程序尚未设置 SYNCMGR_HPM_PREVENT_DEACTIVATE 标志。 如果处理程序支持 SYNCMGR_OBJECTID_QueryBeforeDeactivate 对象,则只有在 UI 操作成功时才会调用此方法。
可以通过调用 IsActive 找到单个处理程序的激活状态。
如果处理程序在激活时不需要执行任何操作,它可以返回S_OK或E_NOTIMPL,如以下示例所示。
示例
以下示例演示此方法的简单实现。
STDMETHODIMP CMyDeviceHandler::Activate(__in BOOL fActivate)
{
return E_NOTIMPL;
}
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | syncmgr.h |