ISyncMgrHandler::GetObject-Methode (syncmgr.h)

Erstellt einen bestimmten Objekttyp im Zusammenhang mit dem Handler.

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, das die Benutzeroberfläche anzeigt, mit der der Benutzer den Inhalt des vom Handler verwalteten Elements durchsuchen kann, z. B. ein Ordner, ein Gerät, ein Computer in einem Netzwerk oder eine Anwendung.

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

SYNCMGR_OBJECTID_ConflictStore

Ein Objekt, das die ISyncMgrConflictStore-Schnittstelle implementiert, das es einem Handler ermöglicht, Konflikte bereitzustellen. Diese Konflikte werden im Ordner Sync Center Conflicts angezeigt. Der Konfliktspeicher sollte Konflikte für den Handler sowie Konflikte für alle elemente enthalten. Um Konflikte nur für ein bestimmtes Element einzuschließen, ruft das Synchronisierungscenter GetObject auf.

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

SYNCMGR_OBJECTID_EventLinkClick

Ein Objekt, das die ISyncMgrEventLinkUIOperation-Schnittstelle implementiert, die die Klickaktion für einen Link implementiert, der für ein Ereignis bereitgestellt wird, das im Ordner Ergebnisse synchronisieren angezeigt wird.

SYNCMGR_OBJECTID_EventStore

Ein Objekt, das die ISyncMgrEventStore-Schnittstelle implementiert, mit der ein Handler eine eigene Ereignisquelle bereitstellen kann. Diese Ereignisse werden im Ordner Synchronisierungsergebnisse angezeigt. Der Ereignisspeicher sollte Ereignisse für den Handler sowie für alle seine Elemente enthalten. Um nur Ereignisse für ein bestimmtes Element einzuschließen, ruft das Synchronisierungscenter GetObject auf. Der Ereignisspeicher wird aufgefordert, die Ereignisse des Handlers bei der nächsten Synchronisierung des Handlers zu löschen. Der Standardereignisspeicher löscht seine Ereignisse, wenn sich der Benutzer abmeldet.

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

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

SYNCMGR_OBJECTID_Icon

Ein Symbolextraktionsobjekt, das die IExtractIcon-Schnittstelle implementiert, mit der ein Symbol für den Handler angezeigt wird. Dieses Objekt sollte nur bereitgestellt werden, wenn der Handler 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_HCM_PROVIDES_ICON-Funktionsflag in der von GetCapabilities abgerufenen Maske festgelegt ist.

SYNCMGR_OBJECTID_QueryBeforeActivate

Ein Objekt, das die ISyncMgrUIOperation-Schnittstelle implementiert und die Benutzeroberfläche anzeigt, mit der der Benutzer einen Handler konfigurieren kann. Diese Benutzeroberfläche wird angezeigt, wenn der Benutzer den Handler im Ordner Sync Setup auswählt und dann die Aufgabe Setup auswählt. Vor dem Anfordern dieses Objekts erstellt das Synchronisierungscenter einen separaten Thread für diesen Vorgang und eine neue instance des Handlers.

Das Synchronisierungscenter fordert dieses Objekt nur an, wenn das SYNCMGR_HCM_QUERY_BEFORE_ACTIVATE-Funktionsflag in der von GetCapabilities abgerufenen Maske festgelegt ist und das SYNCMGR_HPM_PREVENT_ACTIVATE-Richtlinienflag in der von GetPolicies abgerufenen Maske nicht festgelegt ist.

SYNCMGR_OBJECTID_QueryBeforeDeactivate

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

Das Synchronisierungscenter fordert dieses Objekt nur an, wenn das SYNCMGR_HCM_QUERY_BEFORE_DEACTIVATE-Funktionsflag in der von GetCapabilities abgerufenen Maske festgelegt ist und das SYNCMGR_HPM_PREVENT_DEACTIVATE-Richtlinienflag in der von GetPolicies abgerufenen Maske nicht festgelegt ist.

SYNCMGR_OBJECTID_QueryBeforeEnable

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

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

SYNCMGR_OBJECTID_QueryBeforeDisable

Ein Objekt, das die ISyncMgrUIOperation-Schnittstelle implementiert, das die Benutzeroberfläche anzeigt, wenn der Benutzer den Handler im Ordner Sync Center 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 einen neuen instance des Handlers.

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

SYNCMGR_OBJECTID_ShowSchedule

Ein Objekt, das die ISyncMgrUIOperation-Schnittstelle implementiert und die Benutzeroberfläche anzeigt, mit der der Benutzer den Zeitplan für den Handler konfigurieren kann. Vor dem Anfordern dieses Objekts erstellt das Synchronisierungscenter einen separaten Thread für diesen Vorgang und eine neue instance des Handlers.

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

[in] riid

Typ: REFIID

Die IID der angeforderten Schnittstelle. Dies hängt vom Objekttyp in rguidObjectID ab.

[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_NOTIMPL zurück, wenn der Handler den angeforderten Objekttyp nicht unterstützt.

Hinweise

Der Handler kann die angeforderte Schnittstelle für sich selbst oder für ein anderes Objekt implementieren.

Beispiele

Das folgende Beispiel zeigt eine Implementierung dieser Methode.

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

    if (rguidObjectID == SYNCMGR_OBJECTID_QueryBeforeActivate)
    {
        hr = _CreateSetupObject(riid, ppv);
    }
    else if (rguidObjectID == SYNCMGR_OBJECTID_EventStore)
    {
        hr = _CreateEventStore(NULL, riid, ppv);
    }

    return hr;
}

Anforderungen

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