PASSIVE_LEVEL == KeGetCurrentIrql() / UserMode == ExGetPreviousMode() 区别?

xingworld 2010-07-20 04:47:40
if ( PASSIVE_LEVEL == KeGetCurrentIrql() ) 与
if ( UserMode == ExGetPreviousMode() )
有区别吗?

谢谢!
...全文
280 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingworld 2010-07-20
  • 打赏
  • 举报
回复
哦,很感谢楼上的回复。如果能有更多的资料学习就好了。
  • 打赏
  • 举报
回复
简单的说:PASSIVE_LEVEL是相对安全级(不是在调度或中断调用级),很多API只能在这一级级上用.
xingworld 2010-07-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 blukercn 的回复:]
当然有区别,只是都可以确认为UserMode,
PASSIVE_LEVEL更加准确,一般应该确保PASSIVE_LEVEL == KeGetCurrentIrql()
[/Quote]

请问确认 PASSIVE_LEVEL == KeGetCurrentIrql() 对于程序有什么意义呢?
谢谢!
  • 打赏
  • 举报
回复
当然有区别,只是都可以确认为UserMode,
PASSIVE_LEVEL更加准确,一般应该确保PASSIVE_LEVEL == KeGetCurrentIrql()

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