IProviderConverter 接口
通过派生类实现时,表示一个可将 ISyncProvider 对象转换为 IKnowledgeSyncProvider 对象的对象。
interface IProviderConverter : IUnknown
成员
IProviderConverter 方法 | 说明 |
---|---|
使用要转换的 ISyncProvider 对象初始化 IProviderConverter 对象。 |
备注
IProviderConverter 通常由其转换的自定义提供程序的开发人员实现。
必须使用 IProviderConverterRegistration::RegisterProviderConverter 向 Sync Framework 注册 IProviderConverter 的实现。此注册需要转换器可转换为 IKnowledgeSyncProvider 的接口的 IID,以及 Sync Framework 可用于创建转换器对象(通过使用 CoCreateInstance)的 CLSID。
使用 ISyncSession 对象管理同步时,Sync Framework 要求由 IKnowledgeSyncProvider 表示每个提供程序。若要获取每个提供程序的 IKnowledgeSyncProvider 接口,Sync Framework 将在处理 IApplicationSyncServices::CreateSyncSession 期间执行以下步骤:
Sync Framework 通过将 IID_IKnowledgeSyncProvider 传递给 ISyncProvider 对象的 QueryInterface 方法,直接查询表示提供程序的 ISyncProvider 接口。
如果 QueryInterface 返回了 E_NOINTERFACE,则 Sync Framework 将检查注册的 IProviderConverter 实现并确定哪些实现可以将 ISyncProvider 对象转换为 IKnowledgeSyncProvider 对象。
如果注册了可转换提供程序的 IProviderConverter,则 Sync Framework 将从 IProviderConverter 对象获取 IKnowledgeSyncProvider 接口。Sync Framework 通过首先使用 IProviderConverter::Initialize 将 ISyncProvider 对象传递给该转换器,然后将 IID_IKnowledgeSyncProvider 传递给 IProviderConverter 的 QueryInterface 方法,来实现此操作。
要求
**头文件:**Synchronization.h