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에서 가리키는 값은 동기화 센터에 알 수 없거나 이 처리기에서 관리하는 항목이 아닙니다. |
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 |