PROPID_M_SENDERID_TYPE

 

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 PROPID_M_SENDERID_TYPE property specifies the type of sender identifier found in PROPID_M_SENDERID. It can also be used to tell Message Queuing to not attach the sender identifier to a message when the message is sent.

Property ID

PROPID_M_SENDERID_TYPE

Type Indicator

VT_UI4

MQPROPVARIANT Field

ulVal

Property Value

This property can have one of the following values:

MQMSG_SENDERID_TYPE_SID

The default. PROPID_M_SENDERID contains the security identifier (SID) of the user sending the message.

MQMSG_SENDERID_TYPE_NONE

No identifier is attached to the message.

Remarks

To specify the type of sender identifier you want to send with the message, set PROPID_M_SENDERID_TYPE in the MQMSGPROPS structure and call MQSendMessage.

The sending application can tell Message Queuing not to authenticate who sent a message by specifying MQMSG_SENDERID_TYPE_NONE when it sends the message. This setting tells Message Queuing to not attach the SID to PROPID_M_SENDERID. However, if the sender identifier is not sent with the message, the destination queue must be able to accept messages from everyone.

To find out what type of sender identifier was sent with the message, include PROPID_M_SENDERID_TYPE in the MQMSGPROPS structure. Then call MQReceiveMessage or MQReceiveMessageByLookupId and examine the returned value. When retrieving this property, the type indicator can be set to VT_UI4 or VT_NULL. If you set the type indicator to VT_NULL, Message Queuing automatically changes the type indicator to VT_UI4 during the function call.

A SID of a local user (a user not logged on to a Windows® 2000 or Windows Server 2003 domain) is valid only locally. Even if a local user specifies a SID, it is not sent with the message.

Equivalent COM Property

With COM components, the equivalent property for setting and retrieving the sender identifier type is MSMQMessage.SenderIdType.

Example Code

The following code fragment shows how PROPID_M_SENDERID_TYPE is specified in arrays that can be used to initialize an MQMSGPROPS structure.

aMsgPropId[i] = PROPID_M_SENDERID_TYPE;           // Property ID  
aMsgPropVar[i].vt = VT_UI4;                       // Type indicator  
aMsgPropVar[i].ulVal = MQMSG_SENDERID_TYPE_NONE;  // No SID attached  
i++;  

The following example is included in Using Message Queuing.

For an example of See
Retrieving the sender identifier from authenticated messages C/C++ Code Example: Validating Authentication

See Also

Message Properties
MQMSGPROPS
MQReceiveMessage
MQReceiveMessageByLookupId
MQSendMessage
PROPID_M_SENDERID
PROPID_M_SENDERID_LEN