ISyncSession::Start
동기화 세션을 시작합니다.
HRESULT Start(
CONFLICT_RESOLUTION_POLICY resolutionPolicy,
SYNC_SESSION_STATISTICS * pSyncSessionStatistics);
매개 변수
- resolutionPolicy
[in] 동기화 세션에 사용할 충돌 해결 정책입니다.
- pSyncSessionStatistics
[in, out, unique] 동기화 세션에 대한 통계를 반환합니다.
반환 값
S_OK
E_OUTOFMEMORY
E_INVALIDARG
Start가 두 번 이상 호출되면 SYNC_E_INVALID_OPERATION입니다.
SYNC_E_INTERNAL_ERROR
변경 내용 적용자 오류 코드입니다.
공급자 고유의 오류 코드입니다.
예제
HRESULT Synchronize(ISyncProvider* pProvSrc, ISyncProvider* pProvDest)
{
HRESULT hr = E_UNEXPECTED;
IApplicationSyncServices* pSvc = NULL;
hr = CoCreateInstance(CLSID_SyncServices, NULL, CLSCTX_INPROC_SERVER,
IID_IApplicationSyncServices, (void**)&pSvc);
if (SUCCEEDED(hr))
{
ISyncSession* pSession = NULL;
hr = pSvc->CreateSyncSession(pProvDest, pProvSrc, &pSession);
if (SUCCEEDED(hr))
{
SYNC_SESSION_STATISTICS syncStats;
// Arbitrarily choose "destination wins" conflict resolution.
hr = pSession->Start(CRP_DESTINATION_PROVIDER_WINS, &syncStats);
if (SUCCEEDED(hr))
{
// Display the session statistics to the user.
CString strMsg;
strMsg.Format(L"%d changes succeeded.\n%d changes failed.", syncStats.dwChangesApplied,
syncStats.dwChangesFailed);
MessageBox(NULL, strMsg.GetString(), L"Synchronization Statistics", MB_ICONINFORMATION);
}
pSession->Release();
}
pSvc->Release();
}
return hr;
}
참고 항목
참조
ISyncSession 인터페이스
CONFLICT_RESOLUTION_POLICY 열거형
SYNC_SESSION_STATISTICS 구조