3.1.6.7.5.2 Write
If iAttributeList was not provided as an argument, an iAttributeList MUST be constructed that MUST contain the names of all RoutingLink ADM element attributes listed in section 3.1.6.20.5.
Let SiteLinkAttributeList be a list of mSMQSiteLink attribute names, initialized to be empty. For each mSMQSiteLink attribute listed in the following table, if the corresponding RoutingLink ADM element attribute name appears in iAttributeList and that attribute is populated in iDirectoryObject, add the mSMQSiteLink attribute name to SiteLinkAttributeList and compute the value for the attribute as shown. RoutingLink ADM element attribute names that appear in iAttributeList but do not appear in the following table or in subsections referenced by the table MUST be ignored.
mSMQSiteLink attribute
Attribute value computation
Directory string transformed from iDirectoryObject.Description.
Integer copied from iDirectoryObject.ActualCost.
mSMQSite1 ([MS-ADA2] section 2.574)
Computed from iDirectoryObject.Site1Identifier. See section 3.1.6.7.5.4.
mSMQSite2 ([MS-ADA2] section 2.575)
Computed from iDirectoryObject.Site2Identifier. See section 3.1.6.7.5.5.
mSMQSiteGates ([MS-ADA2] section 2.577)
Computed from iDirectoryObject.SiteGateIdentifierList. See section 3.1.6.7.5.6.
Let WriteGUID be a distinguished name, initialized to be empty. If iDirectoryObject.Identifier is populated, the value of iDirectoryObject.Identifier MUST be copied to WriteGUID.
Let WriteDN be a distinguished name, initialized to be empty.
If iDirectoryObject.FullPath is populated, the value of iDirectoryObject.FullPath MUST be copied to WriteDN.
A Set Object Properties Using LDAP (section 3.1.6.16) event MUST be generated with the following arguments:
iPath := WriteDN
iGuid := WriteGUID
iAttributes := a list of name-value pairs consisting of the attribute names in SiteLinkAttributeList and the corresponding values, as computed in step 2.
If the Set Object Properties Using LDAP event returns an rStatus that is not DirectoryOperationResult.Success, rStatus MUST be set to the rStatus returned by the Set Object Properties Using LDAP event, and processing MUST end.
rStatus MUST be set to DirectoryOperationResult.Success, and processing MUST end.