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