Sends the request phase of a transaction and allocates a storage for the response part of the transaction.
NTXXID ntxSendRtMessage(
NTXHANDLE hPort,
NTXGENADDR *pAddress,
BYTE *pControl,
DWORD dwControlLength,
LPVOID pData,
DWORD dwDataSize,
LPVOID pReply,
DWORD dwReplySize,
DWORD dwTransmissionFlags
);
Parameters
hPort
- The port where this message originates.
pAddress
- The address of the destination port. This can be NULL if the port is connected, or if the service can accept messages itself.
pControl
- The control message to send. There is always a control message.
dwControlLength
- The size of the control message.
pData
- The data part of the message, or NULL for control messages.
dwDataSize
- The size of the data part of this message.
pReply
- The buffer in which the data part of the reply message will be stored.
dwReplySize
- The size in bytes of the posted reply buffer.
dwTransmissionFlags
- These are the same as ntxSendRtMessage.
Return Values
- The transaction ID associated with this message.
- Success.
BAD_TRANSACTION_ID
- Failure. To determine the status, call ntxGetLastRtError.
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.
E_LOCATION
- The RT client on which the port was created is now invalid.
E_NTX_INTERNAL_ERROR
- The DLL could not contact the RT kernel to complete the request.
Note: Other status values may be generated by the service-specific SendMessage handler.
Requirements
Versions |
Defined in |
Include |
Link to |
INtime 3.0 |
intime/nt/include/ntx.h |
ntx.h |
ntx.lib |
INtime 4.01 (for 64-bit Windows) |
intime/nt/include/ntx.h |
ntx.h |
ntx64.lib |
See Also
Port system calls, ntxSendRtMessage, SendMessage