IChangeApplicationServices::GetChangeApplicationContext
Obtiene un objeto que representa el cambio actual que se va a aplicar.
HRESULT GetChangeApplicationContext(
ISyncChange * pSourceChange,
ISyncChange * pDestinationVersion,
IChangeApplicationContext ** ppContext);
Parámetros
- pSourceChange
[in, unique] Cambio recibido del proveedor de origen. Pueda ser un valor NULL cuando el lote de cambios forma parte de una sincronización de recuperación.
- pDestinationVersion
[in, unique] Versión de pSourceChange en la réplica de destino. Pueda ser un valor NULL cuando la réplica de destino no tiene una versión para pSourceChange.
- ppContext
[out] Devuelve un objeto que se puede usar para procesar el cambio.
Valor devuelto
S_OK
E_OUTOFMEMORY
E_POINTER
SYNC_E_ACTIVE_CHANGE_APPLICATION_CONTEXT si ya está activo un objeto IChangeApplicationContext. Para poder procesar otro cambio, se debe procesar el objeto IChangeApplicationContext activo hasta que su método IChangeApplicationContext::GetChangeApplicationAction devuelva CAA_FINISHED.
SYNC_E_CHANGE_NEEDS_KNOWLEDGE si pSourceChange no contiene ningún conocimiento que le dé origen.
SYNC_E_CHANGE_NOT_IN_KNOWLEDGE si la versión de la actualización o la versión de creación de pSourceChange no está incluida en el conocimiento que le da origen.
SYNC_E_CHANGE_UNIT_COUNT_MISMATCH si pSourceChange y pDestinationVersion contienen un número diferente de unidades de cambio.
SYNC_E_ID_FORMAT_MISMATCH si el formato de un identificador especificado no se corresponde con el esquema de formato de identificador que se especificó cuando se inicializó este objeto.
SYNC_E_INVALID_OPERATION si no se ha iniciado la aplicación de cambios para un lote de cambios, o si pSourceChange ya se ha notificado como correctamente aplicado.
SYNC_E_ITEM_HAS_CHANGE_UNITS si pSourceChange o pDestinationVersion contiene unidades de cambio y el otro no.
SYNC_E_NOT_EXPECTED_CHANGE si pSourceChange y pDestinationVersion hacen referencia a identificadores de elemento diferentes.
Notas
El proveedor de destino llama normalmente a este método una vez para cada cambio que se envía desde el proveedor de origen. El objeto IChangeApplicationContext que se devuelve se puede utilizar para realizar la detección de conflictos y la resolución de conflictos, y para determinar cómo el proveedor de destino debe aplicar el cambio especificado por pSourceChange.