hi all,

I am trying to implement a packet capture driver in DDK. Unlike netmointor,
I hope the driver could capture the packet to application real-time. So I
implement an event, generated by driver, to indicate the application to get
the captured packet from driver.

In order to reduce the overhead in keeping the captured packets, I use a
buffer pool in driver to contained the packet temporarily before application
read them. However, if the pool is full in the heavy traffic cases, the
extra packet will lose.

I find NDIS uses a PENDING state in its receive path. How can I implement
the similar approach to cover the problem.

Thanks!

-Liang

Re: How to implement the pending mechanism between KM and UM by Bell

Bell
Tue Dec 27 18:41:37 CST 2005

Hi Liang Chen,

Just go to the website of WHDC, search the following article:
User-Mode Interactions: Guidelines for Kernel-Mode Drivers.

Well, I think you will get the answer.

Good luck.
Bell K.


"Liang Chen" <LiangChen@discussions.microsoft.com>
> hi all,
>
> I am trying to implement a packet capture driver in DDK. Unlike
> netmointor,
> I hope the driver could capture the packet to application real-time. So I
> implement an event, generated by driver, to indicate the application to
> get
> the captured packet from driver.
>
> In order to reduce the overhead in keeping the captured packets, I use a
> buffer pool in driver to contained the packet temporarily before
> application
> read them. However, if the pool is full in the heavy traffic cases, the
> extra packet will lose.
>
> I find NDIS uses a PENDING state in its receive path. How can I implement
> the similar approach to cover the problem.
>
> Thanks!
>
> -Liang
>