IReplicaMetadata2::GetFilteredFullEnumerationItemBatchVersions
Obtém um lote de alterações filtrado que contém as versões de itens e unidades de alteração armazenados nesta réplica, e que corresponde aos itens e unidades de alteração mencionados em um lote de alterações enviadas por outro provedor como parte de uma enumeração completa.
HRESULT GetFilteredFullEnumerationItemBatchVersions(
ISyncFullEnumerationChangeBatch * pRemoteSyncChangeBatch,
IChangeBatchCallback * pCallback,
IEnumSyncChanges ** ppLocalVersionsEnum);
Parâmetros
Termo |
Definição |
pRemoteSyncChangeBatch |
[in] O lote de alterações enviado por outro provedor e que está prestes a ser aplicado ao 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 ou não 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::ProcessFullEnumerationChangeBatch quando o provedor de destino filtra as alterações.
Os aplicadores de alterações usam as versões no lote de alterações que são retornadas 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 item cuja ID esteja entre os limites inferior e superior especificados em pRemoteSyncChangeBatch, inclusive as entradas de unidade 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, a sua entrada deverá conter informações sobre a sua versão para esta réplica. Se um item incluído pelo filtro não existir, a sua entrada deverá conter 0 para sua versão e o seu sinalizador SYNC_CHANGE_FLAG_DOES_NOT_EXIST deverá ser definido.