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


Интерфейс ISyncMgrHandlerCollection (syncmgr.h)

Предоставляет методы, предоставляющие перечислитель идентификаторов обработчиков синхронизации и создающие экземпляры этих обработчиков синхронизации.

Наследование

Интерфейс ISyncMgrHandlerCollection наследуется от интерфейса IUnknown . ISyncMgrHandlerCollection также имеет следующие типы элементов:

Методы

Интерфейс ISyncMgrHandlerCollection содержит следующие методы.

 
ISyncMgrHandlerCollection::BindToHandler

Создает экземпляр указанного обработчика синхронизации при вызове из Центра синхронизации.
ISyncMgrHandlerCollection::GetHandlerEnumerator

Возвращает перечислитель, предоставляющий доступ к идентификаторам обработчиков синхронизации, предоставляемых пользователю и управляемых пользователем.

Комментарии

Автор обработчика синхронизации реализует этот интерфейс для поддержки нескольких устройств или компьютеров и независимой синхронизации их сведений. Центр синхронизации использует коллекцию обработчиков для запроса создания экземпляров отдельных обработчиков синхронизации. ISyncMgrHandlerCollection также позволяет автору обработчика синхронизации динамически добавлять обработчики в Центр синхронизации, а не регистрировать каждый по отдельности в реестре.

В следующем примере показана реализация структуры этого интерфейса.

class CMyHandlerCollection : public ISyncMgrHandlerCollection
{
public:
    // IUnknown
    // ISyncMgrHandlerCollection
    IFACEMETHODIMP GetHandlerEnumerator(__out IEnumString **ppenum);
    IFACEMETHODIMP BindToHandler(
        __in LPCWSTR    pszHandlerID,
        __in REFIID     riid,
        __out void    **ppv);
};

STDMETHODIMP CMyHandlerCollection::GetHandlerEnumerator(
    __out IEnumString **ppenum)
{
    // IDs are retrieved from a data source such as the registry.
    // IDs could be retrieved either by this collection class 
    // or the factory method.
    return CEnumMyHandlerIDs_Create(ppenum);
}

STDMETHODIMP CMyHandlerCollection::BindToHandler(
    __in LPCWSTR    pszHandlerID,
    __in REFIID     riid,
    __out void    **ppv)
{
    // Map the pszHandlerID to the handler to create. This could be done
    // by the factory method or by some other method.
    return CMyHandler_Create(pszHandlerID, riid, ppv);
}

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header syncmgr.h