ISaveChangeContext::GetChangeFromDestinationVersions
Obtiene un objeto que contiene la versión original que el proveedor de destino proporcionó al aplicador de cambios.
HRESULT GetChangeFromDestinationVersions(
ISyncChange ** ppChangeFromDestinationVersions);
Parámetros
- ppChangeFromDestinationVersions
[out] Devuelve un objeto que contiene la versión original que el proveedor de destino proporcionó al aplicador de cambios.
Valor devuelto
S_OK
E_POINTER
SYNC_E_INTERNAL_ERROR
Notas
Este método se puede usar para implementar una comprobación de simultaneidad optimista. Para ello, el proveedor de destino compara la versión contenida en el objeto ppChangeFromDestinationVersions con la versión actual de sus metadatos. Si las versiones no son iguales, significa que el elemento se ha cambiado en la réplica de destino en algún momento entre el inicio de la aplicación de cambios y la llamada al método ISynchronousNotifyingChangeApplierTarget::SaveChange. En este caso, el proveedor de destino deberá usar ISaveChangeContext::SetRecoverableErrorOnChange para notificar un error, y no se deberán aplicar ni los metadatos ni los datos de este cambio. Tenga en cuenta que esta comprobación de simultaneidad solo es efectiva si se realiza después de que las versiones se hayan actualizado en el almacén de metadatos, como ocurre en un sistema en el que las versiones se actualizan en el almacén de metadatos mientras se realizan cambios en los elementos en el almacén de elementos.