Frequently Asked Questions

Q. Under NDIS 5.X can I bind a NDIS protocol driver to a specific NIC miniport?

A. No.

Under NDIS versions prior to NDIS 5.0 a NDIS protocol driver could have this simplified definition:

bullet

NDIS 4.0: A NDIS protocol is a driver that can bind to a NDIS miniport.

 

A NDIS 4.0 protocol driver could be configured (with a few restrictions) bind to any virtual or physical NDIS miniport.

For example, a NDIS 4.0 protocol could be bound either above or below any NDIS intermediate drivers that may be present in the system.

 

However, under NDIS 5.X a NDIS protocol has a different simplified definition:

bullet

NDIS 5.0: A NDIS protocol is the highest driver in the NDIS hierarchy of drivers.

 

The NDIS 5 definition means exactly what is says, and NDIS actively enforces the definition.

bulletTop - NDIS Protocol
bulletIntermediate - NDIS Intermediate Filter/MUX components (if present)
bulletBottom - Physical NIC Miniport

The stack of NDIS components below the NDIS protocol (NDIS IM drivers and physical NIC miniport) can be called a "Binding Path". The name of the binding path is the name of the lowest-level physical NIC.

It can be said that under NDIS 5 a NDIS protocol can "bind to a specific binding path", but it cannot bind to a specific NIC miniport.

 

Q. Under NDIS 5.X can I see what components are present in a binding path?

A. No.

In most cases a NDIS 5 binding path consists of the low-level physical NIC miniport plus one or more NDIS intermediate drivers. The name of the binding path is the name of the lowest-level physical NIC.

The Network Connections Properties, as well as the DDK bindview and snetcfg applications, provide some information about binding paths.

However, the actual composition and ordering of binding path components is not visible with any tool or API that this writer is aware of.

 

Q. Why can't I see what components are present in a NDIS 5 binding path?

A. There are several reasons.

Without having any real insight into the NDIS 5 design process, there are several obvious reasons that were probably part of Microsoft's motivation.

A major problem concerns the user interface...

Whenever a NDIS intermediate (IM) driver is installed the number of NDIS miniport instances is increases by the addition of at least one virtual miniport. In a system that has two physical NICs, installation of two NDIS IM drivers could result in the addition of four (or more) virtual NICs.

In this fairly simple example the Network Connections Window would present the user with six (6) miniports instead of two.

In addition, the names of some the virtual adapters would be artificially generated to attempt to describe their binding. For example, the user might see a name like this:

National Semiconductor Corp DP8381510/100 MacPhyter3v PCI Adapter - Microsoft Packet Scheduler Miniport - XYX Company Bogus Access Filter

This name simply isn't manageable!

So, 1.) the sheer number of adapters as well as 2.) the impractical length of virtual NIC names are reasons enough to drastically limit the information presented to the user.

There were probably other reasons as well. Perhaps the decision simplified the NDIS wrapper and installer code.

 

 

Topic Status

January 16, 2003 Information posted.
 

PCAUSA Home · Privacy Statement · Products · Ordering · Support · Utilities · Resources
Mailing Lists  · PCAUSA Newsletter · PCAUSA Discussion List
Rawether for Windows, Rawether .NET, WinDis 32 and NDIS Press are trademarks of Printing Communications Assoc., Inc. (PCAUSA)
Microsoft, MS, Windows, Windows Vista, Windows 95, Windows 98, Windows Millennium, Windows 2000, and Win32 are registered trademarks and Visual C++ and Windows NT are trademarks of the Microsoft Corporation.
Copyright © 1996-2007 Printing Communications Assoc., Inc. (PCAUSA)
Last modified: January 20, 2007