将值从内核模式发送到用户模式

时间:2013-10-04 20:03:29

标签: driver ioctl kernel-mode usermode

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

我想从内核模式驱动程序向用户模式应用程序发送字符串值(例如“String”)。 任何人都可以帮我这样做吗?

2 个答案:

答案 0 :(得分:1)

很久以前就问过这个问题了,我希望你找到了解决方案。我发布此解决方案,因为没有。

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

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

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

答案 1 :(得分:0)

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