3.1.7.4 Get Destination Info

The Get Destination Info event MUST be generated with the following argument:

Return Values:

  • rStatus: A Boolean value indicating success.

  • rHostName: A string representing the name of the destination host.

  • rQueueManagerGuid: A GUID corresponding to the destination QueueManager.Identifier.

The server MUST perform the following actions to process this event, using the definitions of MSMQ queue format names in [MS-MQMQ] section 2.1:

  • If a direct format name ([MS-MQMQ] section 2.1.2) is specified, the protocol MUST perform the following steps:

    • Parse the queue format name and set rHostName equal to the ProtocolAddressSpecification component of the direct format name.

    • Set rQueueManagerGuid equal to all zero bytes.

  • If a public format name ([MS-MQMQ] section 2.1.3) or a connector format name ([MS-MQMQ] section 2.1.6) is specified, the protocol MUST perform the following steps:

    • Parse the queue format name and let PublicQueueGuid be a GUID that is initialized to the value of the QueueGuid component of the public format name.

    • Raise a Read Directory ([MS-MQDMPR] section 3.1.7.1.20) event with the following arguments:

      • iDirectoryObjectType: "Queue"

      • iFilter = "Identifier" EQUALS PublicQueueGuid

    • If the value in rStatus returned by the Read Directory event does not equal DirectoryOperationResult.Success, set the rStatus variable of this event equal to FALSE, and take no further action.

    • Set rHostName equal to the returned rDirectoryObject.QualifiedComputerName.

    • Set rQueueManagerGuid equal to the returned rDirectoryObject.Identifier.

  • If a private format name ([MS-MQMQ] section 2.1.4) is specified, the protocol MUST perform the following steps:

    • Set rHostName equal to an empty string.

    • Parse the queue format name and set rQueueManagerGuid equal to the ComputerGuid component of the direct format name.

  • Set the rStatus variable of this event to TRUE.