需要帮助理解非任意线程上下文?

时间:2013-09-26 10:48:20

标签: window windows-kernel

我正在阅读有关驱动程序同步的MSDN文档,我遇到了类似这样的声明

如果

,司机可以等待
  

•驱动程序正在非任意线程上下文中执行。那是,   您可以识别将进入等待状态的线程。在实践中,   在非任意线程上下文中执行的唯一驱动程序例程   是DriverEntry,AddDevice,Reinitialize和Unload例程   任何驱动程序,以及最高级别驱动程序的调度例程。所有   这些例程由系统直接调用

现在我的问题是为什么在任意线程上下文中考虑调度例程?因为当从用户空间引发请求时会调用read,write和其他例程,所以我们可以知道哪个线程在系统空间中做了什么?我是完全搞砸了,或者这可能是一个愚蠢的问题,但仍然帮助我因为我是windwos的新手。

1 个答案:

答案 0 :(得分:0)

好的,我在文件中找到了答案:),这就是它所说的......

  

尽管最高级别的驱动程序在上下文中接收I / O请求   在请求线程中,他们经常将这些请求转发给他们   不同线程上的低级驱动程序。因此,你可以做   没有关于用户模式地址空间内容的假设   这样的例程被称为

的时间