INtime SDK Help
TRANSACTION structure

Transaction buffers are used to track many operations through the service, whether a simple send, a send-RSVP or certain receive operations. If a send-RSVP operation is initiated, the transaction buffer remains until the associated response message has been received and delivered to the port.

Syntax

typedef struct tagTransaction {
    LPVOID lpOutQlink;                WORD _reserved_1;
    LPVOID lpInQLink;                 WORD _reserved_2;
    BYTE byTransCntr;
    BYTE byTransID;
    WORD _reserved;
    WORD wFlags;
    WORD wState;
    RTHANDLE hPort;
    RTHANDLE hThread;
    LPVOID lpMsg;                     WORD _reserved_3;
    WORD wSendStatus;
    LPCONTROLBUFFER lpInControlMsg;   WORD _reserved_4;
    LPCONTROLBUFFER lpOutControlMsg;  WORD _reserved_5;
    DWORD cbDataLength;
    LPVOID lpData;                    WORD _reserved_6;
    DWORD cbRSVPLength;
    LPVOID lpRSVPData;                WORD _reserved_7;
    LPVOID lpOrgRSVPData;             WORD _reserved_8;
    DWORD dwFragOffset;
    WORD wFragBlock;
    GENADDR RemoteHost;
} TRANSACTION, *LPTRANSACTION;

Relevant Fields

wFlags
Contains caller's wSendFlags masked with (ASYNCH | DATA_TYPE).
wState
This field contains state bits which help the kernel manage such features as automatic release of transaction buffers. If the handler is called from SendRtMessageRSVP then the RSVP bit is set.
lpOutControlMsg
Contains a pointer to control buffer allocated and initialized as follows. All fields are 0 (zero) except:
hPort Contains the caller's port handle field (source port ID).
wLocalTransID Contains the ID of the transaction structure allocated.
byControl Contains the caller's control message.
cbDataLength
Contains the caller's dwDataLength field, the number of bytes in the data message. If there is no data message then this field will contain 0 (zero).
lpData
Contains caller's pData, pointing to the data part of the message. The format of the data part is given by the DATA_TYPE bits of the wFlags field. If there is no data message then this field will contain NULL.
cbRSVPDataLength
If this handler was invoked from SendRtMessageRSVP, this field contains the caller's pRSVPDataLength, the size of the RSVP buffer. Otherwise this field will contain 0 (zero).
lpRSVPData
If this handler was invoked from SendRtMessageRSVP, this field contains the caller's pRSVPData, pointing to the RSVP buffer. Otherwise this field contains NULL.
dwFragOffset, wFragBlock
These fields are always initialized to zero in this handler.
RemoteHost
Contains the destination address (for a service supporting addressing) where the message is to be delivered.

See Also

SendMessage, SendRtMessageRSVP