Platform SDK: Transaction Server

ITransactionExport Interface

A process that wishes to export a transaction uses this interface to marshal a transaction object. The process calls this interface and passes a transaction object. The process is returned an opaque marshaled form of the transaction object called a transaction cookie. The process then sends the transaction cookie to the destination process. This is referred to as exporting the transaction.

Communication failures may invalidate the export object. If ITransactionExport::Export returns the error XACT_E_CONNECTION_DOWN then the current export object is invalid and a new export object must be created.

Implemented by: MS DTC proxy
Object Export object
Interface Source Returned by the ITransactionExportFactory::Create method
Called by: RM proxy

interface ITransactionExport : IUnknown 
{
HRESULT    Export (
    [in]  IUnknown * pITransaction,
    [out] ULONG *    pcbTransactionCookie);

HRESULT    GetTransactionCookie (
    [in]  IUnknown * pITransaction,
    [in]  ULONG      cbTransactionCookie,
    [out] BYTE *     rgbTransactionCookie,
    [out] ULONG *    pcbUsed);
};