【问题标题】:How kernel serial driver request user-mode application to read data?内核串行驱动程序如何请求用户模式应用程序读取数据?
【发布时间】:2019-06-06 13:35:23
【问题描述】:

我正在尝试为具有异步通信的 Windows 开发内核串行端口驱动程序。我知道我必须为读/写等定义 IRP 调用。将数据从用户模式应用程序写入驱动程序很简单 - 只需调用正确的 IRP 就可以了。如果它是关于从串行读取数据 - 我被卡住了。从串行读取数据的机制是什么?我无法想象用户模式应用程序会不断请求读取 IRP(如果您没有任何数据要从驱动程序传输到应用程序,则会浪费资源)。我认为驱动程序可能会升起一个标志或类似的东西来传输数据。请帮助我了解它是如何工作的,或者它是如何在 Windows 内核中完成的。

问候, 陆

【问题讨论】:

    标签: windows serial-port kernel driver virtual


    【解决方案1】:

    用户模式应用程序发送读取请求,该请求在数据准备好之前处于挂起状态。传输数据时,应用程序发送下一个读取请求。 Link to answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 2021-05-08
      • 2012-12-13
      • 2013-03-30
      • 1970-01-01
      • 2015-04-14
      相关资源
      最近更新 更多