Table of contents
Collapse the table of content
Expand the table of content

NDIS Driver Stack

Last Updated: 9/2/2016

Basic Stack Configuration

The following figure shows a basic configuration of the logical elements in an NDIS 6.0 driver stack. The figure illustrates a driver stack with an unspecified number of filter modules. The arrows represent information flow between the elements of the stack.

diagram illustrating an ndis driver stack with filter modules

As the preceding figure shows, you can stack any number of filter modules over a miniport adapter. These modules can be instances of different filter drivers and/or multiple instances of the same filter driver. If a miniport driver manages more than one miniport adapter, a separate driver stack can exist over each miniport adapter.

Protocol drivers bind to miniport adapters. Therefore, underlying filter modules in a driver stack are transparent to protocol drivers. To obtain information about underlying filter modules, protocol drivers can enumerate the filter modules in a driver stack.

If more than one protocol driver binds to an miniport adapter, the filter modules are the same for both protocol drivers. Based upon the binding, NDIS routes requests to the correct protocol driver.

NDIS 6.0 Stack with Intermediate Driver

The following figure shows an NDIS 6.0 driver stack with an intermediate driver.

diagram illustrating an ndis driver stack with an intermediate driver

If you include an NDIS intermediate driver in the driver stack, the stack is essentially two stacks: one above the other.

The intermediate driver's virtual miniport provides the miniport adapter for the upper stack, whereas the intermediate driver's protocol edge provides the protocol binding for the lower stack.

A virtual miniport has the same states as any other miniport adapter. For more information about miniport adapter states, see Adapter States of a Miniport Driver.

The protocol edge of the intermediate driver should implement the same binding states as a protocol driver. For more information about binding states, see Binding States of a Protocol Driver.

Adapter States of a Miniport Driver

Binding States of a Protocol Driver

Driver Stack Management

NDIS Filter Drivers

NDIS Intermediate Drivers

NDIS Miniport Drivers

NDIS Protocol Drivers

© 2017 Microsoft