3.1.6.11.2 Queue

  1. A Queue ADM element instance MUST be created, and rDirectoryObject MUST be set to this new Queue ADM element instance.

  2. The attributes listed in the iADMAttributeList argument MUST be set on rDirectoryObject, using the attribute names in the iLDAPAttributeList argument and the corresponding values in the iValues argument, according to the following table. If the value of the LDAP attribute required to compute the Queue ADM element attribute is empty in the iValues argument, depending on the attribute, either that is an error condition, or a default value MUST be used. If an error condition occurs, rStatus MUST be set to DirectoryOperationResult.GenericError, rDirectoryObject is undefined, and processing MUST end.

    Queue attribute

    Attribute value computation

    If not set, default value or error?

    Identifier

    GUID copied from objectGUID ([MS-ADA3] section 2.44).

    Error.

    Label

    Unicode string transformed from mSMQLabelEx ([MS-ADA2] section 2.550).

    Default value: empty Unicode string.

    CreateTime

    Integer time value expressed as the number of seconds elapsed from midnight (00:00:00), January 1, 1970 UTC to whenCreated ([MS-ADA3] section 2.371).

    Error.

    ModifyTime

    Integer time value expressed as the number of seconds elapsed from midnight (00:00:00), January 1, 1970 UTC to whenChanged ([MS-ADA3] section 2.370).

    Error.

    Type

    GUID copied from mSMQQueueType ([MS-ADA2] section 2.565).

    Default value: a GUID with all fields set to zero.

    Pathname

    Computed from distinguishedName ([MS-ADA1] section 2.177) and mSMQQueueNameExt ([MS-ADA2] section 2.563); see section 3.1.6.11.2.1.

    See section 3.1.6.11.2.1.

    QualifiedPathName

    Set in a following step. distinguishedName ([MS-ADA1] section 2.177) and mSMQQueueNameExt ([MS-ADA2] section 2.563) are required.

    N/A

    Journaling

    If mSMQJournal ([MS-ADA2] section 2.547) equals 1,

    Journaling is TRUE

    Else if mSMQJournal equals 0,

    Journaling is FALSE.

    Default value: FALSE.

    Quota

    Integer copied from mSMQQueueQuota ([MS-ADA2] section 2.564).

    Default value: 0xFFFFFFFF.

    JournalQuota

    Integer copied from mSMQQueueJournalQuota ([MS-ADA2] section 2.562).

    Default value: 0xFFFFFFFF.

    Authentication

    If mSMQAuthenticate ([MS-ADA2] section 2.530) equals 1,

    Authentication is TRUE

    Else if mSMQAuthenticate equals 0,

    Authentication is FALSE.

    Default value: FALSE.

    PrivacyLevel

    Computed from mSMQPrivacyLevel ([MS-ADA2] section 2.560); see section 3.1.6.11.2.3.

    Default value: enumeration value Optional.

    Transactional

    If mSMQTransactional ([MS-ADA2] section 2.583) equals 1,

    Transactional is TRUE

    Else if mSMQTransactional equals 0,

    Transactional is FALSE.

    Default value: FALSE.

    MulticastAddress

    Unicode string transformed from MSMQ-MulticastAddress ([MS-ADA2] section 2.527).

    Default value: empty Unicode string.

    Security

    Security descriptor copied from nTSecurityDescriptor ([MS-ADA3] section 2.37).

    Error

    BasePriority

    Integer copied from mSMQBasePriority ([MS-ADA2] section 2.531).

    Default value: zero.

    FullPath

    Distinguished name copied from distinguishedName ([MS-ADA1] section 2.177).

    Error

    DirectoryPath

    Unicode string computed from distinguishedName ([MS-ADA1] section 2.177) by transforming to Unicode and prepending the Unicode string "LDAP://".

    Error

  3. If the Queue ADM element attribute name QualifiedPathname does not appear in iADMAttributeList, rStatus MUST be set to DirectoryOperationResult.Success, and processing MUST end.

  4. A Get Object Properties Using LDAP (section 3.1.6.14) event MUST be generated with the following arguments:

    • iPath := a distinguished name of the form for a computer object as specified in section 2.2.1, created by removing the first two comma-separated elements of the value in the iValues argument for the mSMQQueue attribute distinguishedName.

    • iAttributes := a list of attribute names consisting of one element, "dNSHostName"

  5. If the Get Object Properties Using LDAP event returns an rStatus that is not DirectoryOperationResult.Success, rStatus MUST be set to the rStatus returned by the Get Object Properties Using LDAP event, and processing MUST end. If the value returned in rValues for the dNSHostName attribute is empty, rDirectoryObject.QualifiedPathname MUST be set to an empty string. Otherwise, let DNSname be a string initialized to the value returned in rValues for the computer attribute dNSHostName.

  6. rDirectoryObject.QualifiedPathname MUST be computed from the values in the iValues argument of the mSMQQueue attributes distinguishedName and mSMQQueueNameExt and the value of DNSname, as specified in section 3.1.6.11.2.2.

  7. rStatus MUST be set to DirectoryOperationResult.Success, and processing MUST end.