INtime SDK Help

Creates a port for access to an RT service. Optionally creates a heap object and attaches it to the port.

NTXHANDLE ntxCreateRtPort( 
    LPSTR pServiceName,
    WORD wPortNumber,
    WORD wMaxTransactions
    WORD wFlags
    DWORD dwHeapSize


Location of the RT kernel on which to create the RT port.
A pointer to a string containing the name of the service into which a port is to be created.
The desired ID number for this port. Services may specify values for this parameter which cause the service to allocate the port number automatically.
The maximum number of outstanding transactions allowed on this port. If 0 (zero) is specified, the value is assigned from the wPortCreationMask parameter in the SERVICEDESC structure used to create the service named in pServiceName parameter.
The port creation flags. Some of the following values may be combined to form the flags parameter:
NTX_PRIORITY_QUEUING Specifies that threads should be queued on a priority basis.
NTX_FIFO_QUEUING Specifies that threads should be queued on a FIFO basis.
NTX_NO_FRAGMENTATION Specifies that fragmentation is not allowed at this port.
NTX_CREATE_UNBOUND Specifies that the port is to be created unbound. No operations are allowed on the port until a call to ntxBindRtPort is made on this port.
Note that the NTX_PRIORITY_QUEUING and NTX_FIFO_QUEUING flags are mutually exclusive.
Specifies the size of the heap you want to create. You can use 0 (zero) to indicate that no heap should be created.

Return Values

The handle for the new port.
Failure. To determine the status, call ntxGetLastRtError.


E_OK 0x0000
No exceptional conditions occurred.
E_MEM 0x0002
Insufficient physical memory is available to the calling thread's process.
E_LIMIT 0x0004
The port ID table for this service is full.
E_CONTEXT 0x0005
The service with the name supplied can not be found.
E_PARAM 0x8004
One of these conditions exist:
  • The contents of the name string are invalid.
  • The given port ID is out of range for this service.
A port with the given port ID already exists.
An invalid name pointer was supplied.
The RT client on which the port was created is now invalid.
The DLL could not contact the RT kernel to complete the request.
Note:   Other status values may be generated by the service-specific CreatePort handler.


Versions Defined in Include Link to
INtime 3.0 intime/nt/include/ntx.h ntx.h ntx.lib
INtime 4.01 (64-bit Windows) intime/nt/include/ntx.h ntx.h ntx64.lib

See Also

Port system calls, CreatePort