3.1.7.1.17 Cancel Waiting Message Read Request

This event MUST be generated with the following arguments:

  • iQueue: A reference to the Queue (section 3.1.1.2) ADM element instance for which the read request is pending.

  • iTag: An identifier for the read request to be canceled.

  • iStatus: A status code that indicates the reason for cancellation.

Return Value:

  • rStatus: A status code that can be one of the following:

    • MQ_OK (0x00000000).

    • STATUS_NOT_FOUND (0xC0000225).

The queue manager MUST perform the following actions to process this event:

  • For each OpenQueueDescriptor (section 3.1.1.16) ADM element instance in iQueue.OpenQueueDescriptorCollection, referred to as queueDesc, do the following:

    • For each WaitingMessageReadOperation (section 3.1.1.10) ADM element instance, referred to as readOp, in queueDesc.WaitingMessageReadOperationCollection:

      • If readOp.Tag does not equal NULL and is equal to iTag

        • Remove the WaitingMessageReadOperation ADM element instance referenced by readOp from iQueue.WaitingMessageReadOperationCollection.

        • Generate the Waiting Message Read Timer Stop (section 3.1.7.3.5) event with the following arguments:

          • iReader := readOp

          • iStatus := iStatus

        • Set rStatus to MQ_OK (0x00000000), and take no further action.

  • Set rStatus to STATUS_NOT_FOUND (0xC0000225).