lnt_ddn
驱动牛犊
驱动牛犊
  • 注册日期2004-03-06
  • 最后登录2012-02-02
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望5点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1613回复:3

求助:KeGetCurrentThread()导致系统崩溃???

楼主#
更多 发布于:2004-03-23 11:33
我做了个系统线程,一切工作良好。
我用KeSetPriorityThread()降低线程优先级,但是,之前对KeGetCurrent()的调用立马导致系统崩溃,这是怎么回事,那位帮忙解决一下。
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-23 15:16
1. KeSetPriorityThread()必须在IRQL PASSIVE_LEVEL上面调用。
2. 不能设得太低,LOW_PRIORITY是系统保留的。
3. KeSetPriorityThread()一旦调用,系统的调度策略是立即生效的。
A strong man can save himself. A great man can save another.
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-03-24 13:54
问题解决了吗?
A strong man can save himself. A great man can save another.
lnt_ddn
驱动牛犊
驱动牛犊
  • 注册日期2004-03-06
  • 最后登录2012-02-02
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望5点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-25 12:03
我是在系统线程中调用KeGetCurrentThread()和KeSetPriorityThread()。
系统线程应该是在Passive_level上,参数是LOW_REALTIME_PRIORITY,而且,导致系统崩溃的似乎是KeGetCurrentThread(),而不是KeSetPriorityThread()。
游客

返回顶部