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 |