다음을 통해 공유


ISyncMgrSyncCallback::CanContinue 메서드(syncmgr.h)

동기화가 취소되었는지 여부를 확인합니다.

구문

HRESULT CanContinue(
  [in] LPCWSTR pszItemID
);

매개 변수

[in] pszItemID

형식: LPCWSTR

항목의 ID를 포함하는 버퍼에 대한 포인터입니다.

반환 값

형식: HRESULT

반환 값 의미
S_OK 취소가 요청되지 않았습니다. 동기화를 계속할 수 있습니다.
S_FALSE 취소가 요청되었습니다. 처리기는 nStatus 매개 변수에 SYNCMGR_PS_CANCELED 지정하여 ISyncMgrSyncCallback::ReportProgress를 호출해야 합니다.
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