MQMarkMessageRejected
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 MQMarkMessageRejected function marks a message in a queue as rejected. It should be called only within the scope of a transaction.
HRESULT APIENTRY MQMarkMessageRejected (
QUEUEHANDLE hQueue,
ULONGLONG ullLookupId);
Parameters
hQueue
[in] The handle of the queue that contains the message to be rejected.
ullLookupId
[in] The identity of the message that needs to be rejected.
Return Value
The MQMarkMessageRejected function returns an HRESULT.
MQ_OK
Indicates success.
MQ_ERROR_TRANSACTION_ENLIST
MSMQ is unable to enlist in the specified transaction.
MQ_ERROR_TRANSACTION_USAGE
The MQMarkMessageRejected function is invoked as a part of a transaction, but the source or the target queue is not a transactional queue; or the MQMarkMessageRejected function is not invoked within the scope of a transaction.
MQ_ERROR_DTC_CONNECT
MSMQ is unable to connect to the Microsoft Distributed Transaction Coordinator (MS DTC).
MQ_ERROR_STALE_HANDLE
Either the source or target queue handle was obtained in a previous session of the MSMQ Queue Manager service.
MQ_ERROR_INSUFFICIENT_RESOURCES
Insufficient resources to complete the operation.
MQ_ERROR_SERVICE_NOT_AVAILABLE
MSMQ service is not available/running.
MQ_ERROR_MESSAGE_NOT_FOUND
MSMQ message was not found.
Remarks
When a message marked as rejected is received, a negative acknowledgement (Nack) with the message class MQMSG_CLASS_NACK_RECEIVE_REJECTED is generated (if a Nack is requested) when the transaction is committed.
Note
The MQMarkMessageRejected function should be called only within the scope of a transaction; otherwise, the call will fail.
Requirements
Windows NT/2000/XP/Vista: Requires Windows Vista or later.
Windows 95/98/Me: Not supported.
Header: Declared in Mq.h.
Library: Use Mqrt.lib.