ISyncMgrSyncItem::GetObject-Methode (syncmgr.h)

Erstellt einen bestimmten Objekttyp im Zusammenhang mit dem Element.

Syntax

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

Parameter

[in] rguidObjectID

Typ: REFGUID

Eine GUID, die den Typ des zu erstellenden Objekts identifiziert. Einer der folgenden Werte, wie in shlguid.h definiert.

SYNCMGR_OBJECTID_BrowseContent

Ein Objekt, das die ISyncMgrUIOperation-Schnittstelle implementiert, die die Benutzeroberfläche anzeigt, mit der der Benutzer den Inhalt des Elements durchsuchen kann.

Das Synchronisierungscenter fordert dieses Objekt nur an, wenn das SYNCMGR_ICM_CAN_BROWSE_CONTENT-Funktionsflag in der von GetCapabilities abgerufenen Maske festgelegt ist.

SYNCMGR_OBJECTID_ConflictStore

Ein Objekt, das die ISyncMgrConflictStore-Schnittstelle implementiert, mit der ein Element Konflikte bereitstellen kann. Diese Konflikte werden im Ordner Sync Center Conflicts angezeigt. Der Konfliktspeicher sollte konflikte nur für das Element enthalten. Um Konflikte für alle Elemente eines Handlers einzuschließen, ruft das Synchronisierungscenter GetObject auf.

Das Synchronisierungscenter fordert dieses Objekt nur an, wenn das SYNCMGR_ICM_CONFLICT_STORE-Funktionsflag in der von GetCapabilities abgerufenen Maske festgelegt ist.

SYNCMGR_OBJECTID_EventStore

Ein Objekt, das die ISyncMgrEventStore-Schnittstelle implementiert, mit der ein Element eine eigene Ereignisquelle bereitstellen kann. Diese Ereignisse werden im Ordner Synchronisierungsergebnisse angezeigt. Der Ereignisspeicher sollte nur Ereignisse für das Element enthalten. Um Ereignisse für alle Elemente eines Handlers einzuschließen, ruft das Synchronisierungscenter GetObject auf.

Das Synchronisierungscenter fordert dieses Objekt nur an, wenn das SYNCMGR_ICM_EVENT_STORE-Funktionsflag in der von GetCapabilities abgerufenen Maske festgelegt ist.

Ein Element ist nicht erforderlich, um einen Ereignisspeicher bereitzustellen. Der vom Synchronisierungscenter bereitgestellte Standardereignisspeicher kann verwendet werden, wenn er die Anforderungen des Elements erfüllt.

SYNCMGR_OBJECTID_Icon

Ein Symbolextraktionsobjekt, das die IExtractIcon-Schnittstelle implementiert, die zum Anzeigen eines Symbols für das Element verwendet wird. Dieses Objekt sollte nur bereitgestellt werden, wenn das Element sein Symbol zur Laufzeit dynamisch abruft. Der bevorzugte Mechanismus zum Bereitstellen des Symbols besteht darin, das Symbol als DefaultIcon in der Registrierung zu registrieren.

Das Synchronisierungscenter fordert dieses Objekt nur an, wenn das SYNCMGR_ICM_PROVIDES_ICON-Funktionsflag in der von GetCapabilities abgerufenen Maske festgelegt ist.

SYNCMGR_OBJECTID_QueryBeforeDelete

Ein Objekt, das die ISyncMgrUIOperation-Schnittstelle implementiert, das die Benutzeroberfläche anzeigt, wenn der Benutzer das Element im Ordner des Handlers auswählt und dann die Aufgabe Löschen auswählt. Vor dem Anfordern dieses Objekts erstellt das Synchronisierungscenter sowohl einen separaten Thread für diesen Vorgang als auch eine neue instance des Elements.

Das Synchronisierungscenter fordert dieses Objekt nur an, wenn die SYNCMGR_ICM_CAN_DELETE- und SYNCMGR_ICM_QUERY_BEFORE_DELETE-Funktionsflags in der von GetCapabilities abgerufenen Maske festgelegt sind.

SYNCMGR_OBJECTID_QueryBeforeEnable

Ein Objekt, das die ISyncMgrUIOperation-Schnittstelle implementiert, das die Benutzeroberfläche anzeigt, wenn der Benutzer das Element im Ordner "Synchronisierungscenter" auswählt und dann die Aufgabe Aktivieren auswählt. Vor dem Anfordern dieses Objekts erstellt das Synchronisierungscenter sowohl einen separaten Thread für diesen Vorgang als auch eine neue instance des Elements.

Das Synchronisierungscenter fordert dieses Objekt nur an, wenn das SYNCMGR_ICM_QUERY_BEFORE_ENABLE-Funktionsflag festgelegt ist und das SYNCMGR_IPM_PREVENT_ENABLE-Richtlinienflag nicht.

SYNCMGR_OBJECTID_QueryBeforeDisable

Ein Objekt, das die ISyncMgrUIOperation-Schnittstelle implementiert, das die Benutzeroberfläche anzeigt, wenn der Benutzer das Element im Ordner des Handlers auswählt und dann die Aufgabe Deaktivieren auswählt. Vor dem Anfordern dieses Objekts erstellt das Synchronisierungscenter sowohl einen separaten Thread für diesen Vorgang als auch eine neue instance des Elements.

Das Synchronisierungscenter fordert dieses Objekt nur an, wenn das SYNCMGR_ICM_QUERY_BEFORE_DELETE-Funktionsflag festgelegt ist und das SYNCMGR_IPM_PREVENT_DISABLE-Richtlinienflag nicht.

[in] riid

Typ: REFIID

Die IID der angeforderten Schnittstelle. Dies ist abhängig vom Objekttyp in rguidObjectID.

[out] ppv

Typ: void**

Wenn diese Methode zurückgibt, enthält die Adresse eines Zeigers auf die angeforderte Schnittstelle.

Rückgabewert

Typ: HRESULT

Gibt bei erfolgreicher Ausführung S_OK oder andernfalls einen Fehlerwert zurück. Gibt E_INVALIDARG zurück, wenn das Element den angeforderten Objekttyp nicht unterstützt.

Hinweise

Das Element kann die angeforderte Schnittstelle in seinem Handler implementieren oder in einem anderen Objekt implementieren.

Beispiele

Das folgende Beispiel zeigt eine Implementierung dieser Methode.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile syncmgr.h