【问题标题】:Sending value from kernel mode to user mode将值从内核模式发送到用户模式
【发布时间】:2013-10-04 20:03:29
【问题描述】:

我正在为反病毒程序开发内核模式驱动程序,但我在驱动程序部分遇到了问题

我想将一个字符串值(例如“String”)从内核模式驱动程序发送到用户模式应用程序。 谁能帮我做这个?

【问题讨论】:

    标签: driver ioctl kernel-mode usermode


    【解决方案1】:

    这个问题是很久以前提出的,我希望你已经找到了解决方案。我发布了这个解决方案,因为没有。

    这取决于您希望如何将字符串发送到用户模式客户端应用程序。

    一种方法是 IOCTL 命令。您使用 METHOD_BUFFERED 发出一个简单的 IOCTL 命令(假设该字符串是小数据),瞧,您就完成了。

    另一种方法是让客户端等待一个事件,并在该字符串可用于内核驱动程序时让驱动程序触发一个事件。然后,随着用户模式应用程序中的等待结束,您将获得数据。 (当然,如果等待没有超时或其他许多事情)

    【讨论】:

      【解决方案2】:

      这里定义了函数copy_to_user include/asm/uaccess.h。借助它,您可以安全地将数据从内核模式复制到用户模式。

      【讨论】:

        猜你喜欢
        • 2013-10-04
        • 2012-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-30
        • 2018-11-01
        • 1970-01-01
        • 2011-04-10
        相关资源
        最近更新 更多