3.2.4.10 Sending a Message

To perform the send operation in the context of a transaction, the client first MUST call R_QMGetTmWhereabouts to obtain transaction manager whereabouts and then enlist the transaction by calling R_QMEnlistTransaction or R_QMEnlistInternalTransaction, as described in sections 3.1.4.13 and 3.1.4.14.

The client MUST execute the following steps:

  • Invoke the rpc_ACSendMessageEx method with the following parameter values:

    • hQueue := iOpenQueueContext.Handle

    • ptb := CACTransferBufferV2 structure:

      • ptb.old.uTransferType := CACTB_SEND (0x00000000)

      • ptb.old.pUow := A transaction identifier, or NULL.

      • The remainder of the fields MUST be populated according to the limitations and definitions in section 3.1.5.2.

    • pMessageID := A 20-byte buffer to receive the message identifier, or NULL.