Compartilhar via


ISyncDataConverter::ConvertDataRetrieverFromProviderFormat

Converte o recuperador de dados do formato do provedor associado no formato do recuperador de dados necessário. Esse método será necessário apenas se um ou ambos os provedores de uma sessão de sincronização recuperar dados usando uma interface diferente de ISynchronousDataRetriever ou IAsynchronousDataRetriever.

HRESULT ConvertDataRetrieverFromProviderFormat(
  IUnknown * pUnkDataRetrieverIn,
  IEnumSyncChanges * pEnumSyncChanges,
  IUnknown ** ppUnkDataOut);

Parâmetros

  • pUnkDataRetrieverIn
    [in] O recuperador de dados a ser convertido.
  • pEnumSyncChanges
    [in] Um objeto IEnumSyncChanges que representa um conjunto de alterações de item.
  • ppUnkDataOut
    [out] O recuperador de dados convertido.

Valor de retorno

  • S_OK.

  • E_NOTIMPL se o recuperador de dados implementar uma das interfaces internas e apenas a conversão de dados for necessária.

  • Valores de erro definidos pelo desenvolvedor

Se for retornado um erro diferente de E_NOTIMPL, a sessão de sincronização será encerrada e retornará o código de erro.

Comentários

Em geral, o modo mais eficiente de converter um recuperador de dados é criar um proxy que implemente a interface do recuperador de dados necessária e tenha um ponteiro para a interface do recuperador de dados do provedor. O proxy poderá então recuperar dados da interface do provedor à medida que as alterações forem processadas durante a sessão de sincronização. Em algumas situações, como em cenários remotos de aplicação de alterações, é necessário recuperar todas as alterações primeiro, convertê-las conforme necessário e serializar o recuperador de dados com todos os dados nele. Para essas situações, use pEnumSyncChanges para enumerar todas as alterações que devem ser serializadas.

Consulte também

Referência

Interface ISyncDataConverter

Conceitos

Convertendo dados entre provedores