Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

IProviderConverter Interface

Sync Framework 2.0

When implemented by a derived class, represents an object that can convert an ISyncProvider object to an IKnowledgeSyncProvider object.


interface IProviderConverter : IUnknown

IProviderConverter method Description

IProviderConverter::Initialize

Initializes the IProviderConverter object with the ISyncProvider object to be converted.

IProviderConverter is typically implemented by the developer of the custom provider that it converts.

An implementation of IProviderConverter must be registered with Sync Framework by using IProviderConverterRegistration::RegisterProviderConverter. This registration requires the IID of the interface that the converter can convert to IKnowledgeSyncProvider, and the CLSID that Sync Framework can use to create the converter object by using CoCreateInstance.

When an ISyncSession object is used to manage synchronization, Sync Framework requires that each provider be represented by IKnowledgeSyncProvider. To obtain an IKnowledgeSyncProvider interface for each provider, Sync Framework takes the following steps during processing of IApplicationSyncServices::CreateSyncSession:

  1. Sync Framework directly queries the ISyncProvider interface that represents the provider by passing IID_IKnowledgeSyncProvider to the QueryInterface method of the ISyncProvider object.

  2. If QueryInterface returns E_NOINTERFACE, Sync Framework examines the registered IProviderConverter implementations and determines which of them can convert the ISyncProvider object to an IKnowledgeSyncProvider object.

  3. If an IProviderConverter is registered that can convert the provider, Sync Framework obtains the IKnowledgeSyncProvider interface from the IProviderConverter object. Sync Framework does this by first passing the ISyncProvider object to the converter by using IProviderConverter::Initialize, and then by passing IID_IKnowledgeSyncProvider to the QueryInterface method of the IProviderConverter.

Header: Synchronization.h

Show:
© 2015 Microsoft