Partilhar via


ISaveChangeContext::GetChangeFromDestinationVersions

Obtém um objeto que contém a versão original fornecida pelo provedor de destino ao aplicador de alterações.

HRESULT GetChangeFromDestinationVersions(
  ISyncChange ** ppChangeFromDestinationVersions);

Parâmetros

  • ppChangeFromDestinationVersions
    [out] Retorna um objeto que contém a versão original fornecida pelo provedor de destino ao aplicador de alterações.

Valor de retorno

  • S_OK

  • E_POINTER

  • SYNC_E_INTERNAL_ERROR

Comentários

Este método pode ser usado para implementar uma verificação de simultaneidade otimista. Para isso, o provedor de destino compara a versão contida em ppChangeFromDestinationVersions com a versão atual em seus metadados. Se as versões não forem iguais, o item terá sido alterado na réplica de destino entre o momento em que a aplicação da alteração teve início e o momento em que ISynchronousNotifyingChangeApplierTarget::SaveChange foi chamado. Caso isso tenha ocorrido, o provedor de destino deverá informar um erro usando ISaveChangeContext::SetRecoverableErrorOnChange, e os metadados e dados para essa alteração deverão ser aplicados. Lembre-se de que essa verificação de simultaneidade só é eficaz se as versões forem atualizadas no armazenamento de metadados antes da verificação ser executada, como em um sistema no qual as versões são atualizadas no armazenamento de metadados e as alterações de item são feitas no armazenamento de itens.

Consulte também

Referência

Interface ISaveChangeContext