拜读了http://www.driverdevelop.com/forum/viewthread.php?tid=59907#pid479904文章中所说的TDI_CONNECT和TDI_ACCEPT的阻断,可是不明白具体如何实现。我不知道TDI_CONNECT和TDI_AC...
全文
回复(12) 2005-05-12 16:30 来自版块 - NDIS网络接口开发
表情
tooflat 我把pending理解成block了,看了你的解释,是应该可以实现对 tdi_accept的block的,类似于tdi_connect,我想allendeng也是这么 实现的。 但你下面的一些描述我认为不准确 协议驱动(tdi server,一般是tcp )调用i...(2005-05-26 15:07)
zhaockpending 的意思不是blocking,就是该irp不再处理了,等到某个合适的时候,有你的驱动再来完成它。 将一个irp pending的方法是这样的,在该irp的dispatch例程必须返回status_pending,这样该irp就pending住了(发出这个irp请求...(2005-05-17 14:55)
lifeshippending 的意思不是blocking,就是该irp不再处理了,等到某个合适的时候,有你的驱动再来完成它。 将一个irp pending的方法是这样的,在该irp的dispatch例程必须返回status_pending,这样该irp就pending住了(发出这个irp请求...(2005-05-17 13:17)
zhaockdpc level就是dispatch level. tdi_connect是在passive level. 谈不到,属于核心机密,都是做windows驱动一些基本的概念 但对于ClientEventHandler,从理论上讲因为是在dpc level,不能挂住。 g...(2005-05-17 10:10)
liusz我也很想知道. 哪位高手出来进一步说一下? 楼上那位说的dpc level 是指DISPATCH_LEVEL吗? 好象tdi_connect也是DISPATCH_LEVEL的, 不敢肯定,明日跟踪一下. 这是个普遍的问题, 无论是以TDI或NDIS为技术的包拦截, 都...(2005-05-17 09:45)
mingfa我也很想知道. 哪位高手出来进一步说一下? 楼上那位说的dpc level 是指DISPATCH_LEVEL吗? 好象tdi_connect也是DISPATCH_LEVEL的, 不敢肯定,明日跟踪一下. 这是个普遍的问题, 无论是以TDI或NDIS为技术的包拦截, 都...(2005-05-17 05:32)
zhaock你对tdi_connect的处理,是完全正确的. <<在tdi_accept_complete例程中进行pending 就可以了 因为级别<=dpc level,是不能够pending的。 而gjpland说的对tdi_accept的pending...(2005-05-16 09:53)
liusz首先谢谢zhaock的指点,我希望能继续讨论下去 :) btw:我想给这个帖子更多的分,可是修改分数的时候,最大可给分20分。发帖子的时候最高只能设定20分, :P 对于tdi_connect,简单的KeWaitForSingleObjec将irp pending 就可以了...(2005-05-15 21:40)
zhaock对于tdi_connect,简单的KeWaitForSingleObjec将irp pending 就可以了,没有什么可说的 但对于进来的连接,就没有这么简单了。 当tcp 收到syn包的时候,会调用tdi client注册的函数 ClientEventHandler,...(2005-05-15 14:41)
liusz受到该请求,向应用发通知,等待上层应用程序返回,继续执行 谢谢lifeship,可是我还是不明白,这个过程难道不需要pending(irp)? 直接加上向应用程序的通知?然后WaitForSingleObject(appDlgEvent)? 从 http:/...(2005-05-15 09:24)

返回顶部