//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//------------------------------------------------------------------------------
using Experimental.System.Messaging.Interop;
namespace Experimental.System.Messaging
{
///
///
///
/// Specifies what went wrong (or right) during a Message
/// Queuing operation. This is the type of a property of an acknowledgement
/// message.
///
///
public enum Acknowledgment
{
///
///
///
/// The default value of the
/// property. This means the message is
/// not an acknowledgment message.
///
///
None = 0,
///
///
/// The sending application does not have access rights
/// to the destination queue.
///
AccessDenied = NativeMethods.MESSAGE_CLASS_ACCESS_DENIED,
///
///
/// The destination queue is not available to the sending
/// application.
///
BadDestinationQueue = NativeMethods.MESSAGE_CLASS_BAD_DESTINATION_QUEUE,
///
///
/// The destination Queue Manager could not decrypt a private
/// (encrypted) message.
///
BadEncryption = NativeMethods.MESSAGE_CLASS_BAD_ENCRYPTION,
///
///
/// MSMQ could not authenticate the original message. The original
/// message's digital signature is not valid.
///
BadSignature = NativeMethods.MESSAGE_CLASS_BAD_SIGNATURE,
///
///
/// The source Queue Manager could not encrypt a private message.
///
CouldNotEncrypt = NativeMethods.MESSAGE_CLASS_COULD_NOT_ENCRYPT,
///
///
/// The original message's hop count is exceeded.
///
HopCountExceeded = NativeMethods.MESSAGE_CLASS_HOP_COUNT_EXCEEDED,
///
///
/// A transaction message was sent to a non-transaction
/// queue.
///
NotTransactionalQueue = NativeMethods.MESSAGE_CLASS_NOT_TRANSACTIONAL_QUEUE,
///
///
/// A non-transaction message was sent to a transaction
/// queue.
///
NotTransactionalMessage = NativeMethods.MESSAGE_CLASS_NOT_TRANSACTIONAL_MESSAGE,
///
///
/// The message was purged before reaching the destination
/// queue.
///
Purged = NativeMethods.MESSAGE_CLASS_PURGED,
///
///
/// The queue was deleted before the message could be read
/// from the queue.
///
QueueDeleted = NativeMethods.MESSAGE_CLASS_QUEUE_DELETED,
///
///
/// The original message's destination queue is full.
///
QueueExceedMaximumSize = NativeMethods.MESSAGE_CLASS_QUEUE_EXCEED_QUOTA,
///
///
/// The queue was purged and the message no longer exists.
///
QueuePurged = NativeMethods.MESSAGE_CLASS_QUEUE_PURGED,
///
///
/// The original message reached its destination queue.
///
ReachQueue = NativeMethods.MESSAGE_CLASS_REACH_QUEUE,
///
///
/// Either the time-to-reach-queue or time-to-be-received timer
/// expired before the original message could reach the destination queue.
///
ReachQueueTimeout = NativeMethods.MESSAGE_CLASS_REACH_QUEUE_TIMEOUT,
///
///
/// The original message was not removed from the queue before
/// its time-to-be-received timer expired.
///
ReceiveTimeout = NativeMethods.MESSAGE_CLASS_RECEIVE_TIMEOUT,
///
///
/// The original message was retrieved by the receiving
/// application.
///
Receive = NativeMethods.MESSAGE_CLASS_RECEIVE,
}
}