Поделиться через


Интерфейс IProviderConverter

При реализации в производном классе представляет объект, который может преобразовать объект ISyncProvider в объект IKnowledgeSyncProvider.

interface IProviderConverter : IUnknown

Элементы

Метод IProviderConverter Описание

IProviderConverter::Initialize

Инициализирует объект IProviderConverter объектом ISyncProvider, который необходимо преобразовать.

Замечания

IProviderConverter обычно реализуется разработчиком пользовательского поставщика, который он преобразует.

Реализация интерфейса IProviderConverter должна быть зарегистрирована с Sync Framework с помощью метода IProviderConverterRegistration::RegisterProviderConverter. Для этого требуется идентификатор интерфейса, который преобразователь может преобразовать в IKnowledgeSyncProvider, и идентификатор CLSID, который платформа Sync Framework может использовать для создания объекта преобразователя при помощи метода CoCreateInstance.

Если объект ISyncSession используется для управления синхронизацией, платформе Sync Framework необходимо, чтобы каждый поставщик был представлен IKnowledgeSyncProvider. Чтобы получить интерфейс IKnowledgeSyncProvider для каждого поставщика, платформа Sync Framework выполняет следующие шаги во время обработки IApplicationSyncServices::CreateSyncSession.

  1. Sync Framework отправляет прямой запрос интерфейсу ISyncProvider, который представляет поставщика путем передачи IID_IKnowledgeSyncProvider методу QueryInterface объекта ISyncProvider.

  2. Если метод QueryInterface возвращает E_NOINTERFACE, платформа Sync Framework просматривает зарегистрированные реализации IProviderConverter и определяет, какие из них могут преобразовать объект ISyncProvider в объект IKnowledgeSyncProvider.

  3. Если зарегистрирована реализация IProviderConverter, которая может преобразовать поставщик, платформа Sync Framework получает интерфейс IKnowledgeSyncProvider из объекта IProviderConverter. Платформа Sync Framework делает это путем передачи объекта ISyncProvider преобразователю при помощи метода IProviderConverter::Initialize и затем путем передачи IID_IKnowledgeSyncProvider методу QueryInterfaceобъекта IProviderConverter.

Системные требования

Заголовок: Synchronization.h

См. также

Основные положения

Базовые компоненты Sync Framework