3.2.6.3.4 Site

 The MQDS client MUST perform the following actions:

  1.  The arguments supplied to the Read Directory (section 3.2.6.3) event MUST meet the following conditions. If any of these conditions is violated, rStatus MUST be set to DirectoryOperationResult.GenericError, and processing of the event MUST end.

    • The iDirectoryObject.Identifier attribute MUST be populated.

  2. If iAttributeList was not provided as an argument, an iAttributeList MUST be constructed that MUST contain the directory attributes of the Site ([MS-MQDMPR] section 3.1.1.7) ADM element.

  3. The aProp parameter for the S_DSGetPropsGuid (section 3.1.4.8) method MUST be computed. For each Site ADM element attribute listed in the following table that appears in iAttributeList, add the corresponding property identifier to aProp. Site ADM element attributes that appear in iAttributeList but that are not listed in the following table MUST be ignored.

    Site ADM element attribute

    Property identifier

    Attribute value computation

    Name

    PROPID_S_PATHNAME ([MS-MQMQ] section 2.3.3.1)

    Unicode string copied from property.

    Identifier

    PROPID_S_SITEID ([MS-MQMQ] section 2.3.3.2)

    GUID copied from property.

    PrimarySiteController

    PROPID_S_PSC ([MS-MQMQ] section 2.3.3.4)

    Unicode string copied from property.

    IntraSiteReplicationInterval

    PROPID_S_INTERVAL1 ([MS-MQMQ] section 2.3.3.5)

    Integer copied from property.

    InterSiteReplicationInterval

    PROPID_S_INTERVAL2 ([MS-MQMQ] section 2.3.3.6)

    Integer copied from property.

    Security

    PROPID_S_SECURITY ([MS-MQMQ] section 2.3.3.13)

    Security descriptor copied from property.

    Security descriptor copied from property

    PROPID_S_PSC_SIGNPK ([MS-MQMQ] section 2.3.3.14)

    MQUSERSIGNCERTS structure ([MS-MQMQ] section 2.2.21) copied from property.

    FullPath

    PROPID_S_FULL_NAME ([MS-MQMQ] section 2.3.3.9)

    Unicode string copied from property.

    MigratedFromMsmq10

    PROPID_S_NT4_STUB ([MS-MQMQ] section 2.3.3.10)

    If property equals 0x01, MigratedFromMsmq10 is True. Else if property equals 0x00, MigratedFromMsmq10 is False.

    ForeignSite

    PROPID_S_FOREIGN ([MS-MQMQ] section 2.3.3.11)

    If property equals 0x01, ForeignSite is True. Else if property equals 0x00, ForeignSite is False.

  4. Other input parameters for the S_DSGetPropsGuid method MUST be computed:

    • dwObjectType MUST be MQDS_SITE.

    • Other parameters MUST be set up as specified in section 3.1.4.8.

  5. The common steps for the Read Directory event ensure that these steps are performed only if the attribute-filter expression ([MS-MQDMPR] section 3.1.7.1.20) in iFilter is of the form "Identifier" EQUALS someGuid, and the S_DSGetPropsGuid method MUST be called with the pGuid parameter set to point to a buffer that contains someGuid and the other given arguments.

  6. If the return value is MQDS_OBJECT_NOT_FOUND, rStatus MUST be set to DirectoryOperationResult.ObjectNotFound, rDirectoryObject is undefined, and processing MUST end.

  7. If the return value is not MQ_OK, rStatus MUST be set to DirectoryOperationResult.GenericError, rDirectoryObject is undefined, and processing MUST end.

  8. A Site ADM element instance MUST be created. rDirectoryObject MUST be set to this new Site ADM element instance. The attributes listed in iAttributeList MUST be computed according to the preceding table and MUST be set on rDirectoryObject.

  9. rStatus MUST be set to DirectoryOperationResult.Success. Processing MUST end.