ISyncChangeBatch2::AddMergeTombstoneMetadataToGroup
Adiciona a marca de exclusão de mesclagem especificada ao grupo aberto no momento.
HRESULT AddMergeTombstoneMetadataToGroup(
const BYTE * pbOwnerReplicaId,
const BYTE * pbWinnerItemId,
const BYTE * pbItemId,
const SYNC_VERSION * pChangeVersion,
const SYNC_VERSION * pCreationVersion,
DWORD dwWorkForChange,
ISyncChangeBuilder ** ppChangeBuilder);
Parâmetros
- pbOwnerReplicaId
[in] A ID da réplica onde pChangeVersion e pCreationVersion são válidos. O formato da ID deve corresponder ao formato especificado pela estrutura ID_PARAMETERS do provedor.
- pbWinnerItemId
[in] A ID do item após a mesclagem. Também chamada ID vencedora. O formato da ID deve corresponder ao formato especificado pela estrutura ID_PARAMETERS do provedor.
- pbItemId
[in] A ID do item antes da mesclagem. Também chamada ID perdedora. O formato da ID deve corresponder ao formato especificado pela estrutura ID_PARAMETERS do provedor.
- pChangeVersion
[in] A versão dessa alteração.
- pCreationVersion
[in] A versão de criação do item identificada por pbItemId.
- dwWorkForChange
[in] A estimativa de trabalho para a alteração. Esse valor é usado durante a aplicação de alterações para relatar o trabalho concluído ao aplicativo.
- ppChangeBuilder
[in, out, unique] Retorna um objeto que pode ser usado para adicionar informações da unidade de alteração à alteração.
Valor de retorno
S_OK.
E_POINTER.
SYNC_E_CHANGE_BATCH_IS_READ_ONLY quando o objeto ISyncChangeBatch2 tiver sido enviado a um aplicador de alterações ou à sessão de sincronização, ou quando o objeto foi criado usando IProviderSyncServices::DeserializeChangeBatch ou IProviderSyncServices::DeserializeFullEnumerationChangeBatch.
SYNC_E_INVALID_OPERATION quando nenhum grupo estiver aberto ou um grupo vazio foi previamente adicionado ao lote.
SYNC_E_RANGE_OUT_OF_ORDER quando um grupo ordenado estiver aberto e pbItemId for menor do que a ID do item anterior adicionado ao grupo, ou menor do que a ID especificada quando o grupo foi aberto.
Comentários
Uma marca de exclusão de mesclagem é criada quando um conflito de restrição é resolvido por meio da mesclagem de dois itens em conflito. Quando um conflito de restrição é resolvido por mesclagem, a menor das IDs de item é escolhida como a ID vencedora e a maior é a ID de item perdedora. A ID de item vencedora é usada para identificar o item mesclado. A marca de exclusão de mesclagem controla se a ID de item perdedora identifica o mesmo item que a ID de item vencedora na comunidade de sincronização. Os metadados de uma marca de exclusão de mesclagem são iguais aos de uma marca de exclusão de item excluído, com a adição da ID de item vencedora.