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