3.1.8.4 Receiving a Message

The Receiving a Message event MUST be signaled with the following arguments:

If the Receiving a Message event is signaled, an OleTx connection participant MUST perform the following actions:

  • Verify the validity of the received protocol message as specified in section 3.1.6.

  • When a partner receives a connection request, it MUST accept as valid only a connection type that is either required or optional for the negotiated protocol version. Invalid connections MUST be rejected by sending an MTAG_CONNECTION_REQ_DENIED message, [MS-CMP] (section 2.2.5) with the Reason field set to 0x80070057.

  • If the incoming message is MTAG_CONNECTION_REQ_DENIED [MS-CMP] (section 2.2.5) message:

    • If the connection state is not already Ended, the state MUST be set to Ended.

    • Return the failure reason code from the Reason field to higher-layer business logic.

  • If the connection type defines specific additional actions that MUST be performed when a connection is requested or when a valid user message is processed, the OleTx participant MUST also perform those actions. These actions are specified in the specific Message Processing Events and Sequencing Rules section that defines the behavior of a specified connection type and the user message type when receiving incoming messages.