From INtime 6.0 the INtime Service and Port objects have been deprecated.
New projects should not be started using these features, and existing projects will not work with XM mode. You will receive a compiler warning by default if you use these calls.
Sends the request phase of a transaction and allocates a storage for the response part of the transaction.
WORD SendRtMessageRSVP(
RTHANDLE hPort, // a port handle
LPGENADDR lpAddress, // pointer to destination address structure
LPBYTE lpControl, // pointer to control message
WORD wControlLength, // number of bytes in control message
LPVOID lpData, // pointer to data message
DWORD dwDataSize, // length of data message
LPVOID lpReply, // pointer to reply buffer
DWORD dwReplySize, // length of reply buffer
WORD wTransmissionFlags // transmission flags
);
Parameters
hPort
- A handle for the port to where the message is to be sent.
lpAddress
- A pointer to a GENADDR structure indicating the destination of the message.
lpControl
- A pointer to the control message to be sent.
wControlLength
- The number of bytes in the control message.
lpData
- A pointer to a data buffer or a data chain containing the data message or NULL.
dwDataSize
- The number of bytes in the data message.
lpReply
- A pointer to the data buffer or chain where the data part of the reply message is to be stored.
dwReplySize
- The number of bytes in the buffer or chain indicated by
lpReply
.
wTransmissionFlags
- The transmission flags for the message. The parameter default is a contiguous buffer, synchronous transmission and use ReceiveRtReply to receive the response message. Some of the following values may be combined to form the flags parameter:
Select one of these values to select the data message type:
CONTIGUOUS_BUFFER |
Specifies that lpData reference a contiguous buffer. |
DATA_CHAIN_BUFFER |
Specifies that lpData reference a data chain block. |
DATA_LIST_BUFFER |
Specifies that lpData reference the first element in a data list. |
Choose one of these values to select the transmission mode:
SYNC_MODE |
Specifies that the message should be transmitted synchronously. |
ASYNC_MODE |
Specifies that the message should be transmitted asynchronously. |
Choose one of these values to select the reply receipt method:
Choose this value to enable auto-cancelation:
CANCEL_ON_TIMEOUT |
Specifies that the transaction automatically cancels if a subsequent ReceiveRtReply call times out. |
Return Values
- An ID for this request-response message transaction.
- Success.
BAD_TRANSACTION_ID
- Failure. To determine the status, call GetLastRtError.
Status
E_OK 0x0000
- No exceptional conditions occurred.
E_CONTEXT 0x0005
- One of these conditions exist:
- The port is an anonymous sink port.
- The service does not support RSVP transactions.
E_EXIST 0x0006
- The port is already being deleted.
E_NOT_CONFIGURED 0x0008
- The service does not have a SendMessage handler.
E_TRANSMISSION 0x000B
- One of these conditions exist:
- The destination port does not exist or is invalid (short circuit).
- A hardware error occurred during transmission.
E_INVALID_ADDR 0x00E2
- The address parameter is not valid.
E_RESOURCE_LIMIT 0x00E6
- Insufficient control buffers are available.
E_DISCONNECTED 0x00E9
- The destination port is connected to another port.
E_TRANS_LIMIT 0x00EA
- The transaction limit for either the port or the service has been exceeded.
E_UNBOUND 0x00EB
- The port has not been bound.
E_TYPE 0x8002
- The handle supplied is not for a port object.
E_PARAM 0x8004
- One of these conditions exist:
- An address parameter was supplied for a non-addressed service.
- The control message length supplied is too great.
E_NUC_BAD_BUF 0x80E2
- One of these conditions exist:
- The control message pointer was invalid.
- The data pointer was invalid.
- The RSVP pointer was invalid.
Note: Other status values may be generated by the service-specific SendMessage handler.
Requirements
Versions |
Defined in |
Include |
Link to |
INtime 3.0 |
intime/rt/include/rtbase.h |
rt.h |
rt.lib |
See Also
Port system calls, GENADDR, ReceiveRtReply, ReceiveRtMessage, SendRtMessage, SendMessage