Share via


NDIS Filter Intermediate Drivers (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.

An NDIS filter intermediate driver exposes one virtual miniport for each underlying miniport driver that is bound to the intermediate driver's lower (protocol) edge.

Protocol drivers located above the intermediate driver bind to a virtual miniport that is exposed by the intermediate driver, as if the virtual miniport were a miniport driver controlling a physical adapter. When the virtual miniport receives requests and data packets, the intermediate driver forwards them down to the associated NDIS miniport driver. The filter intermediate driver can modify packets before sending them to, and after receiving them from, the NDIS miniport driver below. For example, the filter intermediate driver can encrypt and compress outgoing data in packets, and decrypt and decompress incoming data in packets.

The following figure illustrates the one-to-one relationship between the virtual miniports of the filter intermediate driver and the miniport driver for the underlying device.

When a filter intermediate driver is initialized it inserts itself into all existing protocol-to-miniport bindings, as appropriate to the media type associated with the driver. For information about assigning the media type for a filter intermediate driver, see Filter Intermediate Driver Installation.

Filter intermediate driver virtual miniport bindings are not displayed in the Windows user interface. This allows the filter intermediate driver to operate transparently from the user perspective.

The following are examples of filter intermediate drivers:

  • The Windows QoS Packet Scheduler is a filter intermediate driver that is provided with Windows 2000 and later versions of the operating system. The packet scheduler enforces quality-of-service parameters for network data flows.

  • The PassThru sample intermediate driver demonstrates the basic concepts of an NDIS filter intermediate driver. PassThru passes on information without modifying it. This driver exposes a virtual miniport at its upper edge for each binding to an underlying miniport.

 

 

Send comments about this topic to Microsoft