Compartilhar via


Método ISyncMgrSyncItem::GetObject (syncmgr.h)

Cria um tipo específico de objeto relacionado ao item.

Sintaxe

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

Parâmetros

[in] rguidObjectID

Tipo: REFGUID

Um GUID que identifica o tipo de objeto a ser criado. Um dos valores a seguir, conforme definido em shlguid.h.

SYNCMGR_OBJECTID_BrowseContent

Um objeto que implementa a interface ISyncMgrUIOperation que mostra a interface do usuário que permite que o usuário navegue pelo conteúdo do item.

O Centro de Sincronização solicitará esse objeto somente se o sinalizador de funcionalidade SYNCMGR_ICM_CAN_BROWSE_CONTENT estiver definido na máscara recuperada por GetCapabilities.

SYNCMGR_OBJECTID_ConflictStore

Um objeto que implementa a interface ISyncMgrConflictStore que permite que um item forneça conflitos. Esses conflitos são mostrados na pasta Conflitos do Centro de Sincronização. O repositório de conflitos deve incluir conflitos somente para o item. Para incluir conflitos para todos os itens de um manipulador, o Centro de Sincronização chama GetObject.

O Centro de Sincronização solicitará esse objeto somente se o sinalizador de funcionalidade SYNCMGR_ICM_CONFLICT_STORE estiver definido na máscara recuperada por GetCapabilities.

SYNCMGR_OBJECTID_EventStore

Um objeto que implementa a interface ISyncMgrEventStore que permite que um item forneça sua própria fonte de eventos. Esses eventos são mostrados na pasta Resultados da Sincronização. O repositório de eventos deve incluir apenas eventos para o item. Para incluir eventos para todos os itens de um manipulador, o Centro de Sincronização chama GetObject.

O Centro de Sincronização solicitará esse objeto somente se o sinalizador de funcionalidade SYNCMGR_ICM_EVENT_STORE estiver definido na máscara recuperada por GetCapabilities.

Um item não é necessário para fornecer um repositório de eventos. O repositório de eventos padrão fornecido pelo Centro de Sincronização poderá ser usado se atender aos requisitos do item.

SYNCMGR_OBJECTID_Icon

Um objeto de extração de ícone que implementa a interface IExtractIcon usada para exibir um ícone para o item. Esse objeto só deverá ser fornecido se o item obtiver seu ícone dinamicamente em tempo de execução. O mecanismo preferencial para fornecer o ícone é registrar o ícone como o DefaultIcon no registro.

O Centro de Sincronização só solicitará esse objeto se o sinalizador de funcionalidade SYNCMGR_ICM_PROVIDES_ICON estiver definido na máscara recuperada por GetCapabilities.

SYNCMGR_OBJECTID_QueryBeforeDelete

Um objeto que implementa a interface ISyncMgrUIOperation que exibe a interface do usuário quando o usuário seleciona o item na pasta do manipulador e seleciona a tarefa Excluir . Antes de solicitar esse objeto, o Sync Center cria um thread separado para essa operação e uma nova instância do item.

O Centro de Sincronização solicitará esse objeto somente se os sinalizadores de funcionalidade SYNCMGR_ICM_CAN_DELETE e SYNCMGR_ICM_QUERY_BEFORE_DELETE forem definidos na máscara recuperada por GetCapabilities.

SYNCMGR_OBJECTID_QueryBeforeEnable

Um objeto que implementa a interface ISyncMgrUIOperation que exibe a interface do usuário quando o usuário seleciona o item na pasta Central de Sincronização e seleciona a tarefa Habilitar . Antes de solicitar esse objeto, o Sync Center cria um thread separado para essa operação e uma nova instância do item.

O Centro de Sincronização solicitará esse objeto somente se o sinalizador de funcionalidade SYNCMGR_ICM_QUERY_BEFORE_ENABLE estiver definido e o sinalizador de política SYNCMGR_IPM_PREVENT_ENABLE não estiver.

SYNCMGR_OBJECTID_QueryBeforeDisable

Um objeto que implementa a interface ISyncMgrUIOperation que exibe a interface do usuário quando o usuário seleciona o item na pasta do manipulador e seleciona a tarefa Desabilitar . Antes de solicitar esse objeto, o Sync Center cria um thread separado para essa operação e uma nova instância do item.

O Centro de Sincronização solicitará esse objeto somente se o sinalizador de funcionalidade SYNCMGR_ICM_QUERY_BEFORE_DELETE estiver definido e o sinalizador de política SYNCMGR_IPM_PREVENT_DISABLE não estiver.

[in] riid

Tipo: REFIID

O IID da interface solicitada. Isso depende do tipo de objeto chamado em rguidObjectID.

[out] ppv

Tipo: void**

Quando esse método retorna, contém o endereço de um ponteiro para a interface solicitada.

Retornar valor

Tipo: HRESULT

Retorna S_OK se tiver êxito; caso contrário, um valor de erro. Retorna E_INVALIDARG se o item não der suporte ao tipo de objeto solicitado.

Comentários

O item pode implementar a interface solicitada em seu manipulador ou pode implementá-la em um objeto diferente.

Exemplos

O exemplo a seguir mostra uma implementação desse método.

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

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho syncmgr.h