3.3.4.1.8 TransactionalStatus (Opnum 14)
The TransactionalStatus method is received by the server in an RPC_REQUEST packet. In response, the server MUST return the represented Queue.Transactional value.
-
[propget] HRESULT TransactionalStatus( [out, retval] long* plTransactionalStatus );
plTransactionalStatus: A pointer to a long that corresponds to the XACT_STATUS enumeration as defined in the following table.
-
Value
Meaning
MQ_XACT_STATUS_XACT
0x00000000
The represented Queue.Transactional equals True.
MQ_XACT_STATUS_NOT_XACT
0x00000001
The represented Queue.Transactional equals False.
MQ_XACT_STATUS_UNKNOWN
0x00000002
The represented Queue.QueueType equals Public, and the QueueManager.DirectoryIntegrated of the QueueManager that owns the represented Queue equals False.
Return Values: The method MUST return S_OK (0x00000000) to indicate success or an implementation-specific error HRESULT on failure.
When processing this call, the server MUST follow these guidelines:
If the ObjectIsInitialized instance variable is False:
The server MUST return MQ_ERROR_UNINITIALIZED_OBJECT (0xC00E0094), and MUST take no further action.
The server MUST generate a QMMgmt Get Info event with the following inputs:
iPropID = PROPID_MGMT_QUEUE_XACT
If the rStatus return value is not equal to MQ_OK (0x00000000), the server MUST return rStatus and MUST take no further action.
Else:
If the value of the returned rPropVar was "YES":
The plTransactionStatus output variable MUST be set to MQ_XACT_STATUS_XACT, and the server MUST take no further action.
If the value of the returned rPropVar was "NO":
The plTransactionStatus output variable MUST be set to MQ_XACT_STATUS_NOT_XACT, and the server MUST take no further action.
If the value of the returned rPropVar was "UNKNOWN":
The plTransactionStatus output variable MUST be set to MQ_XACT_STATUS_UNKNOWN, and the server MUST take no further action.