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.