我正在阅读有关驱动程序同步的MSDN文档,我遇到了类似这样的声明
如果
,司机可以等待•驱动程序正在非任意线程上下文中执行。那是, 您可以识别将进入等待状态的线程。在实践中, 在非任意线程上下文中执行的唯一驱动程序例程 是DriverEntry,AddDevice,Reinitialize和Unload例程 任何驱动程序,以及最高级别驱动程序的调度例程。所有 这些例程由系统直接调用
现在我的问题是为什么在任意线程上下文中考虑调度例程?因为当从用户空间引发请求时会调用read,write和其他例程,所以我们可以知道哪个线程在系统空间中做了什么?我是完全搞砸了,或者这可能是一个愚蠢的问题,但仍然帮助我因为我是windwos的新手。
答案 0 :(得分:0)
好的,我在文件中找到了答案:),这就是它所说的......
尽管最高级别的驱动程序在上下文中接收I / O请求 在请求线程中,他们经常将这些请求转发给他们 不同线程上的低级驱动程序。因此,你可以做 没有关于用户模式地址空间内容的假设 这样的例程被称为
的时间