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


ISyncDataConverter::ConvertDataRetrieverToProviderFormat

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

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

Параметры

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

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

  • S_OK.

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

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

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

Замечания

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

См. также

Справочник

Интерфейс ISyncDataConverter

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

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