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

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

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 gerenciado pelo manipulador, como uma pasta, um dispositivo, um computador em uma rede ou um aplicativo.

O Centro de Sincronização solicitará esse objeto somente se o sinalizador de funcionalidade SYNCMGR_HCM_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 manipulador forneça conflitos. Esses conflitos são mostrados na pasta Conflitos do Centro de Sincronização. O repositório de conflitos deve incluir conflitos para o manipulador, bem como conflitos para todos os seus itens. Para incluir conflitos apenas para um item específico, o Centro de Sincronização chama GetObject.

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

SYNCMGR_OBJECTID_EventLinkClick

Um objeto que implementa a interface ISyncMgrEventLinkUIOperation que implementa a ação de clique para um link fornecido em um evento exibido na pasta Resultados da Sincronização.

SYNCMGR_OBJECTID_EventStore

Um objeto que implementa a interface ISyncMgrEventStore que permite que um manipulador 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 eventos para o manipulador, bem como para todos os seus itens. Para incluir apenas eventos para um item específico, o Centro de Sincronização chama GetObject. O repositório de eventos é solicitado a excluir os eventos do manipulador na próxima vez que o manipulador for sincronizado. O repositório de eventos padrão limpa seus eventos quando o usuário faz logoff.

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

Um manipulador 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 manipulador.

SYNCMGR_OBJECTID_Icon

Um objeto de extração de ícone que implementa a interface IExtractIcon usada para exibir um ícone para o manipulador. Esse objeto só deverá ser fornecido se o manipulador 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 solicitará esse objeto somente se o sinalizador de funcionalidade SYNCMGR_HCM_PROVIDES_ICON estiver definido na máscara recuperada por GetCapabilities.

SYNCMGR_OBJECTID_QueryBeforeActivate

Um objeto que implementa a interface ISyncMgrUIOperation que exibe a interface do usuário que permite ao usuário configurar um manipulador. Essa interface do usuário é mostrada quando o usuário seleciona o manipulador na pasta Configuração de Sincronização e, em seguida, seleciona a tarefa Instalação . Antes de solicitar esse objeto, o Sync Center cria um thread separado para essa operação e uma nova instância do manipulador.

O Centro de Sincronização solicitará esse objeto somente se o sinalizador de funcionalidade SYNCMGR_HCM_QUERY_BEFORE_ACTIVATE estiver definido na máscara recuperada por GetCapabilities e o sinalizador de política de SYNCMGR_HPM_PREVENT_ACTIVATE não estiver definido na máscara recuperada por GetPolicies.

SYNCMGR_OBJECTID_QueryBeforeDeactivate

Um objeto que implementa a interface ISyncMgrUIOperation que exibe a interface do usuário quando o usuário seleciona o manipulador na pasta do Centro de Sincronização 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 manipulador.

O Centro de Sincronização solicitará esse objeto somente se o sinalizador de funcionalidade SYNCMGR_HCM_QUERY_BEFORE_DEACTIVATE estiver definido na máscara recuperada por GetCapabilities e o sinalizador de política de SYNCMGR_HPM_PREVENT_DEACTIVATE não estiver definido na máscara recuperada por GetPolicies.

SYNCMGR_OBJECTID_QueryBeforeEnable

Um objeto que implementa a interface ISyncMgrUIOperation que exibe a interface do usuário quando o usuário seleciona o manipulador 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 manipulador.

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

SYNCMGR_OBJECTID_QueryBeforeDisable

Um objeto que implementa a interface ISyncMgrUIOperation que exibe a interface do usuário quando o usuário seleciona o manipulador na pasta do Centro de Sincronização 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 manipulador.

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

SYNCMGR_OBJECTID_ShowSchedule

Um objeto que implementa a interface ISyncMgrUIOperation que exibe a interface do usuário que permite ao usuário configurar o agendamento para o manipulador. Antes de solicitar esse objeto, o Sync Center cria um thread separado para essa operação e uma nova instância do manipulador.

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

[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.

Valor retornado

Tipo: HRESULT

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

Comentários

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

Exemplos

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

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

Requisitos

   
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