Compartilhar via


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.