2015-03-19 194 views
0

我有一个驱动程序(内核模式)(KMDF),我有一个用户喜好形式。我需要从驱动程序代码开始活动并获取首选项。 那么我如何从Windows操作系统的内核启动该用户模式程序?如何从Windows内核模式启动用户模式程序

+0

这看起来有点奇怪。为什么你需要从驱动程序启动偏好表单?用户模式程序应该以标准方式启动,当用户执行它时。 – 2015-03-19 09:20:38

+0

@AlexFarber我想在驱动程序条目中显示一个弹出窗口并将结果返回。 – 2015-03-19 10:00:02

+0

DriverEntry可以在引导时执行,也可以在用户登录之前执行。无论如何,我从来没有见过这样的实施。我认为你需要编写用户模式程序来侦听驱动程序事件,并在必要时显示一些UI。 – 2015-03-19 10:23:23

回答

3

获得驱动程序在用户模式下执行某些操作的最佳方式是让它与可以完成工作的用户模式组件通信。所以,你需要做一些类似于用户模式的服务,为驱动程序打开一个通道,然后当驱动程序需要执行某些操作(例如启动进程)时,它可以向服务发送消息。

如需了解更多信息,请搜索osronline获取更多信息,或查看FltSendMessage API文档,了解构建微型过滤器的信息。

正如其他海报已经指出,在DriverEntry中执行此操作可能无法正常工作,因为甚至可能连用户会话都无法与之通信。

1

只要你不能使用怪异的无证技巧,如APC,可能会导致许多许多不兼容问题; 只需将您的应用程序作为自动启动(例如CurrentVersion \ Run)并将IRP发送给驱动程序并提供需要发送的数据。

相关问题