Message Queuing Messages


Updated: July 19, 2016

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

Messages are units of information that are sent to and retrieved from destination queues distributed on various computers. Message Queuing uses destination queues to store messages so that the application sending the messages and the application retrieving the message do not have to be running at the same time.

Logically speaking, a message can be considered an object that has a set of properties and contents. The properties specify how Message Queuing delivers the message, and the contents are processed by the receiving application. Physically speaking, a message can be considered a packet of data conforming to a specific protocol that contains information in well defined fields.

The information within the message is stored in different message properties. For example, even the contents of the message (as described above) are stored in the body property of the message. Other message properties include the message identifier (set by Message Queuing), the message label (provided by the sending application, and many more.

Messages can have no more than 4 MB of data. This restriction is due to the memory mapped files used by Message Queuing to store the message data. These memory-mapped files are stored in the MSMQ\Storage folder on the computer where the queue resides.

Message Queuing provides a message identifier for every message that is sent, including both messages sent by the sending application and system-generated messages sent by Message Queuing. For the most part, each message identifier is unique and can be used to identify the message. However, when a message is sent to multiple destinations using distribution lists or multiple-element format names (distribution lists and multiple-element format names are introduced in MSMQ 3.0), each copy of the message has the same message identifier. In this case, the application reading the message must look at both the message identifier and the destination of the message to identify the message.

For information onSee
Sending messages express or making them recoverableExpress and Recoverable Messaging
Sending a single message to multiple queuesMultiple-Destination Messaging
Sending and retrieving messages within a transaction or without transactionsTransactional and Nontransactional Messaging
Sending messages directly to their destination queueDirect Messaging
Sending HTTP formatted messages over the InternetInternet Messaging
Messages that can be sent over HTTPHTTP Messages
Sending and retrieving information in the message bodyMessage Body Types
Acknowledgment and response messagesMessage Confirmation
Options when sending messagesSending Messages
Retrieving and peeking at messages in a queue and requesting that copies be placed in the queue journalReading Messages
Setting the expiration time of a messageMessage Timers
Tracking how messages reach the destination queueTracing Messages