All Windows NT 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 concurrently.
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
·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
·To represent control channels identifying transport providers, opened for the purpose of setting and querying global configuration, features, limits, and/or statistics information maintained by the underlying transport
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 Windows NT redirector process 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 Windows NT server process on a remote node and to receive messages back from the server process on the remote node.