ISyncMgrHandlerCollection 接口 (syncmgr.h)

公开提供同步处理程序 ID 的枚举器并实例化这些同步处理程序的方法。

继承

ISyncMgrHandlerCollection 接口继承自 IUnknown 接口。 ISyncMgrHandlerCollection 还具有以下类型的成员:

方法

ISyncMgrHandlerCollection 接口包含以下方法。

 
ISyncMgrHandlerCollection::BindToHandler

由同步中心调用时实例化指定的同步处理程序。
ISyncMgrHandlerCollection::GetHandlerEnumerator

获取一个枚举器,该枚举器提供对用户公开和管理的同步处理程序 ID 的访问权限。

注解

同步处理程序的作者实现此接口以支持多个设备或计算机并独立同步其详细信息。 同步中心使用处理程序集合来请求实例化各个同步处理程序。 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
标头 syncmgr.h