Share via


IChangeApplicationServices::EndFullEnumerationChangeApplication

Ends processing of a set of changes as part of a recovery synchronization.

Syntax

HRESULT EndFullEnumerationChangeApplication(
  ISyncKnowledge * pBatchLearnedKnowledge,
  IForgottenKnowledge * pBatchLearnedForgottenKnowledge,
  ISyncKnowledge ** ppUpdatedDestinationKnowledge,
  IForgottenKnowledge ** ppUpdatedDestinationForgottenKnowledge);

Parameters

  • pBatchLearnedKnowledge
    [in] The learned knowledge of the change batch.

  • pBatchLearnedForgottenKnowledge
    [in] The learned forgotten knowledge of the change batch.

  • ppUpdatedDestinationKnowledge
    [out] Returns the updated destination knowledge, based on the changes that were applied or skipped.

  • ppUpdatedDestinationForgottenKnowledge
    [out] Returns the updated destination forgotten knowledge, based on the changes that were applied or skipped.

Return Value

  • S_OK.

  • E_OUTOFMEMORY.

  • E_POINTER.

  • SYNC_E_ID_FORMAT_MISMATCH when the ID format schema of pBatchLearnedKnowledge does not match the ID format schema specified when this object was initialized.

  • SYNC_E_INVALID_OPERATION when this object has not been initialized, or when change application was not started.

Remarks

The learned knowledge of the change batch, specified by pBatchLearnedKnowledge, and the learned forgotten knowledge of the change batch, specified by pBatchLearnedForgottenKnowledge, are modified by this method to exclude any changes that were reported as skipped during change application.

This method calculates and updates the session statistics contained in the ISyncSessionState object that was passed to IChangeApplicationServices::Initialize.

The updated destination knowledge returned in ppUpdatedDestinationKnowledge and the updated destination forgotten knowledge returned in ppUpdatedDestinationForgottenKnowledge must replace the current knowledge and forgotten knowledge of the destination replica.

Note

When the updated destination knowledge is calculated, any changes that the destination provider did not reported as successfully applied by calling IChangeApplicationServices::ReportItemChangeApplied or IChangeApplicationServices::ReportChangeUnitChangeApplied are treated as having failed.

See Also

Reference

IChangeApplicationServices Interface