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