Partager via


Interface ISyncMgrHandlerCollection (syncmgr.h)

Expose les méthodes qui fournissent un énumérateur d’ID de gestionnaire de synchronisation et instancient ces gestionnaires de synchronisation.

Héritage

L’interface ISyncMgrHandlerCollection hérite de l’interface IUnknown. ISyncMgrHandlerCollection possède également les types de membres suivants :

Méthodes

L’interface ISyncMgrHandlerCollection possède ces méthodes.

 
ISyncMgrHandlerCollection ::BindToHandler

Instancie un gestionnaire de synchronisation spécifié lorsqu’il est appelé par le Centre de synchronisation.
ISyncMgrHandlerCollection ::GetHandlerEnumerator

Obtient un énumérateur qui fournit l’accès aux ID des gestionnaires de synchronisation exposés et gérés par l’utilisateur.

Remarques

L’auteur d’un gestionnaire de synchronisation implémente cette interface pour prendre en charge plusieurs appareils ou ordinateurs et synchroniser leurs détails indépendamment. Le Centre de synchronisation utilise la collection de gestionnaires pour demander l’instanciation de gestionnaires de synchronisation individuels. ISyncMgrHandlerCollection permet également à un auteur de gestionnaire de synchronisation d’ajouter dynamiquement des gestionnaires au Centre de synchronisation, au lieu d’inscrire chacun d’eux individuellement dans le Registre.

L’exemple suivant montre une implémentation de plan de cette interface.

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);
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête syncmgr.h