2.2.2.9 MQMSGCLASS
The MQMSGCLASS enumeration defines values that indicate the classification of a Message. A Message can originate from a client of this protocol, or it can be generated by the operations that pertain to the message transfer process. The values defined for this enumeration indicate the reason that the Message was generated.
-
typedef enum { MQMSG_CLASS_NORMAL = 0x0, MQMSG_CLASS_REPORT = 0x1, MQMSG_CLASS_ACK_REACH_QUEUE = 0x2, MQMSG_CLASS_ACK_RECEIVE = 0x4000, MQMSG_CLASS_NACK_BAD_DST_Q = 0x8000, MQMSG_CLASS_NACK_PURGED = 0x8001, MQMSG_CLASS_NACK_REACH_QUEUE_TIMEOUT = 0x8002, MQMSG_CLASS_NACK_Q_EXCEED_QUOTA = 0x8003, MQMSG_CLASS_NACK_ACCESS_DENIED = 0x8004, MQMSG_CLASS_NACK_HOP_COUNT_EXCEEDED = 0x8005, MQMSG_CLASS_NACK_BAD_SIGNATURE = 0x8006, MQMSG_CLASS_NACK_BAD_ENCRYPTION = 0x8007, MQMSG_CLASS_NACK_COULD_NOT_ENCRYPT = 0x8008, MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_Q = 0x8009, MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_MSG = 0x800a, MQMSG_CLASS_NACK_UNSUPPORTED_CRYPTO_PROVIDER = 0x800b, MQMSG_CLASS_NACK_SOURCE_COMPUTER_GUID_CHANGED = 0x800c, MQMSG_CLASS_NACK_Q_DELETED = 0xc000, MQMSG_CLASS_NACK_Q_PURGED = 0xc001, MQMSG_CLASS_NACK_RECEIVE_TIMEOUT = 0xc002, MQMSG_CLASS_NACK_RECEIVE_TIMEOUT_AT_SENDER = 0xc003 } MQMSGCLASS;
MQMSG_CLASS_NORMAL: The message originated from a client of this protocol via a call to MSMQMessage4::Send.
MQMSG_CLASS_REPORT: The message was generated by the route tracing feature of the message transfer process. Messages of type MQMSG_CLASS_REPORT are generated while Messages for which TracingRequested is True arrive at Queues along the route to the final destination.
MQMSG_CLASS_ACK_REACH_QUEUE: The message was generated as a result of a Message successfully arriving at its destination ApplicationQueue.
MQMSG_CLASS_ACK_RECEIVE: The message was generated when a Message was successfully retrieved by a client of this protocol.
MQMSG_CLASS_NACK_BAD_DST_Q: The message was generated to indicate that delivery of the Message was canceled because the destination ApplicationQueue was unreachable.
MQMSG_CLASS_NACK_PURGED: The message was generated to indicate that the Message was deleted prior to arriving at the destination ApplicationQueue.
MQMSG_CLASS_NACK_REACH_QUEUE_TIMEOUT: The message was generated to indicate that the Message.TimeToReachQueue timer expired before the Message arrived at the destination ApplicationQueue.
MQMSG_CLASS_NACK_Q_EXCEED_QUOTA: The message was generated to indicate that the Message was not inserted into the destination ApplicationQueue because doing so would exceed the Quota.
MQMSG_CLASS_NACK_ACCESS_DENIED: The message was generated to indicate that the Message was not inserted into the destination ApplicationQueue because the user identified by Message.SenderIdentifier did not have sufficient rights to insert the Message.
MQMSG_CLASS_NACK_HOP_COUNT_EXCEEDED: The message was generated to indicate that delivery of the Message was canceled because it exceeded the maximum number of allowed routing hops.<1>
MQMSG_CLASS_NACK_BAD_SIGNATURE: The message was generated to indicate that the Message was not inserted into the destination ApplicationQueue because the digital signature accompanying the Message was not successfully validated.
MQMSG_CLASS_NACK_BAD_ENCRYPTION: The message was generated to indicate that the Message was not inserted into the destination ApplicationQueue because the Message could not be decrypted successfully.
MQMSG_CLASS_NACK_COULD_NOT_ENCRYPT: The message was generated to indicate that the Message was canceled prior to delivery because the Message could not be successfully encrypted.
MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_Q: The message was generated to indicate that the Message was not inserted into the destination ApplicationQueue because the Message was sent as part of a transaction but the destination ApplicationQueue.Transactional property equals False.
MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_MSG: The message was generated to indicate that the Message was not inserted into the destination ApplicationQueue because the Message was not sent as part of a transaction but the destination ApplicationQueue.Transactional property equals True.
MQMSG_CLASS_NACK_UNSUPPORTED_CRYPTO_PROVIDER: The message was generated to indicate that the Message was not inserted into the destination ApplicationQueue because the destination QueueManager does not support a cryptography library sufficient to decrypt the Message or validate its signature.
MQMSG_CLASS_NACK_SOURCE_COMPUTER_GUID_CHANGED: The message was generated to indicate that delivery of the Message was canceled because the Identifier property of the QueueManager that originated the Message changed.<2>
MQMSG_CLASS_NACK_Q_DELETED: The message was generated to indicate that the destination ApplicationQueue was deleted before the Message was received by a client of this protocol.
MQMSG_CLASS_NACK_Q_PURGED: The message was generated to indicate that the destination ApplicationQueue was purged before the Message was received by a client of this protocol.
MQMSG_CLASS_NACK_RECEIVE_TIMEOUT: The message was generated to indicate that the Message.TimeToBeReceived timer expired before the Message was received from the destination ApplicationQueue by a client of this protocol.
MQMSG_CLASS_NACK_RECEIVE_TIMEOUT_AT_SENDER: The message was generated to indicate that the Message.TimeToBeReceived timer expired before the Message was inserted into the destination ApplicationQueue.
Used by:
The MQMSGCLASS enumeration values map to the enumeration values for Message.Class as shown in the following table:
MQMSGCLASS enumeration constants |
Message.Class |
Constant Values |
---|---|---|
MQMSG_CLASS_NORMAL |
Normal |
0x0000 |
MQMSG_CLASS_REPORT |
Report |
0x0001 |
MQMSG_CLASS_ACK_REACH_QUEUE |
AckReachQueue |
0x0002 |
MQMSG_CLASS_ACK_RECEIVE |
AckReceive |
0x4000 |
MQMSG_CLASS_NACK_BAD_DST_Q |
NackBadDestQueue |
0x8000 |
MQMSG_CLASS_NACK_DELETED |
NackPurged |
0x8001 |
MQMSG_CLASS_NACK_REACH_QUEUE_TIMEOUT |
NackReachQueueTimeout |
0x8002 |
MQMSG_CLASS_NACK_Q_EXCEED_QUOTA |
NackQueueExceedQuota |
0x8003 |
MQMSG_CLASS_NACK_ACCESS_DENIED |
NackAccessDenied |
0x8004 |
MQMSG_CLASS_NACK_HOP_COUNT_EXCEEDED |
NackHopCountExceeded |
0x8005 |
MQMSG_CLASS_NACK_BAD_SIGNATURE |
NackBadSignature |
0x8006 |
MQMSG_CLASS_NACK_BAD_ENCRYPTION |
NackBadEncryption |
0x8007 |
MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_Q |
NackNotTransactionalQueue |
0x8009 |
MQMSG_CLASS_NACK_NOT_TRANSACTIONAL_MSG |
NackNotTransactionalMessage |
0x800A |
MQMSG_CLASS_NACK_UNSUPPORTED_CRYPTO_PROVIDER |
NackUnsupportedCryptoProvider |
0x800B |
MQMSG_CLASS_NACK_SOURCE_COMPUTER_GUID_CHANGED |
NackSourceComputerGuidChanged |
0x800C |
MQMSG_CLASS_NACK_Q_DELETED |
NackQueueDeleted |
0xC000 |
MQMSG_CLASS_NACK_Q_PURGED |
NackQueuePurged |
0xC001 |
MQMSG_CLASS_NACK_RECEIVE_TIMEOUT |
NackReceiveTimeout |
0xC002 |