Share via


ISyncMgrSyncCallback::CanContinue 方法 (syncmgr.h)

判斷同步處理是否已取消。

語法

HRESULT CanContinue(
  [in] LPCWSTR pszItemID
);

參數

[in] pszItemID

類型: LPCWSTR

緩衝區的指標,其中包含專案的標識碼。

傳回值

類型: 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