IReplicaMetadata2::GetFilteredItemBatchVersions
Obtém um lote de alterações filtrado que contém as versões dos itens e das unidades de alteração armazenados nesta réplica. Esses itens e unidades de alteração correspondem aos referidos em um lote de alterações enviado de algum outro provedor.
HRESULT GetFilteredItemBatchVersions(
ISyncChangeBatch * pRemoteSyncChangeBatch,
IChangeBatchCallback * pCallback,
IEnumSyncChanges ** ppLocalVersionsEnum);
Parâmetros
Termo |
Definição |
pRemoteSyncChangeBatch |
[in] O lote de alterações enviado de outro provedor que está prestes a ser aplicado no repositório de itens associado a esta réplica. |
pCallback |
[in, unique] Uma interface de retorno de chamada que é chamada para determinar se um item deve ser adicionado ao lote. |
ppLocalVersionsEnum |
[out] Retorna um lote de alterações filtrado que contém as versões de itens e unidades de alteração armazenados nesta réplica. |
Valor de retorno
S_OK
E_POINTER
Comentários
Este método ajuda um provedor de sincronização a implementar seu método IKnowledgeSyncProvider::ProcessChangeBatch quando o provedor de destino filtra as alterações.
Os aplicadores de alterações usam as versões do lote de alterações que é retornado deste método para detecção de conflitos.
Observações para implementadores
O lote de alterações retornado deste método deve conter uma entrada para cada entrada em pRemoteSyncChangeBatch, incluindo as entradas de unidades de alteração, exceto quando pCallback indicar que a entrada não deve ser incluída. Se houver um item no repositório de itens e ele for incluído pelo filtro, sua entrada deverá conter as informações de versão para esta réplica. Se um item incluído pelo filtro não existir, sua entrada deverá conter 0 para sua versão e seu sinalizador SYNC_CHANGE_FLAG_DOES_NOT_EXIST deverá ser definido.