Report messages are used to trace the path of the message to its target queue. Each report message has its own message identifier, a specific report message class, a message label, and a message body.
MSMQ generates the following report message class:
MQMSG_CLASS_REPORT, used for typical report messages. These report messages are sent to the source Queue Manager as soon as your message enters or exits a source, target, or intermediate queue along its route. MSMQ generates one report message when the message leaves the source Queue Manager, two report messages for each MSMQ server it enters and leaves, and one report message when your message reaches its destination Queue Manager.
The report message label contains a simplified version of the information in the body of the message. Although it can be used by any MSMQ application, it is primarily used for display purposes by the MSMQ Explorer. The format of the message label is one of the following:
gggg:dddd:hh sent from <computer> to <address> at <time>
gggg:dddd:hh received by <computer> at <time>
where "gggg" is the first four hexadecimal digits of the source queue identifier, "dddd" is an internal message identifier, and "hh" is the hop count. The internal message identifier is a 20-byte identifier consisting of the first 16 bytes of the original message's identifier plus a 4-byte sequence number.
The body of a report message contains detailed information about the original message. The format of the message body is:
<MESSAGE ID>{message ID}</MESSAGE ID>
<TARGET QUEUE>{target queue format name}</TARGET QUEUE>
<NEXT HOP>{IP or IPX address of the next hop}</NEXT HOP>
<HOP COUNT>integer</HOP COUNT>
For information on report queues, see Report Queues.