3.1.7.4 Get Destination Info
The Get Destination Info event MUST be generated with the following argument:
iFormatName: A queue format name as specified in [MS-MQMQ] section 2.1.
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.