IChangeApplicationServices::EndFullEnumerationChangeApplication
Ends processing of a set of changes as part of a recovery synchronization.
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.