4.1.10.6.15 UpdateRepsFrom
-
procedure UpdateRepsFrom( rf: RepsFrom, msgReplyNative: DRS_MSG_GETCHGREPLY_NATIVE, dsaServer: DSName, ulResult: DWORD)
Informative summary of behavior: Using the UpdateRepsFrom procedure, the client updates the repsFrom abstract variable after it applies the response message received from the server. Following are the input parameters for this procedure.
rf: The RepsFrom for the server.
msgReplyNative: The IDL_DRSGetNCChanges response from the server.
ulResult: A Windows error code that indicates whether or not the replicated updates in the response message are applied successfully.
rfOld: RepsFrom currentTime: DSTIME nc: DSName nc := msgReplyNative.pNC^ rfOld := select one v from nc!repsFrom where (v.uuidDsa = dsaServer!objectGUID) if rfOld ≠ null then nc!repsFrom := nc!repsFrom - {rfOld} /* remove old entry */ endif currentTime := current time on the client rf.timeLastAttempt := currentTime if (ulResult = 0) then rf.consecutiveFailures := 0 rf.timeLastSuccess := currentTime rf.resultLastAttempt := 0 rf.uuidInvocId := msgReplyNative.uuidInvocIdSrc rf.usnVec := msgReplyNative.usnvecTo rf.resultLastAttempt := 0 else rf.consecutiveFailures := rf.consecutiveFailures + 1 rf.resultLastAttempt := ulResult endif nc!repsFrom := nc!repsFrom + {rfNew}