NDIS Intermediate Drivers

Hi All,

I’ve a question regarding the NDIS Intermediate driver implementation.
Suppose I want to manipulate the data before sending to the Miniport, I
can have a intermediate driver doing that job for me. Now assume the
changing of the data involves 2 different steps. Could I have 2
intermediate drivers layered one above other performing the same, i.e.,
step one in the first intermediate drivers and step 2 in second
intermediate driver. I would like to have 2 layers because the top
layer need not be used in some configuration and only the lower one
might be used.

Something like this…

In one conf. there will be 2 intermediate layers

Inter layer 1

Inter layer 2

Miniport

Configuration. 1

and in another, there will be one layer.


Inter layer 2

Miniport

Configuration. 2

Is it possible to have 2 intermediate drivers on a miniport? Is there
any restrictions on the layering of intermediate drivers and also the
NDIS & OS versions support for this?

Also I would like to have this layering for one of the miniports only.
What would be the best approach to achieve this.

Any inputs on this will be valuable.

Thanks,
Rajiv.