ISyncMgrSyncItem ::GetObject, méthode (syncmgr.h)

Crée un type spécifique d’objet lié à l’élément.

Syntaxe

HRESULT GetObject(
  [in]  REFGUID rguidObjectID,
  [in]  REFIID  riid,
  [out] void    **ppv
);

Paramètres

[in] rguidObjectID

Type : REFGUID

GUID identifiant le type d’objet à créer. L’une des valeurs suivantes, telle que définie dans shlguid.h.

SYNCMGR_OBJECTID_BrowseContent

Objet implémentant l’interface ISyncMgrUIOperation qui montre l’interface utilisateur qui permet à l’utilisateur de parcourir le contenu de l’élément.

Le Centre de synchronisation demande uniquement cet objet si l’indicateur de fonctionnalité SYNCMGR_ICM_CAN_BROWSE_CONTENT est défini dans le masque récupéré par GetCapabilities.

SYNCMGR_OBJECTID_ConflictStore

Objet implémentant l’interface ISyncMgrConflictStore qui permet à un élément de fournir des conflits. Ces conflits sont affichés dans le dossier Conflits du centre de synchronisation. Le magasin de conflits doit inclure uniquement les conflits pour l’élément. Pour inclure des conflits pour tous les éléments d’un gestionnaire, le Centre de synchronisation appelle GetObject.

Le Centre de synchronisation demande uniquement cet objet si l’indicateur de capacité SYNCMGR_ICM_CONFLICT_STORE est défini dans le masque récupéré par GetCapabilities.

SYNCMGR_OBJECTID_EventStore

Objet implémentant l’interface ISyncMgrEventStore qui permet à un élément de fournir sa propre source d’événements. Ces événements sont affichés dans le dossier Résultats de la synchronisation. Le magasin d’événements doit inclure uniquement les événements pour l’élément. Pour inclure des événements pour tous les éléments d’un gestionnaire, le Centre de synchronisation appelle GetObject.

Le Centre de synchronisation demande uniquement cet objet si l’indicateur de capacité SYNCMGR_ICM_EVENT_STORE est défini dans le masque récupéré par GetCapabilities.

Un élément n’est pas nécessaire pour fournir un magasin d’événements. Le magasin d’événements par défaut fourni par le Centre de synchronisation peut être utilisé s’il répond aux exigences de l’élément.

SYNCMGR_OBJECTID_Icon

Objet d’extraction d’icône qui implémente l’interface IExtractIcon utilisée pour afficher une icône pour l’élément. Cet objet ne doit être fourni que si l’élément obtient son icône dynamiquement au moment de l’exécution. Le mécanisme préféré pour fournir l’icône consiste à inscrire l’icône en tant que DefaultIcon dans le Registre.

Le Centre de synchronisation demande uniquement cet objet si l’indicateur de capacité SYNCMGR_ICM_PROVIDES_ICON est défini dans le masque récupéré par GetCapabilities.

SYNCMGR_OBJECTID_QueryBeforeDelete

Objet implémentant l’interface ISyncMgrUIOperation qui affiche l’interface utilisateur lorsque l’utilisateur sélectionne l’élément dans le dossier du gestionnaire, puis sélectionne la tâche Supprimer . Avant de demander cet objet, le Centre de synchronisation crée un thread distinct pour cette opération et un nouveau instance de l’élément.

Le Centre de synchronisation demande uniquement cet objet si les indicateurs de capacité SYNCMGR_ICM_CAN_DELETE et SYNCMGR_ICM_QUERY_BEFORE_DELETE sont définis dans le masque récupéré par GetCapabilities.

SYNCMGR_OBJECTID_QueryBeforeEnable

Objet implémentant l’interface ISyncMgrUIOperation qui affiche l’interface utilisateur lorsque l’utilisateur sélectionne l’élément dans le dossier Centre de synchronisation, puis sélectionne la tâche Activer . Avant de demander cet objet, le Centre de synchronisation crée un thread distinct pour cette opération et un nouveau instance de l’élément.

Le Centre de synchronisation demande uniquement cet objet si l’indicateur de capacité SYNCMGR_ICM_QUERY_BEFORE_ENABLE est défini et que l’indicateur de stratégie SYNCMGR_IPM_PREVENT_ENABLE ne l’est pas.

SYNCMGR_OBJECTID_QueryBeforeDisable

Objet implémentant l’interface ISyncMgrUIOperation qui affiche l’interface utilisateur lorsque l’utilisateur sélectionne l’élément dans le dossier du gestionnaire, puis sélectionne la tâche Désactiver . Avant de demander cet objet, le Centre de synchronisation crée un thread distinct pour cette opération et un nouveau instance de l’élément.

Le Centre de synchronisation demande uniquement cet objet si l’indicateur de capacité SYNCMGR_ICM_QUERY_BEFORE_DELETE est défini et si l’indicateur de stratégie SYNCMGR_IPM_PREVENT_DISABLE ne l’est pas.

[in] riid

Type : REFIID

IID de l’interface demandée. Cela dépend du type d’objet nommé dans rguidObjectID.

[out] ppv

Type : void**

Lorsque cette méthode retourne, contient l’adresse d’un pointeur vers l’interface demandée.

Valeur retournée

Type : HRESULT

Retourne S_OK en cas de réussite, ou une valeur d’erreur dans le cas contraire. Retourne E_INVALIDARG si l’élément ne prend pas en charge le type d’objet demandé.

Remarques

L’élément peut implémenter l’interface demandée sur son gestionnaire ou l’implémenter sur un autre objet.

Exemples

L’exemple suivant montre une implémentation de cette méthode.

STDMETHODIMP CMyDeviceSyncItem::GetObject(__in REFGUID   rguidObjectID,
                                          __in REFIID    riid,
                                          __out void   **ppv)
{
    HRESULT hr = E_INVALIDARG;
    *ppv = NULL;

    if (rguidObjectID == SYNCMGR_OBJECTID_QueryBeforeDelete)
    {
        hr = _CreateQueryBeforeDeleteObject(riid, ppv);
    }
    else if (rguidObjectID == SYNCMGR_OBJECTID_EventStore)
    {
        hr = _CreateEventStore(_pszItemID, riid, ppv);
    }

    return hr;
}

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