gpt4 book ai didi

windows - 内核模式和用户模式应用程序之间的通信

转载 作者:可可西里 更新时间:2023-11-01 13:29:58 31 4
gpt4 key购买 nike

我构建了一个在内核模式下运行的 WFP 标注驱动程序。现在,我想弄清楚如何在这个驱动程序和我在用户模式下运行的 GUI 应用程序之间进行通信。有什么想法吗?

正是我想要的是这样的:

  1. 标注驱动程序检测到端口 4444 上的传入连接(这不是我的问题的一部分)
  2. 驱动程序向用户模式应用程序发送消息。
  3. 该应用向用户显示一条通知,询问我们是否应接受/阻止连接。
  4. 用户模式应用将用户的响应发送回 callout 驱动程序。

谢谢!

最佳答案

我同意 LordDoskias 的观点。您需要创建一个设备对象并使其可用于 Win32 领域。然后就可以使用CreateFileReadFileWriteFile以及前面提到的DeviceIoControl来发送请求了。

为了从驱动程序获得通知到应用程序,您可以使用所谓的inverted call model .您发送一些 IRP(通过上述机制之一)并以异步方式(或在单独的线程中)执行。然后,驱动程序让它们悬空,直到它必须通知用户模式组件一些事情,然后返回完成的 IRP。替代方法是设置一些事件并让 UM 请求驱动程序保留在某种队列中的任何内容...

要点是,没有直接的方法可以让驱动程序发送一些消息给用户模式应用程序。

关于windows - 内核模式和用户模式应用程序之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4939030/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com