Поделиться через


ISyncDataConverter::ConvertDataRetrieverFromProviderFormat

Преобразует объект получения данных из формата связанного поставщика в требуемый формат. Этот метод требуется только в случае, когда один поставщик или оба поставщика в сеансе синхронизации получают данные через интерфейс, отличный от ISynchronousDataRetriever и IAsynchronousDataRetriever.

HRESULT ConvertDataRetrieverFromProviderFormat(
  IUnknown * pUnkDataRetrieverIn,
  IEnumSyncChanges * pEnumSyncChanges,
  IUnknown ** ppUnkDataOut);

Параметры

  • pUnkDataRetrieverIn
    [in] Объект получения данных для преобразования.
  • pEnumSyncChanges
    [in] Объект IEnumSyncChanges, представляющий набор изменений элементов.
  • ppUnkDataOut
    [out] Преобразованный объект получения данных.

Возвращаемое значение

  • S_OK.

  • E_NOTIMPL, если в объекте получения данных реализован один из встроенных интерфейсов и требуется только преобразование данных.

  • Определяемые разработчиком значения ошибок

Если возвращается ошибка, отличная от E_NOTIMPL, сеанс синхронизации завершается и возвращает этот код ошибки.

Замечания

Как правило, наиболее эффективный способ преобразования получателя данных состоит в создании учетной записи-посредника, реализующего необходимый интерфейс получателя данных и сохраняющего указатель на интерфейс получателя данных поставщика. Затем прокси-сервер может получать данные из интерфейса поставщика в виде изменений по мере обработки данных в сеансе синхронизации. В некоторых ситуациях, таких как сценарии удаленного применения изменений, необходимо вначале получить все изменения, преобразовать их в случае необходимости, а затем сериализовать получатель данных со всеми данными в нем. В этом случае следует использовать параметр pEnumSyncChanges, чтобы перечислить все изменения, которые должны быть сериализованы.

См. также

Справочник

Интерфейс ISyncDataConverter

Основные положения

Преобразование данных между поставщиками