PROPID_M_TRACE
Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista
The PROPID_M_TRACE property specifies whether Message Queuing traces the route of the message.
Property ID
PROPID_M_TRACE
Type Indicator
VT_UI1
MQPROPVARIANT Field
bVal
Property Value
This property can be set to one of the following values:
MQMSG_SEND_ROUTE_TO_REPORT_QUEUE
Tracing is requested. Each hop made by the original message generates a report message that is sent to a report queue.
MQMSG_TRACE_NONE
The default. Tracing is not requested.
Remarks
When tracing is enabled and a report queue is specified, report messages are created and sent to the report queue each time the message leaves or arrives at a Message Queuing computer. For example, report messages are generated at the following time.
When the message leaves the source computer one report message is generated.
When the message arrives at and leaves a routing server two report messages are generated.
When the message arrives the target computer where the destination queue resides one report message is generated.
Report queues are specified by the computer. If MQMSG_SEND_ROUTE_TO_REPORT_QUEUE is specified but the report queue is not specified, this property is ignored. For information on selecting report queues and what is contained in a report message, see Tracing Messages.
Note
Message Queuing does not support tracing under the following conditions.
When you send messages to multiple destinations using distribution lists, multicast addresses, and multiple-element format names.
When you send HTTP messages.
To set the tracing level of a message, specify PROPID_M_TRACE in the MQMSGPROPS structure and call MQSendMessage.
To retrieve the tracing level of a message, specify PROPID_M_TRACE in the MQMSGPROPS structure. Then call MQReceiveMessage or MQReceiveMessageByLookupId and examine the returned value. When retrieving this property, the type indicator can be set to VT_UI1 or VT_NULL. If you set the type indicator to VT_NULL, Message Queuing automatically changes the type indicator to VT_UI1 during the function call.
Equivalent COM Property
With COM components, the equivalent property is MSMQMessage.Trace.
Example Code
The following code fragment shows how to specify PROPID_M_TRACE in arrays that can be used to initialize an MQMSGPROPS structure to set and retrieve the tracing level.
To Set the Tracing Level
aMsgPropId[i] = PROPID_M_TRACE; // Property ID
aMsgPropVar[i].vt = VT_UI1; // Type indicator
aMsgPropVar[i].bVal = MQMSG_SEND_ROUTE_TO_REPORT_QUEUE; // Tracing level requested.
i++;
To Retrieve the Tracing Level
aMsgPropId[i] = PROPID_M_TRACE;
aMsgPropVar[i].vt = VT_NULL;
i++;
The following examples are included in Using Message Queuing.
For an example of | See |
---|---|
Sending messages that request tracing | C/C++ Code Example: Requesting Tracing |
Reading report messages in a report queue | C/C++ Code Example: Reading Report Messages |
See Also
Message Properties
MQMSGPROPS
MQReceiveMessage
MQReceiveMessageByLookupId