IProviderConverter 接口

通过派生类实现时,表示一个可将 ISyncProvider 对象转换为 IKnowledgeSyncProvider 对象的对象。

interface IProviderConverter : IUnknown

成员

IProviderConverter 方法 说明

IProviderConverter::Initialize

使用要转换的 ISyncProvider 对象初始化 IProviderConverter 对象。

备注

IProviderConverter 通常由其转换的自定义提供程序的开发人员实现。

必须使用 IProviderConverterRegistration::RegisterProviderConverter 向 Sync Framework 注册 IProviderConverter 的实现。此注册需要转换器可转换为 IKnowledgeSyncProvider 的接口的 IID,以及 Sync Framework 可用于创建转换器对象(通过使用 CoCreateInstance)的 CLSID。

使用 ISyncSession 对象管理同步时,Sync Framework 要求由 IKnowledgeSyncProvider 表示每个提供程序。若要获取每个提供程序的 IKnowledgeSyncProvider 接口,Sync Framework 将在处理 IApplicationSyncServices::CreateSyncSession 期间执行以下步骤:

  1. Sync Framework 通过将 IID_IKnowledgeSyncProvider 传递给 ISyncProvider 对象的 QueryInterface 方法,直接查询表示提供程序的 ISyncProvider 接口。

  2. 如果 QueryInterface 返回了 E_NOINTERFACE,则 Sync Framework 将检查注册的 IProviderConverter 实现并确定哪些实现可以将 ISyncProvider 对象转换为 IKnowledgeSyncProvider 对象。

  3. 如果注册了可转换提供程序的 IProviderConverter,则 Sync Framework 将从 IProviderConverter 对象获取 IKnowledgeSyncProvider 接口。Sync Framework 通过首先使用 IProviderConverter::InitializeISyncProvider 对象传递给该转换器,然后将 IID_IKnowledgeSyncProvider 传递给 IProviderConverterQueryInterface 方法,来实现此操作。

要求

**头文件:**Synchronization.h

请参阅

概念

Sync Framework 核心组件