3.2.4.3 Peek a Message
The message queuing application MUST specify the QUEUE_CONTEXT_HANDLE_NOSERIALIZE (section 2.2.4.1) RPC context handle of the queue from which to be read, the time-out parameter for the operation, a LookupId, a maximum message body size, and an action from the table in the description of the ulAction parameter of the R_StartReceive (Opnum 7) (section 3.1.4.7) method with action type of Peek.
The client MUST call the R_StartReceive method and MUST specify the following parameter values:
phContext set to a QUEUE_CONTEXT_HANDLE_NOSERIALIZE handle that has been returned by the server in the pphQueue output parameter of a prior call to the R_OpenQueue (Opnum 2) (section 3.1.4.2) method and that MUST NOT have been previously closed through a call to the R_CloseQueue (Opnum 3) (section 3.1.4.3) method. This value MUST NOT be NULL.
hCursor set to NULL.
LookupId set to the value specified by the message queuing application.
ulAction set to the action specified by the message queuing application.
ulTimeout set to the time-out value specified by the message queuing application.
dwMaxBodySize set to the value specified by the message queuing application.
A dwRequestId value that uniquely identifies this call from all other pending calls to this protocol.
The client MUST reconstruct the message from the SectionBuffers (section 2.2.6) structure received in the ppPacketSections parameter, as specified in section 3.1.4.7.
The client MUST return the message to the message queuing application.