3.2.6.7.4 Site
The MQDS client MUST perform the following actions:
The arguments supplied to the Write Directory event MUST meet the following conditions. If any of these conditions are violated, processing of the event MUST end. rStatus MUST be set to DirectoryOperationResult.GenericError.
The iDirectoryObject.Identifier attribute MUST be populated.
If iAttributeList was not provided as an argument, then an iAttributeList MUST be constructed that MUST contain the names of all Site directory attributes listed in [MS-MQDMPR] section 3.1.1.7.
The aProp and apVar arguments for the S_DSSetPropsGuid method (section 3.1.4.10) MUST be computed. For each property identifier listed in the following table, if the corresponding Site attribute name appears in iAttributeList and that attribute is populated in iDirectoryObject, add the property identifier to aProp, add a PROPVARIANT to apVar that is set to the correct type for the property and contains in the correct field the computed value for the property, as shown in the following table. Site attribute names that appear in iAttributeList but do not appear in the following table or subsections referenced by the table MUST be ignored.
Property identifier
Property value computation
Unicode string copied from iDirectoryObject.PrimarySiteController.
PROPID_S_INTERVAL1 ([MS-MQMQ] section 2.3.3.5)
Integer copied from iDirectoryObject.IntraSiteReplicationInterval.
PROPID_S_INTERVAL2 ([MS-MQMQ] section 2.3.3.6)
Integer copied from iDirectoryObject.InterSiteReplicationInterval.
PROPID_S_PSC_SIGNPK ([MS-MQMQ] section 2.3.3.14)
MQUSERSIGNCERTS structure ([MS-MQMQ] section section 2.2.21) copied from iDirectoryObject.PublicSigningKeyList.
PROPID_S_NT4_STUB ([MS-MQMQ] section 2.3.3.10)
If iDirectoryObject.MigratedFromMsmq10 is TRUE, set to 0x01 Else set to 0x00.
PROPID_S_FOREIGN ([MS-MQMQ] section 2.3.3.11)
If iDirectoryObject.ForeignSite is TRUE, set to 0x01 Else set to 0x00.
PROPID_S_SECURITY ([MS-MQMQ] section 2.3.3.13)
Security Descriptor copied from iDirectoryObject.Security.
Other input arguments for the S_DSSetPropsGuid method MUST be computed:
dwObjectType MUST be MQDS_SITE.
Other arguments MUST be set up as described in section 3.1.4.10.
The iDirectoryObject.Identifier attribute MUST be populated, and the S_DSSetPropsGuid method MUST be called with pGuid set to point to a buffer that contains the value of iDirectoryObject.Identifier and the other given arguments. If the return value is not MQ_OK, processing MUST end. rStatus MUST be set to DirectoryOperationResult.GenericError.
Processing MUST end. rStatus MUST be set to DirectoryOperationResult.Success.