Ndis lw filter FilterPause

Hello !

I 've got question about pausing state in filter. In documentation I read that I must
return all outstanding send requests that the driver originated to the FilterSendNetBufferListsComplete. As I understood I should make a counter and increment it for every NBL in FilterSendNetBufferLists and decrement it in FilterSendNetBufferListsComplete
as it is in the winddk example. Then when I am in pausing state I should wait for all outstanding NBLs by looping and checking whether this counter is 0? I am asking because in
the example there’s nothing about it and maybe I don’t have to care about this either.

Thanks for Your help!

NDIS doesn’t particularly care how you meet the requirement. You can count each NBL; that’ll work.

The sample filter driver doesn’t wait for any counters to go to zero because the sample filter doesn’t actually originate any NBLs. If it originated NBLs, it would need to track them.

wait for all outstanding NBLs by looping and checking whether this counter is 0

This is probably the simplest way to solve the problem.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Monday, August 22, 2011 3:24 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Ndis lw filter FilterPause

Hello !

I 've got question about pausing state in filter. In documentation I read that I must return all outstanding send requests that the driver originated to the FilterSendNetBufferListsComplete. As I understood I should make a counter and increment it for every NBL in FilterSendNetBufferLists and decrement it in FilterSendNetBufferListsComplete as it is in the winddk example. Then when I am in pausing state I should wait for all outstanding NBLs by looping and checking whether this counter is 0? I am asking because in the example there’s nothing about it and maybe I don’t have to care about this either.

Thanks for Your help!


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

>> wait for all outstanding NBLs by looping and checking whether this counter is 0

This is probably the simplest way to solve the problem.

Too bad that rundown protection object is not documented.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com