Hi,
I' m trying to send NET_BUFFER_LISTS which I originate within an NDIS
6 filter driver (modified Ndislwf DDK sample) with
NdisFSendNetBufferLists and I get a Bluescreen every time when I try
to send a NET_BUFFER_LIST.
What I do is the following:
Creation of the NET_BUFFER_LIST inside FilterAttach():
NET_BUFFER_LIST_POOL_PARAMETERS NBLPoolParams;
NdisZeroMemory (&NBLPoolParams, sizeof (NBLPoolParams));
NBLPoolParams.Header.Type = NDIS_OBJECT_TYPE_DEFAULT;
NBLPoolParams.Header.Revision=
NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1;
NBLPoolParams.Header.Size = sizeof(NET_BUFFER_LIST_POOL_PARAMETERS);
NBLPoolParams.ProtocolId = NDIS_PROTOCOL_ID_DEFAULT;
NBLPoolParams.fAllocateNetBuffer = TRUE;
NBLPoolParams.ContextSize = 0;
NBLPoolParams.PoolTag = 'lptS';
NBLPoolParams.DataSize = 1500;
hSendBufferListPool = NdisAllocateNetBufferListPool ( hFilter,
&NBLPoolParams );
Sending the NET_BUFFER_LIST:
PNET_BUFFER_LIST pNBL = NdisAllocateNetBufferList (hSendBufferListPool,
0, 0);
pNBL->SourceHandle = pF->FilterHandle;
NdisFSendNetBufferLists( pF->FilterHandle, pNBL, 0, 0);
==>Bluescreen.
(DRIVER_IRQL_NOT_LESS_OR_EQUAL, ndis.sys, Stop: 0x0D1 (0x014, 0x02,
0x,00, 0x81A45805))
What am I doing wrong? Do I have to allocate the NET_BUFFER_LIST or
the NET_BUFFERS in another way or do they need some more "preparation"
before sending?
Thanks in advance for your help,
Dev