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, чтобы перечислить все изменения, которые должны быть сериализованы.