【问题标题】:how to : do 2 way communication between user mode and kernel mode如何:在用户模式和内核模式之间进行 2 路通信
【发布时间】:2012-06-26 05:11:14
【问题描述】:

我编写了一个驱动程序,它从 IRP 缓冲区中提取一个值。现在基于这个关键字,我必须通过或丢弃 IRP。所以我需要从内核模式驱动程序中与数据库进行通信,这并不容易。所以我正在使用应用程序或 exe 来执行此操作,这将导致我将传递或丢弃 IRP 的真假。

我想将驱动程序与我在客户端应用程序中获取数据的应用程序链接。

我考虑过使用可以充当管道的临时文件。

请提出一些建议。

【问题讨论】:

    标签: driver kernel-mode wdf minifilter


    【解决方案1】:

    我会选择 IOCTL。

    与数据库通信的应用程序从向驱动程序发送一个或多个 IOCTL 开始。我们将这种类型的 IOCTL 称为 IOCTL-1。

    IOCTL-1 的完成表示驱动程序对数据库的请求。请求详细信息可以在 IOCTL 输出缓冲区中传递。

    应用程序检测 IOCTL-1 完成,检索请求详细信息,运行查询并使用不同的 IOCTL (IOCTL-2) 将结果传递给驱动程序。然后它重新发送 IOCTL-1,以便驱动程序可以发出另一个请求。

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 2011-06-23
      • 2019-07-27
      • 1970-01-01
      • 2015-12-12
      • 2012-12-13
      • 2014-08-03
      • 1970-01-01
      • 2017-08-04
      相关资源
      最近更新 更多