IReplicaMetadata::GetFullEnumerationChangeBatch
Obtém um lote de alterações que contém metadados dos itens que têm IDs maiores ou iguais ao limite inferior especificado, como parte de uma enumeração completa.
HRESULT GetFullEnumerationChangeBatch(
DWORD dwBatchSize,
const BYTE * pbLowerEnumerationBound,
ISyncKnowledge * pSyncKnowledge,
ISyncFullEnumerationChangeBatch ** ppSyncChangeBatch);
Parâmetros
- dwBatchSize
[in] O tamanho do lote de alterações que será retornado.
- pbLowerEnumerationBound
[in] O limite inferior de IDs de itens. Este método retorna alterações com IDs superiores ou iguais a este valor de ID.
- pSyncKnowledge
[in] O conhecimento da réplica de destino.
- ppSyncChangeBatch
[out] Retorna o lote seguinte de alterações.
Valor de retorno
S_OK
E_POINTER
E_INVALIDARG quando dwBatchSize for 0.
Comentários
Este método ajuda um provedor de sincronização a implementar seu método IKnowledgeSyncProvider::GetFullEnumerationChangeBatch. Este método é chamado durante a recuperação de conhecimento esquecido.
Antes de os provedores chamarem este método, eles devem garantir que as versões no repositório de metadados reflitam todas as alterações locais, inclusive exclusões. Isso pode ser feito por uma passagem de manutenção de metadados explícita para enumerar itens e atualizar os metadados.
A implementação desta classe disponível através de ISqlSyncMetadataStore adiciona alterações ao lote de alterações na ordem da ID global.
A implementação desta classe, que está disponível através de ISqlSyncMetadataStore,, também retorna todos os itens que tenham IDs menores do que pbLowerEnumerationBound não contidos em pSyncKnowledge.
A implementação desta classe disponível através de ISqlSyncMetadataStore chama SetLastBatch no lote de alterações retornado quando não há mais nenhuma alteração a ser enviada.
Observações para implementadores
Este método deve enumerar, em ordem classificada pela ID do item, alterações que têm uma ID do item de pbLowerEnumerationBound ou maior. Isso permite ao Sync Framework determinar quais itens no provedor de destino foram excluídos, mas esquecidos pelo provedor de origem.
Se não houver mais nenhuma alteração a ser enviada depois deste lote, será necessário chamar SetLastBatch no lote de alterações retornado ou Sync Framework chamará IKnowledgeSyncProvider::GetFullEnumerationChangeBatch novamente para recuperar outro lote de alterações.
Para um provedor que envia dados de item juntamente com metadados de alteração de item, pSyncKnowledge pode ser usado para determinar se é necessário enviar dados de item. Os dados de item não precisam ser enviados quando a alteração do item está contida em pSyncKnowledge.