3.2.6.5.7 User

 The MQDS client MUST perform the following actions:

  1. Input arguments for the S_DSLookupNext method (section 3.1.4.18) MUST be computed:

    1. Handle MUST be the value of ReadIterator.Handle.

    2. Other arguments MUST be set up as described in section 3.1.4.18.

  2. The S_DSLookupNext method MUST be called. If the return value is not MQ_OK, processing MUST end. rStatus MUST be set to DirectoryOperationResult.GenericError and rDirectoryObject is undefined.

  3. If dwOutSize is 0, processing MUST end. rStatus MUST be set to DirectoryOperationResult.EndOfData and rDirectoryObject is undefined.

  4. A User data element MUST be created. rDirectoryObject MUST be set to this new User data element. The attributes listed in ReadIterator.AttributeList MUST be set on rDirectoryObject according to the following table. The property values required are in the PROPVARIANT array pointed to by pbBuffer and are in the same order as the property identifiers in ReadIterator.PropidList.

    User attribute

    Property identifier

    Attribute value computation

    SecurityIdentifier

    PROPID_U_SID ([MS-MQMQ] section 2.3.6.1)

    SID ([MS-DTYP] section 2.4.2) copied from property.

    Certificates

    PROPID_U_SIGN_CERT ([MS-MQMQ] section 2.3.6.4)

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

    CertificateDigestList

    PROPID_U_DIGEST

    List of GUIDs copied from property.

    Identifier

    PROPID_U_ID ([MS-MQMQ] section 2.3.6.6)

    GUID copied from property.

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