Multiple Destinations: Distribution Lists

 

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

Distribution lists are public lists of destinations that are stored in Active Directory Domain Services (AD DS). Distribution lists can contain references to public queues, queue aliases, and other distribution lists. Distribution lists are created and maintained programmatically using the methods of the IADsGroup interface or manually in Active Directory Users and Computers.

Distribution lists are designed to extend the features of the one-to-one messaging paradigm to one-to-many messaging. In particular, distribution lists support Message Queuing features in the following areas:

  • Transactions. When applications send messages to distribution lists within a transaction, the source queue manager either commits or fails all the sending operations. Messages sent from the same computer to the same distribution list in multiple transactions are delivered exactly once and in order. However, transactional messages sent to the same destination queue using different distribution lists are not necessarily delivered in order. For each delivery failure, a copy of the message specifying the particular destination where the failure occurred and the reason for the failure is placed in the transactional dead-letter queue on the source computer.

  • Security. Applications can request authentication by Message Queuing for messages sent to distribution lists. However, applications cannot send Message Queuing-encrypted or application-encrypted messages to distribution lists.

You can send transactional messages to either a distribution list or a multiple-element format name. However, MQSendMessage will return MQ_ERROR_INVALID_PARAMETER if you try to do so with a PROPID_M_JOURNAL property of MQMSG_DEADLETTER (that is, with negative source journaling enabled). To correct this, either send the message to a single queue at a time, or disable negative source journaling.

A set of response queues can be specified in a message sent to a distribution list by setting the PROPID_M_RESP_FORMAT_NAME or MSMQMessage.ResponseDestination property to a distribution list format name.

Before sending a message to a distribution list, an application calls MQOpenQueue to open the set of destination queues with send access using a distribution list format name or sets the MSMQQueueInfo.ADsPath property of an MSMQDestination object using the MSMQDestination.ADsPath path of a distribution list.

When applications send messages to a distribution list, Message Queuing attaches the format name that specifies the distribution list in the PROPID_M_DEST_FORMAT_NAME or MSMQMessage.Destination property and the destination queue of the particular copy in the PROPID_M_DEST_QUEUE or MSMQMessage.DestinationQueueInfo property.

When authentication is requested, messages sent to a distribution list are signed using a multiple-destination digital signature. For more information on the digital signatures used by Message Queuing, see Digital Signatures.

For information on the format name used to send messages using distribution lists, see Distribution List Format Names.

See Also

Multiple-Destination Messaging