5.115.4 DirSyncReqToGetChgReq
-
procedure DirSyncReqToGetChgReq( [in] searchArg: DirSyncSearchArg, [in] dirSyncControlValue: DirSyncControlValue, [out] nativeRequest: DRS_MSG_GETCHGREQ_V10 ): ULONG
Informative summary of behavior: The DirSyncReqToGetChgReq procedure transforms the received LDAP search request with an LDAP_SERVER_DIRSYNC_OID control message into a DRS_MSG_GETCHGREQ_V10 request.
-
baseObjectDsName: DSNAME replFlags: ULONG ulSizeLimit: ULONG ulMaxBytes: ULONG errCode: ULONG /* Validate input */ /* If the base of the search is not the root of an NC, return unwillingToPerform */ baseObjectDsName := GetDSNameFromDN (searchArg.pObject) if baseObjectDsName ≠ GetObjectNC(baseObjectDsName) then return unwillingToPerform endif nativeRequest.pNC := baseObjectDsName nativeRequest.ulFlags := 0 nativeRequest.ulMoreFlags := 0 replFlags := dirSyncControlValue.flags if (LDAP_DIRSYNC_ANCESTORS_FIRST_ORDER in replFlags) then nativeRequest.ulFlags := nativeRequest.ulFlags + {DRS_GET_ANC} endif ulSizeLimit := 1000 if (searchArg.sizeLimit) then ulSizeLimit := min(searchArg.sizeLimit, ulSizeLimit) endif nativeRequest.cMaxObjects = max (ulSizeLimit, 100) ulMaxBytes := dirSyncControlValue.size if (ulMaxBytes = 0) then ulMaxBytes := 1024*1024 endif nativeRequest.cMaxBytes := ulMaxBytes cookie := dirSyncControlValue.cookie errCode := GetUsnUtdVectorFromCookie (cookie, nativeRequest) if (errCode ≠ 0) then return errCode endif /* Handle attribute selection */ copy the list of required attributes, if present, from searchArg.pSelection to nativeRequest.pPartialAttrSet return 0 /* success */