From: Thomas F. Divine [tdivine@pcausa.com] Sent: Wednesday, April 25, 2001 8:49 AM To: NT Developers Interest List Subject: [ntdev] Re: Difference b/w TDI and Protocol Drivers The Transport Data Interface (TDI) is a kernel-mode networking programming interface. There are two basic "kinds" of TDI drivers: 1.) A "TDI Provider" (or "Transport Driver") - A driver that _provides_ networking services that conform to TDI. Transport drivers usually implement a network protocol such as TCP/IP, NETBEUI or AppleTalk. Usually it is said that this kind or driver has a "TDI upper-edge". 2.) A "TDI Client" - A driver that _uses_ the networking services provided by a Transport driver. Ususally it is said that this kind of driver has a "TDI lower-edge". The NT 4.0 DDK "TDI" sample is a TDI Provider sample. The term "Protocol Driver" can be easily confused in the Windows environment. I generally use the following definition: Windows Protocol Driver - Any driver that uses the "NDIS Library Functions Used By Protocol Drivers" (See DDK documentation) to interface with lower-level NIC drivers. For example, if the driver uses NdisOpenAdapter I would call it a "Protocol Driver" (or at least it would have a "Protocol Section"). In most cases a TDI Provider (i.e., Transport Driver) would also be a "Protocol Driver" because it would use the NDIS Library Functions Used By Protocol Drivers to interface with lower-level NIC drivers. The DDK "Packet Driver" sample is simply a "Protocol Driver". It uses NDIS Library Functions Used By Protocol Drivers to interface with lower-level NIC drivers but it does _not_ have an upper-edge API that conforms to TDI. Hope this helps. Regards, Thomas F. Divine PCAUSA - Toolkits & Resources For Network Software Developers NDIS Protocol - NDIS Intermediate - TDI Client - ----- Original Message ----- From: Chandandeep Singh Pabla To: NT Developers Interest List Sent: Wednesday, April 25, 2001 7:44 AM Subject: [ntdev] Difference b/w TDI and Protocol Drivers > Hi all, > > Can anybody tell the precise difference b/w the Protocol and TDI drivers?? > I am bit confused about it as TDI drivers also calls same functions as > Protocol drivers calls such as ndisregisterprotocol,ndisopen adapter etc... > Where does the exact difference comes into picture??? > I know that TDI drivers r used to provide consistent interface with > applications but what exactly is the difference?? > TDI drivers also don't seems to have Iocreatesymboliclink which is there in > protocol drivers,then how does applications access tdi?? > I know the question might seems elementary but I am confused :-( > It would be much helpful if u clarify these doubts with reference to Samples > in ddk4 i.e. packet driver( I suppose it is a protocol driver) and tdi > driver sample. > > please help. > > Chandan --- You are currently subscribed to ntdev as: GlennEverhart@FirstUSA.com To unsubscribe send a blank email to leave-ntdev-247T@lists.osr.com