다음을 통해 공유


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 구조