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

另请参阅

激活

ISyncMgrHandlerInfo