IReplicaMetadata::GetChangeBatch
Obtém um lote de alterações que contém metadados dos itens que não estão contidos no conhecimento especificado do provedor de destino.
HRESULT GetChangeBatch(
DWORD dwBatchSize,
ISyncKnowledge *pSyncKnowledge,
ISyncChangeBatch ** ppSyncChangeBatch);
Parâmetros
- dwBatchSize
[in] O tamanho do lote que será criado.
- pSyncKnowledge
[in] O conhecimento do provedor de destino.
- ppSyncChangeBatch
[out] Retorna um lote de alterações que contém metadados dos itens que não estão contidos no conhecimento especificado do provedor de destino.
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::GetChangeBatch.
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 seus 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 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
Para ajudar um provedor que usa uma ordenação da ID global e tem a capacidade de usar intervalos, as alterações devem ser enumeradas e adicionadas ao lote de alterações na ordem da ID global. A primeira alteração do lote de alterações retornado inicia um novo intervalo.
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::GetChangeBatch novamente para recuperar outro lote de alterações.