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