3.1.6.7.4.2 Write
If iAttributeList was not provided as an argument, then an iAttributeList MUST be constructed that MUST contain the names of all Site ADM element attributes listed in section 3.1.6.20.4, except PrimarySiteController and PublicSigningKeyList.
Let SiteAttributeList be a list of site attribute names, initialized to be empty. For each site attribute listed in the following table, if the corresponding Site ADM element attribute name appears in iAttributeList and that attribute is populated in iDirectoryObject, add the site attribute name to SiteAttributeList and compute the value for the attribute as shown. Site ADM element attribute names that appear in iAttributeList but do not appear in the following table or subsections referenced by the table MUST be ignored in this step.
site attribute
Attribute value computation
Integer copied from iDirectoryObject.IntraSiteReplicationInterval.
mSMQInterval2 ([MS-ADA2] section 2.546)
Integer copied from iDirectoryObject.InterSiteReplicationInterval.
mSMQSiteForeign ([MS-ADA2] section 2.576)
If iDirectoryObject.ForeignSite is TRUE,
mSMQSiteForeign is 0x01
Else
mSMQSiteForeign is 0x00.
mSMQNt4Stub ([MS-ADA2] section 2.555)
If iDirectoryObject.MigratedFromMsmq10 is TRUE,
mSMQNt4Stub is 0x01
Else
mSMQNt4Stub is 0x00.
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.
If WriteDN is empty and iDirectoryObject.Name is populated, the value of WriteDN MUST be a distinguished name for a site object, constructed according to the format specified in section 2.2.1, where "<site name>" is the value of iDirectoryObject.Name.
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 SiteAttributeList 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.