1. 是不是在DISPATCH_LEVEL上不会发生线程切换? 如某个线程提升自己到DISPATCH_LEVEL,定时器回调和socket回调函数是否被阻塞(它们都是DIPATCH_LEVEL)?2. 如果Win32程序开几个线程操作驱动程序,当某个Win32线程在驱动里提升到D...
全文
回复(4) 2003-12-19 09:28 来自版块 - 内核编程
表情
cool-netIRQL_NOT_LESS_OR_EQUE 这个信息并不一定是由于IRQL造成的,比如你在DISPATCH_LEVEL访问分页内存,甚至由于程序的原因造成空指针访问时,都有可以引发IRQL_NOT_LESS_OR_EQUE。(2003-12-19 21:11)
arthurtu一般提升irql是为了访问共享资源的时候防止冲突,会回复到以前的irql的(2003-12-19 14:15)
qinxg谢谢arthurtu. 我还有一个问题: 一个 tdi socket线程,本身是PASSIVE_LEVEL,它和下层tcp驱动通信后,有没有可能自己的IRQL被提升到DISPATCH_LEVEL. 我下了本站的那个tdi tcp的例子,发现有时奇怪的出现IRQL_NOT_L...(2003-12-19 12:30)
arthurtu在dispatch level,要么是自己运行完了,要么是被其它更高的irql如硬件中断打断了。 2、其它Win32线程就没有机会运行,在单CPU下。(2003-12-19 10:41)

返回顶部