3.1.6.11.1 QueueManager

  1. A QueueManager ADM element instance MUST be created, and rDirectoryObject MUST be set to this new QueueManager 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 QueueManager ADM element attribute is empty in the iValues argument, depending on the attribute, either this condition is an error, or a default implementation-specific value SHOULD<10> be supplied. If an error condition occurs, rStatus MUST be set to DirectoryOperationResult.GenericError, rDirectoryObject is undefined, and processing MUST end.

    QueueManager ADM element attribute

    Attribute value computation

    If not set, default value or error?

    Identifier

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

    Error

    ComputerName

    Computed from distinguishedName ([MS-ADA1] section 2.177); see section 3.1.6.11.1.1.

    Error

    QueueManagerVersion

    Unicode string transformed from mSMQComputerTypeEx ([MS-ADA2] section 2.533).

    Empty string

    OperatingSystemType

    Computed from mSMQOSType ([MS-ADA2] section 2.556); see section 3.1.6.11.1.2.

    The enumeration value Unknown.

    QualifiedComputerName

    Set in a following step.

    N/A

    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

    QueueManagerQuota

    Integer copied from mSMQQuota ([MS-ADA2] section 2.566).

    0x00100000

    JournalQuota

    Integer copied from mSMQJournalQuota ([MS-ADA2] section 2.548).

    0xFFFFFFFF

    ForeignSystem

    If mSMQForeign ([MS-ADA2] section 2.543) equals 0x01,

    ForeignSystem is TRUE

    Else if mSMQForeign equals 0x00,

    ForeignSystem is FALSE.

    FALSE

    FullPath

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

    Error

    SiteIdentifierList

    List of GUIDs copied from mSMQSites ([MS-ADA2] section 2.582).

    Empty list

    OutRoutingServerIdentifierList

    Computed from mSMQOutRoutingServers ([MS-ADA2] section 2.557); see section 3.1.6.11.1.3.

    Empty list

    InRoutingServerIdentifierList

    Computed from mSMQInRoutingServers ([MS-ADA2] section 2.544); see section 3.1.6.11.1.4.

    Empty list

    RoutingServer

    If mSMQRoutingServices ([MS-ADA2] section 2.568) equals 0x01,

    RoutingServer is TRUE

    Else if mSMQRoutingServices equals 0x00,

    RoutingServer is FALSE.

    FALSE

    DirectoryServer

    If mSMQDsServices ([MS-ADA2] section 2.541) equals 0x01,

    DirectoryServer is TRUE

    Else if mSMQDsServices equals 0x00,

    DirectoryServer is FALSE.

    FALSE

    DirectoryServerType

    Computed from mSMQDsServices ([MS-ADA2] section 2.541) and mSMQServiceType ([MS-ADA2] section 2.570); see section 3.1.6.11.1.5.

     The enumeration value Standalone if DirectoryServer equals TRUE; undefined if DirectoryServer equals FALSE or is unpopulated.

    RemoteAccessServer

    If bit 0x00000010 of mSMQServiceType ([MS-ADA2] section 2.570) is set,

    RemoteAccessServer is TRUE

    Else if bit 0x00000010 of mSMQServiceType is not set,

    RemoteAccessServer is FALSE.

    FALSE

    SupportingServer

    If mSMQDependentClientServices ([MS-ADA2] section 2.537) equals 0x01,

    SupportingServer is TRUE

    Else if mSMQDependentClientServices equals 0x00,

    SupportingServer is FALSE.

    FALSE

    PublicEncryptionKeyList

    MQDSPUBLICKEYS structure ([MS-MQMQ] section 2.2.2) copied from mSMQEncryptKey ([MS-ADA2] section 2.542).

    Empty list

    PublicSigningKeyList

    Set in a following step.

    N/A

    Security

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

    Error

    Clustered

    Set in a following step.

    N/A

  3. If none of the QueueManager ADM element attribute names QualifiedComputerName, PublicSigningKeyList, OperatingSystemVersion, or Clustered appears in the iADMAttributeList argument, 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 comma-separated element of the value of rDirectoryObject.FullPath.

    • iAttributes := a list of attribute names. The following table lists the computer attributes required to compute the values of the QueueManager ADM element attributes QualifiedComputerName, PublicSigningKeyList, OperatingSystemVersion, and Clustered. For each QueueManager ADM element attribute that appears in ConfigurationAttributeList, the required computer attribute name MUST appear in the iAttributes argument.

      QueueManager ADM element attribute

      Required computer attribute

      Attribute value computation

      QualifiedComputerName

      dNSHostName ([MS-ADA1] section 2.185)

      Unicode string transformed from dNSHostName.

      PublicSigningKeyList

      mSMQSignCertificates ([MS-ADA2] section 2.571)

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

      OperatingSystemVersion

      operatingSystemVersion ([MS-ADA3] section 2.56)

      Unicode string transformed from operatingSystemVersion.

      Clustered

      servicePrincipalName ([MS-ADA3] section 2.253)

      See section 3.1.6.11.1.6.

  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, rDirectoryObject is undefined, and processing MUST end. If dNSHostName or servicePrincipalName is required, but the value returned in rValues for that attribute is empty, rStatus MUST be set to DirectoryOperationResult.GenericError, rDirectoryObject is undefined, and processing MUST end. If operatingSystemVersion is required but not set on the computer object, a default value MUST be supplied.<11>

  6. For each of the QueueManager ADM element attributes QualifiedComputerName, PublicSigningKeyList, and Clustered that appears in the iADMAttributeList argument, that attribute must be set on rDirectoryObject according to the computation rule specified in the table in step 4. If PublicSigningKeyList appears in ReadIterator.AttributeList, but mSMQSignCertificates is not set on the computer object, a default value MUST be supplied for the PublicSigningKeyList ADM attribute.<12>

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