IChangeApplicationServices::GetChangeApplicationContext
Obtém um objeto que representa a alteração atual a ser aplicada.
HRESULT GetChangeApplicationContext(
ISyncChange * pSourceChange,
ISyncChange * pDestinationVersion,
IChangeApplicationContext ** ppContext);
Parâmetros
- pSourceChange
[in, unique] Uma alteração recebida do provedor de origem. Pode ser NULL quando o lote de alterações fizer parte de uma sincronização de recuperação.
- pDestinationVersion
[in, unique] A versão de pSourceChange na réplica de destino. Pode ser NULL quando a réplica de destino não tiver uma versão para pSourceChange.
- ppContext
[out] Retorna um objeto que pode ser usado para processar a alteração.
Valor de retorno
S_OK.
E_OUTOFMEMORY.
E_POINTER.
SYNC_E_ACTIVE_CHANGE_APPLICATION_CONTEXT quando um objeto IChangeApplicationContext já estiver ativo. O objeto IChangeApplicationContext ativo deve ser processado até que seu método IChangeApplicationContext::GetChangeApplicationAction retorne CAA_FINISHED para que outra alteração possa ser processada.
SYNC_E_CHANGE_NEEDS_KNOWLEDGE quando pSourceChange não contiver conhecimento atual.
SYNC_E_CHANGE_NOT_IN_KNOWLEDGE quando a versão de atualização ou a versão de criação de pSourceChange não estiverem contidas em seu conhecimento atual.
SYNC_E_CHANGE_UNIT_COUNT_MISMATCH quando pSourceChange e pDestinationVersion contiverem números diferentes de unidades de alteração.
SYNC_E_ID_FORMAT_MISMATCH quando o formato de uma ID especificada não corresponder ao esquema do formato da ID especificado quando esse objeto foi inicializado.
SYNC_E_INVALID_OPERATION quando a aplicação de alterações não tiver sido iniciada para um lote de alterações ou quando pSourceChange já tiver sido relatado como tendo sido aplicado com êxito.
SYNC_E_ITEM_HAS_CHANGE_UNITS quando pSourceChange ou pDestinationVersion contiverem unidades de alteração e os outros não.
SYNC_E_NOT_EXPECTED_CHANGE quando pSourceChange e pDestinationVersion fizerem referência a IDs de item diferentes.
Comentários
Esse método geralmente é chamado pelo provedor de destino uma vez para cada alteração enviada do provedor de origem. O objeto IChangeApplicationContext retornado pode ser usado para executar detecção de conflitos, resolução de conflitos e para determinar como o provedor de destino deve aplicar a alteração especificada por pSourceChange.