Kernel 迷你过滤器:如何从内核模式运行应用程序

Kernel 迷你过滤器:如何从内核模式运行应用程序,kernel,driver,minifilter,Kernel,Driver,Minifilter,现在,我正在内核模式下使用迷你过滤器。我想运行一个应用程序(系统应用程序,如:notepad.exe,mspaint.exe,或由用户创建的应用程序,如:C#application…) 我的问题是: 我可以从内核运行应用程序吗 如果可以,我该怎么办 新年快乐 谢谢大家 [编辑] 我创建了一个windows服务(C#),以在它们之间进行通信(迷你过滤器(C)和应用程序(C#,C/C++)) Windows服务将启动应用==>完成。它将在从minifilter获取并检查消息后执行 微型过滤器向服务发

现在,我正在内核模式下使用迷你过滤器。我想运行一个应用程序(系统应用程序,如:notepad.exemspaint.exe,或由用户创建的应用程序,如:C#application…)

我的问题是:

  • 我可以从内核运行应用程序吗
  • 如果可以,我该怎么办
  • 新年快乐

    谢谢大家

    [编辑]

    我创建了一个windows服务
    (C#)
    ,以在它们之间进行通信(迷你过滤器
    (C)
    和应用程序
    (C#,C/C++)

  • Windows服务将启动应用==>完成。它将在从minifilter获取并检查消息后执行

  • 微型过滤器向服务发送消息

  • [Minifilter]创建通信端口

  • [Minifilter]检查条件后向服务部门发送消息

  • [服务]通过FilterGetMessage从此端口获取消息

    ==>如何在C#中使用FilterGetMessage?

  • 更新:我用过

  • FltSendMessage在驾驶员处发送信息给服务人员

  • FilterGetMessage在服务中从驾驶员处获取信息

  • ==>但是消息缓冲区为空,尽管状态为成功(状态=0)


    p/S:消息内容是一个文件名。

    Windows Minifilter具有从用户模式应用程序发送和接收消息的框架。有关通信机制的更多信息,请查看此api:FilterSendMessage。使用此功能,您可以向用户模式应用程序发送启动应用程序的通知。

    无法直接从内核运行应用程序。您应该让一个线程或服务像运行应用程序一样运行,然后该线程请求一个内核驱动程序,并等待内核驱动程序触发共享事件或完成挂起IRP@reinhardv.z. 跟随你们:我必须在微过滤器驱动程序和应用程序之间做一个服务。当某些条件正确时,minifilter将事件共享给服务,然后服务启动应用程序。是这样吗
    您能否提供有关minifilter驱动程序共享事件或完成挂起IRP的更多信息?(我只是个新手)

    非常感谢。也许这篇文章能帮助您。。。。反向呼叫模式良好luck@reinhardv.z. 我正在使用windows服务在它们之间进行通信。我可以从windows服务调用应用程序。minifilter和windows服务之间的通信如何?谢谢。FilterSendMessage函数向内核模式的迷你过滤器发送消息。但我希望minifilter(内核模式)启动应用程序(例如:C:\Program Files\Abc\def.exe),该应用程序现在不运行。谢谢您需要一个usermode应用程序,内核模式驱动程序在需要运行应用程序时将消息传递给它。我有:-(1)Minifilter(内核模式)--它总是运行

    -(2)带有GUI的应用程序(用户模式)--它没有。它仅在微过滤器检查条件时运行。完成后它将自动停止。我正在尝试使用windows服务在它们之间进行通信。在WDK中,有一个示例使用FilterSendMessage在minifilter和应用程序之间进行通信。看看吧,你会有主意的。
    What is not correct?