Acknowledgment Message Classes
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
Acknowledgment message classes can be divided into three groups: positive acknowledgments, negative arrival acknowledgments, and negative read acknowledgments. The system sets the class property of the acknowledgment message when it creates the acknowledgment message.
Positive Acknowledgment Classes
Indicates that the original message reached its destination queue.
Indicates that the original message was retrieved by the receiving application.
Negative Arrival Acknowledgment Classes
The following classes of negative acknowledgment messages are generated if the message fails to arrive at the destination queue.
Indicates that the access rights for placing messages in the destination queue are not allowed for the sender.
Indicates that the destination queue is not available to the sender.
Indicates that the destination queue manager could not decrypt a private message.
Indicates that Message Queuing could not authenticate the original message. The digital signature attached to the original message is not valid.
Indicates that the source queue manager could not encrypt a private message.
Indicates that the message hop count was exceeded. The maximum hop count is set by Message Queuing (hop count = 15) and cannot be changed.
Indicates that a nontransactional message was sent to a transactional queue.
Indicates that a transactional message was sent to a nontransactional queue.
Indicates that the message was purged before reaching the destination queue.
Indicates that the message was not delivered because the destination queue is full.
Indicates that the message did not reach the destination queue. It can be generated by either the time-to-reach-queue timer or time-to-be-received timer.
Indicates that the source computer joined a domain or moved to a new forest while the transactional message was waiting in an outgoing queue to be delivered to its destination. As a result, the source computer has a new msmq (MSMQ-Configuration) object with a new GUID, so the message was moved to the transactional dead-letter queue or discarded to prevent a possible duplicate message from reaching the destination queue.
Indicates that the destination queue manager does not have the enhanced (128-bit) cryptographic provider installed.
Negative Read Acknowledgment Classes
The following classes of negative acknowledgment messages are generated if the original message is not retrieved from the destination queue:
Indicates that the queue was deleted before the message could be read from the queue:
Indicates that the queue was purged and the message no longer exists.
Indicates that the message was not retrieved from the queue before its time-to-be-received timer expired.
For transactional messages only. The local queue manager has indicated that the original message was not removed from the queue before its time-to-be-received timer expired.
This class is an in-doubt negative acknowledgment. For example, the local queue manager will set this class when the time-to-be-received timer expires, even though a positive confirmation may be in route from the remote queue manager.
|For an example of||See|
|Sending messages that request acknowledgments||C/C++ Code Example: Requesting Acknowledgment Messages
Visual Basic Code Example: Requesting Acknowledgment Messages
|Verifying that acknowledgments were requested||C/C++ Code Example: Verifying Acknowledgment Requests
Visual Basic Code Example: Verifying Acknowledgment Requests
|Filtering acknowledgment messages based on acknowledgment class||C/C++ Code Example: Acknowledgment Class Filter
Visual Basic Code Example: Acknowledgment Class Filter