3.17.4.1 IMSMQMessage4 Interface

The IMSMQMessage4 interface provides methods for sending messages to queue(s). The version for this interface is 1.0.

There are three previous versions of this interface: IMSMQMessage, IMSMQMessage2, and IMSMQMessage3. These previous versions are nearly identical, with somewhat fewer methods. All differences from previous versions are described in Windows Behavior notes in the method descriptions that follow.

To receive incoming remote calls for this interface, the server MUST implement a DCOM object class with the CLSID {d7d6e075-dccd-11d0-aa4b-0060970debae} (coclass MSMQMessage as specified in section 1.9), which implements the IMSMQMessage4 interface by using the UUID {eba96b23-2168-11d3-898c-00e02c074f6b}.

The following opnum table begins at opnum 7. Opnums 0 through 2 are inherited from the IUnknown interface as specified in [MS-DCOM] section 3.1.1.5.8. Opnums 3 through 6 are inherited from the IDispatch interface as specified in [MS-OAUT] section 3.1.4.

Methods in RPC Opnum Order

Method

Description

Class, get Class

Returns the message type.

Opnum: 7

PrivLevel, get PrivLevel

Returns the privacy level of the message.

Opnum: 8

PrivLevel, put PrivLevel

Sets the privacy level of the message.

Opnum: 9

AuthLevel, get AuthLevel

Returns the authentication level of the message.

Opnum: 10

AuthLevel, put AuthLevel

Sets the authentication level of the message.

Opnum: 11

IsAuthenticated, get IsAuthenticated

Returns a Boolean indicating whether the message was authenticated at the request of the sending application.

Opnum: 12

Delivery, get Delivery

Returns the message delivery guarantee.

Opnum: 13

Delivery, put Delivery

Sets the message delivery guarantee.

Opnum: 14

Trace, get Trace

Returns an MQMSGTRACE enum indicating whether the message tracing feature is enabled for the message.

Opnum: 15

Trace, put Trace

Sets the requested level of tracing.

Opnum: 16

Priority, get Priority

Returns the message priority.

Opnum: 17

Priority, put Priority

Sets the message priority.

Opnum: 18

Journal, get Journal

Returns the requested journaling setting.

Opnum: 19

Journal, put Journal

Sets the requested journaling setting.

Opnum: 20

ResponseQueueInfo_v1

Returns an MSMQQueueInfo object that represents the Queue that will receive response messages from the receiving application.

Opnum: 21

ResponseQueueInfo_v1, putref ResponseQueueInfo_v1

Sets the queue that will receive response messages from the receiving application. The client MUST pass an MSMQQueueInfo object that represents the Queue.

Opnum: 22

AppSpecific, get AppSpecific

Returns an application-specific value.

Opnum: 23

AppSpecific, put AppSpecific

Sets an application-specific value.

Opnum: 24

SourceMachineGuid, get SourceMachineGuid

Returns the GUID identifier of the source computer that sent the message.

Opnum: 25

BodyLength, get BodyLength

Returns the length of the message body.

Opnum: 26

Body, get Body

Returns the body of the message.

Opnum: 27

Body, put Body

Sets the body of the message.

Opnum: 28

AdminQueueInfo_v1

Returns the Queue that will receive system generated acknowledgment and error messages.

Opnum: 29

AdminQueueInfo_v1, putref AdminQueueInfo_v1

Sets the Queue that will receive system-generated acknowledgment and error messages.

Opnum: 30

Id, get Id

Returns the unique system-generated message identifier.

Opnum: 31

CorrelationId, get CorrelationId

Returns the application-specific correlation identifier.

Opnum: 32

CorrelationId, put CorrelationId

Sets the application-specific correlation identifier.

Opnum: 33

Ack, get Ack

Returns the type of acknowledgment message that will be posted for the message.

Opnum: 34

Ack, put Ack

Sets the type of acknowledgment message that will be posted for the message.

Opnum: 35

Label, get Label

Returns the application-specific description of the message.

