0

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

4

2 回答 2

3

让驱动程序在用户模式下做某事的最好方法是让它与可以完成工作的用户模式组件通信。所以你做一些事情,比如有一个用户模式服务,它为驱动程序打开一个通道,然后当驱动程序需要做某事(例如,启动一个进程)时,它可以向服务发送消息。

在 osronline 中搜索反向调用模型以获取更多信息,或查看 FltSendMessage API 文档(如果您正在构建微过滤器)。

正如其他海报所指出的那样,在 DriverEntry 中执行此操作可能不会起作用,因为甚至可能没有用户会话可以与之通信。

于 2015-03-23T18:26:58.953 回答
1

除非您使用像 APC 这样的奇怪的无证技巧,否则您不能这样做,这可能会导致许多不兼容问题;只需将您的应用程序设置为自动启动(例如 CurrentVersion\Run ),然后将 IRP 与您需要发送的数据一起发送到驱动程序。

于 2015-03-19T12:26:28.900 回答