As already mentioned in the preceding section, kernel-mode clients pass TDI IOCTLs in IRPs to the underlying transport driver with calls to IoCallDriver. These requests are passed with a MajorFunctionCode of IRP_MJ_INTERNAL_DEVICE_CONTROL and MinorFunctionCode that specifies one of the following TDI-defined operations:
Allows the local-node client to accept an incoming connection offer from a remote-node peer so that it can send and receive connection-oriented data on the network.
Initiates transport-specific extension operations for an address, a connection endpoint, or a control channel.
Associates an open connection endpoint with an open local transport address, which is a prerequisite to establishing an endpoint-to-endpoint connection with a remote-node peer process.
Initiates a connection offer from one endpoint to another on a remote node.
Disassociates a connection endpoint for an inactive connection from its associated address object.
Terminates an established endpoint-to-endpoint connection for the local-node client or acknowledges connection termination initiated by a remote-node peer.
Passively listens for an incoming connection offer from a remote-node peer process.
Queries the underlying TDI transport for a specific type of information.
Returns all or part of a TSDU received on an endpoint-to-endpoint connection.
Returns a datagram TSDU on an open transport address.
Sends a normal or expedited TSDU to the remote-node peer on an endpoint-to-endpoint connection.
Sends a datagram to a specified remote-node address.
Registers a client-supplied event handler that the transport will call whenever the corresponding network event occurs.
Sets a specific type of information in the underlying transport.