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 指向的值对同步中心未知,或者不是此处理程序管理的项。 |
如果 pszItemID 为 NULL 或空字符串,则返回值取决于是否已为整个处理程序请求取消。
注解
用户可以通过单击上下文菜单或命令模块上的 “停止 ”或“ 全部停止 ”任务来取消同步。 当应用程序调用 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 |