TDI File Objects
All I/O requests are directed to an open file object, which can represent a physical or virtual device, a data file, or any logical target of I/O requests, that can be opened by a particular process. Open file objects are process-specific. For example, the I/O manager creates a file object for each process that opens a particular data file.
TDI uses file objects to represent entities that exist in any network communication environment. In particular, TDI uses file objects to represent the following types of TDI-defined entities:
To represent transport addresses opened by specific processes or groups of processes on a network node. For more information, see File Objects Represent Transport Addresses.
To represent connection endpoints identifying specific endpoints associated with particular transport addresses, opened to set up endpoint-to-endpoint connections with remote-node peer processes. For more information, see File Objects Represent Connection Endpoints.
To represent control channels identifying transport providers, opened for the purpose of setting and querying global configuration, features, limits, or statistics information maintained by the underlying transport. For more information, see File Objects Represent Control Channels.
A TDI transport driver and the underlying NDIS drivers provide a mechanism by which data can be transferred from a process on one network node to one or more processes that reside either on the same node or other network nodes. The preceding address and connection endpoint entities represented by open file objects are the means by which such transfers occur.
For example, the redirector process for Windows 2000 and later versions opens two file objects, one representing a transport address and the other a connection endpoint associated with that address, to send SMB (Server Message Block) messages to a server process on a remote node and to receive messages back from the server process on the remote node.
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).