Opnum: 36

Label, put Label

Sets the application-specific description of the message.

Opnum: 37

MaxTimeToReachQueue, get MaxTimeToReachQueue

Returns the maximum number of seconds for the message to reach the queue.

Opnum: 38

MaxTimeToReachQueue, put MaxTimeToReachQueue

Sets the maximum number of seconds for the message to reach the queue.

Opnum: 39

MaxTimeToReceive, get MaxTimeToReceive

Returns the maximum number of seconds for the message to be received from the queue.

Opnum: 40

MaxTimeToReceive, put MaxTimeToReceive

Sets the maximum number of seconds for the message to be received from the queue.

Opnum: 41

HashAlgorithm, get HashAlgorithm

Returns the hashing algorithm used when authenticating the message.

Opnum: 42

HashAlgorithm, put HashAlgorithm

Sets the hashing algorithm used when authenticating the message.

Opnum: 43

EncryptAlgorithm, get EncryptionAlgorithm

Returns the encryption algorithm used to encrypt the body of a message when encryption is requested.

Opnum: 44

EncryptAlgorithm, put EncryptionAlgorithm

Sets the encryption algorithm used to encrypt the body of a message when encryption is requested.

Opnum: 45

SentTime, get SentTime

Returns the UTC time that the message was sent.

Opnum: 46

ArrivedTime, get ArrivedTime

Returns the UTC time that the message arrived in the Queue.

Opnum: 47

DestinationQueueInfo, get DestinationQueueInfo

Returns the Queue to which the message is addressed.<100>

Opnum: 48

SenderCertificate, get SenderCertificate

Returns the user certificate that is used to authenticate the message.

Opnum: 49

SenderCertificate, put SenderCertificate

Sets the user certificate that is used to authenticate the message.

Opnum: 50

SenderId, get SenderId

Returns the identifier of the sending user.

Opnum: 51

SenderIdType, get SenderType

Returns the type of sender identifier used.

Opnum: 52

SenderIdType, put SenderIdType

Sets the type of sender identifier used.

Opnum: 53

Send

Sends the message.

Opnum: 54

AttachCurrentSecurityContext

Stores a cached copy of all the information required to attach a certificate to a message for authentication. If the values are not specified, it will query the directory for the values.

Opnum: 55

SenderVersion, get SenderVersion

Returns the version of transfer used to send the message.<101>

Opnum: 56

Extension, get Extension

Returns application-specific information that is associated with the message.<102>

Opnum: 57

Extension, put Extension

Sets application-specific information that is associated with the message.<103>

Opnum: 58

ConnectorTypeGuid, get ConnectorTypeGuid

Returns an application-specific GUID that is used to identify the connector application.<104>

Opnum: 59

ConnectorTypeGuid, put ConnectorTypeGuid

Sets an application-specific GUID that is used to identify the connector application.<105>

Opnum: 60

TransactionStatusQueueInfo, get TransactionStatusQueueInfo

Returns the Queue to which connector applications will send acknowledgment messages when sending to a foreign transactional queue.<106><107>

Opnum: 61

DestinationSymmetricKey, get DestinationSymetricKey

Returns the symmetric key used to encrypt the message.<108>

Opnum: 62

DestinationSymmetricKey, put DestinationSymmetricKey

Sets the symmetric key used to encrypt the message.<109>

Opnum: 63

Signature, get Signature

Returns the digital signature that is attached to the message.<110>

Opnum: 64

Signature, put Signature

Sets the digital signature that is attached to the message.<111>

Opnum: 65

AuthenticationProviderType, get AuthenticationProviderType

Returns the type of cryptographic provider used to generate the digital signature that is attached to the message.<112>

Opnum: 66

AuthenticationProviderType, put AuthenticationProviderType

Sets the type of cryptographic provider used to generate the digital signature that is attached to the message.<113>

Opnum: 67

AuthenticationProviderName, get AuthenticationProviderName

Returns the name of the cryptographic provider used to generate the digital signature that is attached to the message.<114>

