Intermediate Driver UpperRange And LowerRange INF File Entries (NDIS 5.1)
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
This topic describes how to use the UpperRange and LowerRange INF file entries to define NDIS intermediate driver binding relationships.
In a network driver INF file, the UpperRangeentry lists the possible upper bindings and the LowerRangeentry lists the possible lower bindings. There are various system-defined values for these lists.
For filter intermediate drivers, you must set the value of the UpperRange and LowerRange entries to noupper and nolower, respectively. You should define these entries only in the protocol INF file; they are not required in the miniport driver INF file. The following example illustrates these entries for a filter intermediate driver:
HKR, Ndi\Interfaces, UpperRange, , noupper
HKR, Ndi\Interfaces, LowerRange, , nolower
In a filter intermediate driver, the FilterMediaTypes entry in the protocol INF file defines the driver's bindings to other drivers . FilterMediaTypes specifies the media types serviced by the filter intermediate driver. For a list of possible media types, see the list of Microsoft-supplied LowerRange values in Specifying Binding Interfaces. The following example illustrates this entry for a filter intermediate driver:
HKR, Ndi\Interfaces, FilterMediaTypes, , "ethernet, tokenring, fddi, wan"
When a filter intermediate driver is initialized, it inserts itself into all existing protocol-to-miniport bindings, as appropriate to the media types listed in FilterMediaTypes.
For MUX intermediate drivers, you should always set UpperRange in the protocol INF file to noupper. Set LowerRange to a list of values taken from those values allowed for LowerRange as specified in Specifying Binding Interfaces. The following example illustrates these entries for a MUX intermediate driver's lower edge:
HKR, Ndi\Interfaces, UpperRange, 0, "noupper"
HKR, Ndi\Interfaces, LowerRange, 0, "ndis5"
For MUX intermediate drivers, you should always set LowerRange in the miniport driver INF file to nolower. Set the UpperRange to a list of values taken from those values allowed for the UpperRange as specified in Specifying Binding Interfaces. The following example illustrates these entries for a MUX intermediate driver virtual miniport:
HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces, LowerRange, 0, "nolower"