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 枚举应序列化的所有变更。