3.23.4.2 ITransactionStream::GetSeqAndTxViaTransmitter (Opnum 4)
This method returns the Propagation_Token (as specified in [MS-DTCO] section 2.2.5.4) of the currently active transaction and the CurrentTSN value.
-
HRESULT GetSeqAndTxViaTransmitter( [in] unsigned long ulKnownSeq, [out] unsigned long* pulCurrentSeq, [out] unsigned long* pulcbTransmitterBuffer, [out, size_is(,*pulcbTransmitterBuffer)] BYTE** prgbTransmitterBuffer );
ulKnownSeq: The caller's CurrentTSN value of the currently active transaction.
pulCurrentSeq: The TSN of the currently active transaction.
pulcbTransmitterBuffer: The unsigned size, in bytes, of prgbTransmitterBuffer.
prgbTransmitterBuffer: A Propagation_Token of the currently active transaction.
Return Values: The method MUST return a positive value or zero, to indicate successful completion, or a negative value to indicate failure. The client MUST treat any negative return value as a fatal error.
When processing this ORPC call, the ITransactionStream Server MUST do the following:
If the DtcCap_CanTransmit bit is not set in the DtcCapabilities value, it MUST return CO_E_NOT_SUPPORTED.
If ulKnownSeq is the same as the CurrentTSN value, the ITransactionStream Server MUST do the following:
Set pulCurrentSeq to ulKnownSeq.
Set pulcbTransmitterBuffer to zero.
Set prgbTransmitterBuffer to NULL.
Otherwise, the ITransactionStream Server MUST do the following:
Set pulCurrentSeq to the CurrentTSN value.
Set pulcbTransmitterBuffer to the size of prgbTransmitterBuffer.
Copy the Propagation_Token of the currently active transaction to the prgbTransmitterBuffer out parameter.