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.