IProviderConverter 介面
由衍生類別實作時,表示可以將 ISyncProvider 物件轉換為 IKnowledgeSyncProvider 物件的物件。
interface IProviderConverter : IUnknown
成員
IProviderConverter 方法 | 描述 |
---|---|
使用要轉換的 ISyncProvider 物件初始化 IProviderConverter 物件。 |
備註
IProviderConverter 通常會由所轉換之自訂提供者的開發人員實作。
IProviderConverter 的實作必須使用 IProviderConverterRegistration::RegisterProviderConverter 向 Sync Framework 註冊。此註冊需要使用轉換子可以轉換為 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