From: Eric W Hanson [ehanson@microsoft.com] Sent: Friday, April 27, 2001 8:01 PM To: NT Developers Interest List Subject: [ntdev] RE: Difference b/w TDI and Protocol Drivers There are three basic classes of TDI drivers. TDI Providers which are protocol drivers. TDI Clients that sit over the TDI Providers. And then TDI filters which are purely filter drivers that happen to be layering on top of TDI Providers Packet.sys is a protocol that has a private IOCTL interface on the upper edge. Applications can talk directly to it via IOCTLs. The TCPIP.SYS that ships with the OS has a TDI interface. In the Windows NT 4.0 DDK there is a protocol called ST (for simple transport). This protocol has a TDI upper edge which allows it plug into the Windows NT networking stack at the TDI layer. TDI Clients can access the ST sample through the TDI interface provided by TDI.SYS. AFD.SYS is a TDI client which implements the kernel portion of the Winsock API. AFD can work with protocol drivers that supply a TDI upper edge if a Winsock helper DLL is supplied with the protocol. TDI protocols can also get NETBIOS to bind on top of them. If it is only your application accessing the protocol then a private IOCTL interface would usually suffice. However if you want all Winsock applications to work over your protocol then a TDI Protocol is the best solution. - Eric -----Original Message----- From: Chandandeep Singh Pabla [mailto:chandan.pabla@dcmtech.co.in] Sent: Wednesday, April 25, 2001 4:44 AM To: NT Developers Interest List 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: ehanson@microsoft.com To unsubscribe send a blank email to leave-ntdev-247T@lists.osr.com --- You are currently subscribed to ntdev as: GlennEverhart@FirstUSA.com To unsubscribe send a blank email to leave-ntdev-247T@lists.osr.com