版块
论坛
喜欢
话题
应用
搜索
登录
注册
qinxg的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=40460
几个一直没有弄懂的问题
1. 是不是在DISPATCH_LEVEL上不会发生线程切换? 如某个线程提升自己到DISPATCH_LEVEL,定时器回调和socket回调函数是否被阻塞(它们都是DIPATCH_LEVEL)?2. 如果Win32程序开几个线程操作驱动程序,当某个Win32线程在驱动里提升到D...
全文
回复
(
4
)
2003-12-19 09:28
来自版块 -
内核编程
◆
◆
表情
告诉我的粉丝
提 交
cool-net
:
IRQL_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)
回复
qinxg
加关注
写私信
0
关注
0
粉丝
157
帖子
返回顶部