3.2.6.7.5 RoutingLink
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 is 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 RoutingLink directory attributes listed in [MS-MQDMPR] section 3.1.1.8.
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 table below, if the corresponding RoutingLink 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. RoutingLink 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
GUID copied from iDirectoryObject.Site1Identifier.
PROPID_L_NEIGHBOR2 ([MS-MQMQ] section 2.3.7.2)
GUID copied from iDirectoryObject.Site2Identifier.
PROPID_L_GATES ([MS-MQMQ] section 2.3.7.13)
List of GUIDs copied from iDirectoryObject.SiteGateIdentifierList.
PROPID_L_NEIGHBOR1_DN ([MS-MQMQ] section 2.3.7.8)
Unicode string copied from iDirectoryObject.Site1FullPath.
PROPID_L_NEIGHBOR2_DN ([MS-MQMQ] section 2.3.7.9)
Unicode string copied from iDirectoryObject.Site2FullPath.
PROPID_L_DESCRIPTION ([MS-MQMQ] section 2.3.7.10)
Unicode string copied from iDirectoryObject.Description.
PROPID_L_ACTUAL_COST ([MS-MQMQ] section 2.3.7.12)
Integer copied from iDirectoryObject.ActualCost.
Other input arguments for the S_DSSetPropsGuid method MUST be computed:
dwObjectType MUST be MQDS_ROUTINGLINK.
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.