Home Up Search PCAUSA HomeTDI FAQ

NDIS FAQ IM Driver FAQ TDI FAQ Win95 IFS FAQ Other Resources Consultants

 

Answers to TDI Frequently Asked Questions

The information on this page is intended primarily for network software developers who are working on lower-level network-related Transport Data Interface (TDI) device drivers for Windows 95 and Windows NT.

Table of Contents

General

What is "TDI"?
Where can I find TDI programming information?
Where can I find sample TDI drivers?
Where can I find sample TDI clients?

 

Windows 95

Are there any bugs in the VXDTDI header files provided by Microsoft?
What Windows 95 protocols use TDI?
Where can I find information about the VxD Interface for Windows 95 Winsock Helper DLLs?

 

Windows NT

 

General

 

What is "TDI"?

TDI is short for the "Transport Driver Interface". The primary purpose of TDI is to define a standard API for the upper edge of Windows NT transport protocol stacks (i.e., the low-level kernel-mode driver implementation of protocols such as TCP/IP, NetBEUI, etc.). A variation of TDI is also used on the Windows 95 platform, but only for the TCP/IP protocol.

TDI provides standard methods for protocol addressing, sending and receiving datagrams, writing and reading on streams, detecting disconnects, etc.

 

Back to Top

 

Where can I find TDI programming information?

Windows NT
If you are developing TDI drivers or a TDI client driver for the Windows NT platform, then TDI information is found in the Windows NT DDK Help file under the highest-level topic "Network Drivers".
 
The Microsoft DDK documentation is available on the Microsoft Developer Network (MSDN) software subscription CD's. It is also provided as part of the free MDSN OnLine service at http://www.microsoft.com/msdn leave-site.gif (117 bytes).
Windows 95
If you are interested in TDI drivers for Windows 95, then fetch the file VXDTDI.ZIP from:
ftp://ftp.microsoft.com/developr/drg/WinSock/MS-Extensions/
This file contains the include files necessary to do development of ring 3 components in Windows for Workgroups 3.11 and Windows 95 that talk directly to Microsoft's 32 bit TCP/IP stack.
These files are unsupported, and provided as an assistance for the advanced programmer. This file will soon be moved to:
ftp://ftp.microsoft.com/bussys/winsock/ms-ext/

 

Back to Top

 

Where can I find sample TDI drivers?

Windows NT
The Microsoft Windows NT DDK includes a sample TDI driver. The Microsoft DDK documentation is available on the Microsoft Developer Network (MSDN) software subscription CD's. It is also provided as part of the free MDSN OnLine service at http://www.microsoft.com/msdn leave-site.gif (117 bytes).
Windows 95
None are known to be available

 

Back to Top

 

Where can I find sample TDI clients?

Windows NT
The Microsoft Windows NT Installable File System Kit (NTIFSKIT) includes a SMB redirector which is a NETBIOS TDI client. Information about the Microsoft NTIFSKIT can be found at http://www.microsoft.com/hwdev/ntifskit  
 
PCAUSA licenses a NT kernel-mode driver sample which is a TCP/IP TDI client.
Windows 95
PCAUSA licenses a VxD driver sample which is a TCP/IP TDI client.
 
Back to Top

 

Windows 95 Questions

Are there any bugs in the VXDTDI header files provided by Microsoft?

Sort of... There's one problem that bites everyone at first. The VTDI service table includes two entries, VTDI_Get_Lock and VTDI_Free_Lock, that are only provided in the debug versions of the VTDI VxD (which I've never seen). In order to build code that works on retail versions of VTDI you must modify the service table.

PCA uses a preprocessor directive for this, as shown below:

Begin_Service_Table( VTDI )
VTDI_Service(VTDI_Get_Version)
VTDI_Service(VTDI_Start_Timer)
VTDI_Service(VTDI_Stop_Timer)
// Added by PCA
#ifdef USE_DEBUG_VTDI_386
VTDI_Service(VTDI_Get_Lock)
VTDI_Service(VTDI_Free_Lock)
#endif
...
End_Service_Table(VTDI)

Back to Top

 

What Windows 95 protocols use TDI?

The only Microsoft protocol for Windows 95 which uses TDI is the MSTCP (TCP/IP) protocol.

 

Where can I find information about the VxD Interface for Windows 95 Winsock Helper DLLs?

Fetch the file WSHVXD.ZIP from:

ftp://ftp.microsoft.com/developr/drg/WinSock/MS-Extensions/

 This file contains the include files necessary to do development of ring 3 components in Windows 95 that bind a third party stack to Microsoft's 32 bit Winsock DLL.

These files are unsupported, and provided as an assistance for the advanced programmer.

 

Back to Top

 

Windows NT Questions

 

 

WinDis 32 is a trademark of Printing Communications Assoc., Inc.
Microsoft, MS, Windows, Windows 95, Windows 98, and Win32 are registered trademarks and Visual C++ and Windows NT are trademarks of the Microsoft Corporation.
Send mail to webmaster@pcausa.com with questions or comments about this web site.
Copyright © 1996-1999 Printing Communications Assoc., Inc.
Last modified: April 05, 1999