3.10.4.1.10 IsTransactional (Opnum 16)

The IsTransactional method is received by the server in an RPC_REQUEST packet. In response, the server returns a value that indicates whether the referenced queue is transactional or nontransactional.

 [propget] HRESULT IsTransactional(
   [out, retval] short* pisTransactional
 );

pisTransactional: A pointer to a short that corresponds to one of the MQTRANSACTIONAL enumeration values.

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

When the server processes this call, it MUST abide by the following contract:

  • If IsRefreshed is FALSE call Refresh (section 3.10.4.1.29).

  • If Refresh returns a value other than S_OK (0x00000000), return the HRESULT returned by Refresh and take no further action.

  • The Queue.Transactional instance variable is True, and (IsRefreshed is True or IsQueueCreated is True):

    •  Set the pisTransactional output parameter to MQ_TRANSACTIONAL (0x0001).

  • Else:

    •  Set the pisTransactional output parameter to MQ_TRANSACTIONAL_NONE (0x0000).

  • Return S_OK (0x00000000), and take no further action.