Hi,
I have an NDIS intermediate driver that is working fine. Now I want to
insert my own packets into the outgoing stream. So, I’m building the packet
descriptor/buffer, etc, and calling NdisSend(). When the miniport driver
below me completes the send I don’t think I want to call NdisMSendComplete()
because I think that would confuse the protocol driver above me. First, is
this a correct assumption?
Now, I want to insert something into the MiniportReserved field in the
NDIS_PACKET structure that I allocated on the send and I’m confused by the
DDK docs a bit. Here’s a snippet from the NDIS_PACKET help description:
A single driver can use the MiniportReserved(Ex) area and a single driver
can use the ProtocolReserved area while a particular packet descriptor is
being used in a transfer operation. Consequently, NDIS intermediate drivers,
which have both MiniportXxx and ProtocolXxx functions, cannot use these
areas in incoming packet descriptors for their own purposes.
Does this mean I can’t use the MiniportReserved field AT ALL or only on
packets coming down from the protocol? It seems like I should be able to
use it because the Passthru sample does some stuff with it to store the
original packet descriptor pointer. Also, how can I use it? Can I allocate
a small block of memory and store my per packet data in there and then
assign the address to the MiniportReserved field?
Just want to un-confuse myself.
Thanks,
Paul
Paul Benware
KoolSpan Inc.
11134 Stephalee Lane
North Bethesda, MD 20852
TELE: 1-301-468-9434
DIRECT: 1-585-582-3296
CELL: 1-585-739-0441