Several years ago we developed an NDIS2 driver in OS/2. When our code is
notified a frame is available (typically via ReceiveLookahead indication),
it returns SUCCESS to indicate it will accept and copy the frame. If there
is more than one driver in the chain, the next driver does NOT get the
indication. Our code also returns FORWARD_FRAME when it wishes to pass along
a frame to the next driver instance in its chain without accepting it and it
returns FRAME_REJECTED when it does not want to accept the frame but also
does not want to pass it to the next driver in the chain. The ability to
chain together drivers and have those toward the rear of the chain NOT see
frames consumed by those toward the front can be an important performance
boost in some situations for us.
We've recently had an outside company rewrite our driver for NDIS in Windows
XP. This driver does not support the idea of a chain of instances where an
instance that receives a frame can choose to accept or reject the frame such
that any other instances of the driver do not receive the frame at all. The
outside vendor cannot determine if/how this can be done in Windows. Is there
a way to achieve this behavior in Windows XP?
Thanks,
Stephen