Condividi tramite


Metodo ISyncMgrHandler::GetObject (syncmgr.h)

Crea un tipo specifico di oggetto correlato al gestore.

Sintassi

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

Parametri

[in] rguidObjectID

Tipo: REFGUID

GUID che identifica il tipo di oggetto da creare. Uno dei valori seguenti, come definito in shlguid.h.

SYNCMGR_OBJECTID_BrowseContent

Oggetto che implementa l'interfaccia ISyncMgrUIOperation che mostra l'interfaccia utente che consente all'utente di esplorare il contenuto dell'elemento gestito dal gestore, ad esempio una cartella, un dispositivo, un computer in una rete o un'applicazione.

Sync Center richiede questo oggetto solo se il flag di funzionalità SYNCMGR_HCM_CAN_BROWSE_CONTENT è impostato nella maschera recuperata da GetCapabilities.

SYNCMGR_OBJECTID_ConflictStore

Oggetto che implementa l'interfaccia ISyncMgrConflictStore che consente a un gestore di fornire conflitti. Questi conflitti vengono visualizzati nella cartella Conflitti del Centro sincronizzazione. L'archivio dei conflitti deve includere conflitti per il gestore e conflitti per tutti gli elementi. Per includere conflitti solo per un elemento specifico, Il Centro sincronizzazione chiama GetObject.

Sync Center richiede questo oggetto solo se il flag di funzionalità SYNCMGR_HCM_CONFLICT_STORE è impostato nella maschera recuperata da GetCapabilities.

SYNCMGR_OBJECTID_EventLinkClick

Oggetto che implementa l'interfaccia ISyncMgrEventLinkUIOperation che implementa l'azione click per un collegamento fornito in un evento visualizzato nella cartella Risultati sincronizzazione.

SYNCMGR_OBJECTID_EventStore

Oggetto che implementa l'interfaccia ISyncMgrEventStore che consente a un gestore di fornire la propria origine di eventi. Questi eventi vengono visualizzati nella cartella Risultati sincronizzazione. L'archivio eventi deve includere eventi per il gestore e per tutti gli elementi. Per includere solo gli eventi per un elemento specifico, Il Centro sincronizzazione chiama GetObject. All'archivio eventi viene chiesto di eliminare gli eventi del gestore alla successiva sincronizzazione del gestore. L'archivio eventi predefinito elimina gli eventi quando l'utente si disconnette.

Sync Center richiede questo oggetto solo se il flag di funzionalità SYNCMGR_HCM_EVENT_STORE è impostato nella maschera recuperata da GetCapabilities.

Non è necessario un gestore per fornire un archivio eventi. L'archivio eventi predefinito fornito da Sync Center può essere usato se soddisfa i requisiti del gestore.

SYNCMGR_OBJECTID_Icon

Oggetto di estrazione di icone che implementa l'interfaccia IExtractIcon utilizzata per visualizzare un'icona per il gestore. Questo oggetto deve essere fornito solo se il gestore ottiene l'icona in modo dinamico in fase di esecuzione. Il meccanismo preferito per fornire l'icona consiste nel registrare l'icona come DefaultIcon nel Registro di sistema.

Sync Center richiede questo oggetto solo se il flag di funzionalità SYNCMGR_HCM_PROVIDES_ICON è impostato nella maschera recuperata da GetCapabilities.

SYNCMGR_OBJECTID_QueryBeforeActivate

Oggetto che implementa l'interfaccia ISyncMgrUIOperation che visualizza l'interfaccia utente che consente all'utente di configurare un gestore. Questa interfaccia utente viene visualizzata quando l'utente seleziona il gestore nella cartella Sincronizza programma di installazione e quindi seleziona l'attività Di installazione . Prima di richiedere questo oggetto, Sync Center crea un thread separato per questa operazione e una nuova istanza del gestore.

Sync Center richiede questo oggetto solo se il flag di funzionalità SYNCMGR_HCM_QUERY_BEFORE_ACTIVATE è impostato nella maschera recuperata da GetCapabilities e il flag dei criteri SYNCMGR_HPM_PREVENT_ACTIVATE non è impostato nella maschera recuperata da GetPolicies.

SYNCMGR_OBJECTID_QueryBeforeDeactivate

Oggetto che implementa l'interfaccia ISyncMgrUIOperation che visualizza l'interfaccia utente quando l'utente seleziona il gestore nella cartella Centro sincronizzazione, quindi seleziona l'attività Elimina . Prima di richiedere questo oggetto, Sync Center crea un thread separato per questa operazione e una nuova istanza del gestore.

Il Centro sincronizzazione richiede questo oggetto solo se il flag di funzionalità SYNCMGR_HCM_QUERY_BEFORE_DEACTIVATE è impostato nella maschera recuperata da GetCapabilities e il flag dei criteri SYNCMGR_HPM_PREVENT_DEACTIVATE non è impostato nella maschera recuperata da GetPolicies.

SYNCMGR_OBJECTID_QueryBeforeEnable

Oggetto che implementa l'interfaccia ISyncMgrUIOperation che visualizza l'interfaccia utente quando l'utente seleziona il gestore nella cartella Centro sincronizzazione e quindi seleziona l'attività Abilita . Prima di richiedere questo oggetto, Sync Center crea un thread separato per questa operazione e una nuova istanza del gestore.

Sync Center richiede questo oggetto solo se i flag di funzionalità SYNCMGR_HCM_CAN_ENABLE e SYNCMGR_HCM_QUERY_BEFORE_ENABLE vengono impostati nella maschera recuperata da GetCapabilities.

SYNCMGR_OBJECTID_QueryBeforeDisable

Oggetto che implementa l'interfaccia ISyncMgrUIOperation che visualizza l'interfaccia utente quando l'utente seleziona il gestore nella cartella Centro sincronizzazione e quindi seleziona l'attività Disabilita . Prima di richiedere questo oggetto, Sync Center crea sia un thread separato per questa operazione che una nuova istanza del gestore.

Sync Center richiede questo oggetto solo se i flag di funzionalità SYNCMGR_HCM_CAN_DISABLE e SYNCMGR_HCM_QUERY_BEFORE_DISABLE vengono impostati nella maschera recuperata da GetCapabilities.

SYNCMGR_OBJECTID_ShowSchedule

Oggetto che implementa l'interfaccia ISyncMgrUIOperation che visualizza l'interfaccia utente che consente all'utente di configurare la pianificazione per il gestore. Prima di richiedere questo oggetto, Sync Center crea un thread separato per questa operazione e una nuova istanza del gestore.

Sync Center richiede questo oggetto solo se il flag di funzionalità SYNCMGR_HCM_CAN_SHOW_SCHEDULE è impostato nella maschera recuperata da GetCapabilities.

[in] riid

Tipo: REFIID

IID dell'interfaccia richiesta. Dipende dal tipo di oggetto denominato in rguidObjectID.

[out] ppv

Tipo: void**

Quando termina, questo metodo contiene l'indirizzo di un puntatore all'interfaccia richiesta.

Valore restituito

Tipo: HRESULT

Restituisce S_OK in caso di esito positivo o un valore di errore in caso contrario. Restituisce E_NOTIMPL se il gestore non supporta il tipo di oggetto richiesto.

Commenti

Il gestore può implementare l'interfaccia richiesta su se stessa oppure può implementarla in un oggetto diverso.

Esempio

Nell'esempio seguente viene illustrata un'implementazione di questo metodo.

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

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione syncmgr.h