Freigeben über


IReplicaMetadata::GetChangeBatch

Ruft einen Änderungsbatch mit Elementmetadaten für Elemente ab, die nicht im angegebenen Wissen des Zielanbieters enthalten sind.

HRESULT GetChangeBatch(
  DWORD dwBatchSize,
  ISyncKnowledge *pSyncKnowledge,
ISyncChangeBatch ** ppSyncChangeBatch);

Parameter

  • dwBatchSize
    [in] Die Größe des zu erstellenden Batches.
  • pSyncKnowledge
    [in] Das Wissen des Zielanbieters.
  • ppSyncChangeBatch
    [out] Gibt einen Änderungsbatch mit Elementmetadaten für Elemente zurück, die nicht im angegebenen Wissen vom Zielanbieter enthalten sind.

Rückgabewert

  • S_OK

  • E_POINTER

  • E_INVALIDARG, wenn dwBatchSize 0 ist.

Hinweise

Diese Methode ist bei der Implementierung der IKnowledgeSyncProvider::GetChangeBatch-Methode für Synchronisierungsanbieter hilfreich.

Vor dem Aufrufen dieser Methode müssen Anbieter sicherstellen, dass die Versionen im Metadatenspeicher alle lokalen Änderungen, einschließlich Löschungen, berücksichtigen. Dies wird durch einen expliziten Metadatenverwaltungsdurchlauf erreicht, in dem Elemente aufgelistet und ihre Metadaten aktualisiert werden.

Die Implementierung dieser Klasse, die durch ISqlSyncMetadataStore zur Verfügung gestellt wird, fügt dem Änderungsbatch Änderungen geordnet nach der globalen ID hinzu.

Die Implementierung dieser Klasse, die durch ISqlSyncMetadataStore zur Verfügung gestellt wird, ruft SetLastBatch für den zurückgegebenen Änderungsbatch auf, wenn keine zu sendenden Änderungen mehr vorhanden sind.

Hinweise für Implementierer

Um einen Anbieter, der Sortierungen nach globaler ID durchführt und Bereiche verwenden kann, zu unterstützen, sollten Änderungen in der Reihenfolge ihrer globalen ID aufgelistet und dem Änderungsbatch hinzugefügt werden. Durch die erste Änderung im zurückgegebenen Änderungsbatch wird ein neuer Bereich gestartet.

Wenn nach diesem Batch keine zu sendenden Änderungen mehr vorliegen, muss SetLastBatch für den zurückgegebenen Änderungsbatch aufgerufen werden. Andernfalls ruft Sync Framework erneut IKnowledgeSyncProvider::GetChangeBatch auf, um einen weiteren Änderungsbatch abzurufen.

Siehe auch

Verweis

IReplicaMetadata-Schnittstelle