ISyncMgrHandlerInfo::IsActive 方法 (syncmgr.h)
获取一个值,该值指示处理程序是否可以同步。
语法
HRESULT IsActive();
返回值
类型: HRESULT
如果处理程序处于活动状态,则返回S_OK;否则,S_FALSE。
如果处理程序希望同步中心保持当前状态,它可以返回E_NOTIMPL。 如果返回任何其他值,则同步中心会将处理程序的状态设置为最后一个已知值。 如果处理程序在该情况下的最后一个已知值处于非活动状态,则同步中心将禁用 安装 任务。 如果处理程序的最后一个已知值处于活动状态,则不会禁用 Delete 任务。
如果在 从 GetCapabilities 返回的掩码中设置了SYNCMGR_HCM_QUERY_BEFORE_ACTIVATE或SYNCMGR_HCM_QUERY_BEFORE_DEACTIVE标志,则处理程序必须管理自己的激活状态,因此必须返回S_OK或S_FALSE。 任何其他返回值都将被视为错误。
注解
如果处理程序未处于活动状态,则它将显示在“同步安装程序”文件夹中。 无法同步该文件夹中的处理程序。 若要将处理程序移动到“同步中心”文件夹,用户需在处理程序的快捷菜单上或命令模块中选择 “安装” 任务。
如果处理程序处于活动状态,它将显示在“main同步中心”文件夹中。 活动的处理程序可由用户或通过 ISyncMgrControl 接口进行同步。 若要将处理程序移动到“同步安装程序”文件夹,用户需在处理程序的快捷菜单或命令模块上选择 “删除” 任务。
每当调用 UpdateHandler 方法时,同步中心将调用此方法。
示例
以下示例演示此方法的实现,该方法调用私有类函数来检索活动状态。
STDMETHODIMP CMyDeviceHandler::IsActive()
{
// Return a previously-calculated value.
return (_fIsActive ? S_OK : S_FALSE);
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | syncmgr.h |