Opnum: 68

AuthenticationProviderName, put AuthenticationProviderName

Sets the name of the cryptographic provider used to generate the digital signature that is attached to the message.<115>

Opnum: 69

SenderId, put SenderId

Sets the identifier of the sending user.<116>

Opnum: 70

MsgClass, get MsgClass

Returns the message type.<117>

Opnum: 71

MsgClass, put MsgClass

Sets the message type.<118>

Opnum: 72

Properties, get Properties

This method is not implemented.<119>

Opnum: 73

TransactionId, get TransactionId

Returns the identifier of the transaction within the scope of which this message was sent.<120>

Opnum: 74

IsFirstInTransaction, get IsFirstInTransaction

Returns an indicator of whether the message was the first message sent in the transaction.<121>

Opnum: 75

IsLastInTransaction, get IsLastInTransaction

Returns an indicator of whether the message was the last message sent in the transaction.<122>

Opnum: 76

ResponseQueueInfo_v2

Returns the Queue that will receive response messages from the receiving application.<123>

Opnum: 77

ResponseQueueInfo_v2

Sets the Queue that will receive response messages from the receiving application.<124>

Opnum: 78

AdminQueueInfo_v2

Returns the Queue that will receive system-generated acknowledgment messages.<125>

Opnum: 79

AdminQueueInfo_v2

Sets the Queue that will receive system-generated acknowledgment messages.<126>

Opnum: 80

ReceivedAuthenticationLevel, get ReceivedAuthenticationLevel

Returns an indicator specifying if the message was authenticated and what digital signature was used.<127>

Opnum: 81

ResponseQueueInfo, get ResponseQueueInfo

Returns the Queue that will receive response messages from the receiving application.<128><129>

Opnum: 82

ResponseQueueInfo, putref ResponseQueueInfo

Sets the Queue that will receive response messages from the receiving application.<130><131>

Opnum: 83

AdminQueueInfo, get AdminQueueInfo

Returns the Queue that will receive message queuing generated acknowledgment messages.<132><133>

Opnum: 84

AdminQueueInfo, putref AdminQueueInfo

Sets the Queue that will receive message queuing generated acknowledgment messages.<134><135>

Opnum: 85

ResponseDestination, get ResponseDestination

Returns the destination that represents 0 or more Queues that will receive response messages from the receiving application.<136>

Opnum: 86

ResponseDestination, putref ResponseDestination

Sets the destination that represents 0 or more Queues that will receive response messages from the receiving application.<137>

Opnum: 87

Destination, get Destination

Returns the destination that represents 0 or more Queues that the Message will be sent to.<138>

Opnum: 88

LookupId, get LookupId

Returns the lookup identifier for the message.<139>

Opnum: 89

IsAuthenticated2, get IsAuthenticated2

Returns whether the message was authenticated at the request of the sending application.<140>

Opnum: 90

IsFirstInTransaction2, get IsFirstInTransaction2

Returns an indicator of whether the message was the first message sent in the transaction.<141>

Opnum: 91

IsLastInTransaction2, get IsLastInTransaction2

Returns an indicator of whether the message was the last message sent in the transaction.<142>

Opnum: 92

AttachCurrentSecurityContext2

Stores a cached copy of all the information required to attach a certificate to a message for authentication. If the values are not specified, it will query the Directory for the values.<143>

Opnum: 93

SoapEnvelope, get SoapEnvelope

Returns the SOAP envelope attached to an SRMP message.<144>

Opnum: 94

CompoundMessage, get CompoundMessage

Returns the entire SRMP message, including the SOAP envelope and SOAP attachments.<145>

Opnum: 95

SoapHeader, put SoapHeader

Sets additional application-specific header elements for inclusion in the SOAP envelope of an SRMP message.<146>

Opnum: 96

SoapBody, put SoapBody

Sets additional application-specific body elements for inclusion in the SOAP envelope of an SRMP message.<147>

Opnum: 97