TDI Operations

This section describes TDI run-time operations. Clients of PnP-aware transports for Windows 2000 and later use the protocol-specific network addresses currently registered with TDI to establish connections across the network when they begin the operations described here. For more information about PnP-aware TDI transports and their clients, see also TDI Transports and Their Clientsand TDI Routines, Macros, and Callbacks.

Many TDI run-time operations involve an endpoint-to-endpoint connection between a local-node client and a remote-node client. These TDI operations are connection-oriented and include the following:

  • Opening a local-node connection endpoint

  • Requesting a connection

  • Accepting a connection

  • Sending connection-oriented data

  • Receiving connection-oriented data

  • Disconnecting

  • Closing a local-node connection endpoint

TDI also permits connectionless communications between nodes on a network. This type of operation does not require the local-node client to establish an endpoint-to-endpoint connection with a remote-node client. They are faster but less reliable than connection-oriented communications. TDI connectionless operations include the following:

  • Sending a datagram

  • Receiving a datagram

The remaining TDI operations are common to connection-oriented and connectionless communication, including the following:

  • Opening a local-node transport address represented by a file object

  • Packaging and submitting a request

  • Setting and querying information

  • Receiving error notification

  • Requesting transport-specific actions if the underlying transport supports any extensions to the TDI interface for its clients

  • Closing a previously opened transport address

The following topics describe the main TDI operations, as much as possible in the same order as these operations are likely to occur:

Opening a Transport Address

Opening a Connection Endpoint

Packaging and Submitting IOCTL Requests

Setting and Querying Information

Making an Endpoint-to-Endpoint Connection

Sending and Receiving Connection-Oriented Data

Sending and Receiving Connectionless Data

Connection-Oriented Versus Connectionless Transfers

Requesting Transport-Specific Actions

Receiving Error Notifications

Disconnecting an Endpoint-to-Endpoint Connection

Closing a Connection Endpoint

Closing a Transport Address or Control Channel

For more detailed information about the TDI, transport, and client routines mentioned in this section, see TDI Transport Driver Dispatch Routinesand TDI Client Event and PnP Notification Handlers.

For more detailed information about the support routines, such as ZwCreateFile and IoCallDriver , see ZwXxx Routinesand I/O Manager Routines.

Note   The TDI feature is deprecated and will be removed in future versions of Microsoft Windows. Depending on how you use TDI, use either the Winsock Kernel (WSK) or Windows Filtering Platform (WFP). For more information about WFP and WSK, see Windows Filtering Platform and Winsock Kernel. For a Windows Core Networking blog entry about WSK and TDI, see Introduction to Winsock Kernel (WSK).

 

 

 

Send comments about this topic to Microsoft