3.16.4.3.3 FireArrivedErrorEvent (Opnum 9)

The FireArrivedErrorEvent method is received by the server in an RPC_REQUEST packet. In response, the server MUST provide notification of an error relating to the arrival of a message.

 HRESULT FireArrivedErrorEvent(
   [in] IMSMQQueue* pq,
   [in] HRESULT hrStatus,
   [in] long msgcursor
 );

pq: A pointer to an IMSMQQueue interface that upon success will be cast to an IDispatch pointer and forwarded on to the client.

hrStatus: An HRESULT value that specifies the error code that was received from the Queue where the Message was delivered.

msgcursor: A long value that specifies the value of the cursor option that was specified through the Cursor input parameter that was passed to the IMSMQQueue4::EnableNotification operation to associate this MSMQEvent with the queue. This parameter corresponds to the MQMSGCURSOR (section 2.2.2.8) enum.

Return Values: The method MUST return S_OK (0x00000000) on success or an implementation-specific error HRESULT on failure.

When processing this call, the server MUST follow these guidelines:

  • Cast pq to an IDispatch pointer pq1.

  • Cast hrStatus to a long value hrStatus1.

  • Call the _DMSMQEventEvents::ArrivedError method with the following inputs:

    • Queue = pq1

    • ErrorCode = hrStatus1

    • Cursor = msgcursor