3.11.4.1 IMSMQQueue4 Interface

The IMSMQQueue4 interface provides methods that provide interaction with a queue on a given server. The version number for this interface is 1.0.

There are three previous versions of this interface: IMSMQQueue, IMSMQQueue2, and IMSMQQueue3. These previous versions are nearly identical but have 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 {d7d6e079-dccd-11d0-aa4b-0060970debae} (coclass MSMQQueue, as specified in section 1.9), which implements the IMSMQQueue4 interface using the UUID {eba96b20-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

Access, get Access

Returns the access mode in which the queue was opened.

Opnum: 7

ShareMode, get SharedMode

Returns the share mode in which the queue was opened.

Opnum: 8

QueueInfo, get QueueInfo

Returns an MSMQQueueInfo object that contains the initial settings that were used to open the queue.<47>

Opnum: 9

Handle, get Handle

Returns the open queue's handle.

Opnum: 10

IsOpen, get IsOpen

Returns a value indicating whether the queue is open.

Opnum: 11

Close

Closes the open queue.

Opnum: 12

Receive_v1

Retrieves the message at the head of the queue and removes it from the queue.

Opnum: 13

Peek_v1

Retrieves the message at the head of the queue without removing it.

Opnum: 14

EnableNotification

Starts event notification for asynchronously reading messages in the queue.

Opnum: 15

Reset

Resets the cursor position to the head of the queue.

Opnum: 16

ReceiveCurrent_v1

Retrieves the message at the current cursor position and removes it from the queue.

Opnum: 17

PeekNext_v1

Advances the cursor to the next message in the queue and retrieves it without removing it.

Opnum: 18

PeekCurrent_v1

Retrieves the message at the current cursor position without removing it.

Opnum: 19

Receive

Retrieves the message at the head of the queue and removes it from the queue.<48><49>

Opnum: 20

Peek

Retrieves the message at the head of the queue without removing it.<50><51>

Opnum: 21

ReceiveCurrent

Retrieves the message at the current cursor position and removes it from the queue.<52><53>

Opnum: 22

PeekNext

Advances the cursor to the next message in the queue and retrieves it without removing it.<54>

Opnum: 23

PeekCurrent

Retrieves the message at the current cursor position without removing it.<55><56>

Opnum: 24

Properties, get Properties

This method is not implemented.<57>

Opnum: 25

Handle2, get Handle

Returns the handle of the open queue.<58>

Opnum: 26

ReceiveByLookupId

Retrieves the message with a lookup identifier that is equal to the specified lookup ID and removes it from the queue.<59><60>

Opnum: 27

ReceiveNextByLookupId

Retrieves the message that follows a message with a lookup identifier equal to the specified lookup ID and removes it from the queue.<61><62>

Opnum: 28

ReceivePreviousByLookupId

Retrieves the message that precedes a message with a lookup identifier equal to the specified lookup ID and removes it from the queue.<63><64>

Opnum: 29

ReceiveFirstByLookupId

Retrieves the message at the head of the queue and removes it from the queue.<65><66>

Opnum: 30

ReceiveLastByLookupId

Retrieves the message at the tail of the queue and removes it from the queue.<67><68>

Opnum: 31

PeekByLookupId

Retrieves the message with a lookup identifier that equals the specified lookup ID without removing it.<69><70>

Opnum: 32

PeekNextByLookupId

Retrieves the message that follows a message with a lookup identifier that equals the specified lookup ID without removing it.<71><72>

Opnum: 33

PeekPreviousByLookupId

Retrieves the message that precedes a message with a lookup identifier that equals the specified lookup ID without removing it.<73><74>

Opnum: 34

PeekFirstByLookupId

Retrieves the message at the head of the queue without removing it.<75><76>

Opnum: 35

PeekLastByLookupId

Retrieves the message at the tail of the queue without removing it.<77><78>

Opnum: 36

Purge

Deletes all the messages in the queue.<79>

Opnum: 37

IsOpen2, get IsOpen2

Returns a value indicating whether the queue is open.<80>

Opnum: 38

ReceiveByLookupIdAllowPeek

Retrieves the message with a lookup identifier that equals the specified lookup ID and removes it from the queue.<81>

Opnum: 39