ISyncMgrSyncCallback::CanContinue 方法 (syncmgr.h)

确定是否已取消同步。

语法

HRESULT CanContinue(
  [in] LPCWSTR pszItemID
);

参数

[in] pszItemID

类型: LPCWSTR

指向包含项 ID 的缓冲区的指针。

返回值

类型: HRESULT

返回值 含义
S_OK 尚未请求取消。 同步可以继续。
S_FALSE 已请求取消。 处理程序应调用 ISyncMgrSyncCallback::ReportProgress,并在 nStatus 参数中指定SYNCMGR_PS_CANCELED。
E_INVALIDARG pszItemID 指向的值对同步中心未知,或者不是此处理程序管理的项。
 

如果 pszItemIDNULL 或空字符串,则返回值取决于是否已为整个处理程序请求取消。

注解

用户可以通过单击上下文菜单或命令模块上的 “停止 ”或“ 全部停止 ”任务来取消同步。 当应用程序调用 ISyncMgrControl 接口的停止方法之一时,也可以取消它。

通过将此功能作为单独的方法实现,处理程序可以在不报告进度的情况下检查取消。

示例

以下示例演示了通过 Synchronize 方法使用 ISyncMgrSyncCallback::CanContinue

HRESULT CMyDeviceHandler::Synchronize(...)
{
    ...

    // Start synchronizing the sync items.

    ...

    // If a cancellation has been requested, stop the sync and exit.
    if (pCallback->CanContinue(pszItemID) == S_FALSE)
    {
        // End the sync operation and exit the function.
        hr = pCallback->ReportProgress(pszItemID,
                                       pszCancelMessage,
                                       SYNCMGR_PS_CANCELED,
                                       uCurrentStep,
                                       uMaxStep,
                                       NULL);
    }
    ...
}

要求

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