0

我想从内核模式驱动程序调用一个带有 2 个参数的 exe,并在驱动程序中取回布尔值(0 或 1)结果。

怎么做 ?

4

3 回答 3

0

kernel mode - user mode communication are maintained in another way. Basically in minifilters you must use this framework for communication - FltCreateCommunicationPort/FltSendMessage/etc read this materials http://download.microsoft.com/download/e/b/a/eba1050f-a31d-436b-9281-92cdfeae4b45/filterdriverdeveloperguide.doc (chapter about communication)

and

http://download.microsoft.com/download/f/0/5/f05a42ce-575b-4c60-82d6-208d3754b2d6/messagesupport.ppt

于 2012-06-25T16:49:35.353 回答
0

您不能真正从微过滤器或任何其他内核驱动程序启动用户模式进程。您可能需要重新考虑您的设计。

这个线程可以帮助你:如何创建一个将在 Windows 内核级别运行的进程?

于 2012-06-25T10:51:15.830 回答
0

据我所知,只有用户模式进程通常会启动进程。我只能想到 Windows 内核在没有用户态进程帮助的情况下真正完全从内核态启动一个进程的时候,那就是它在早期启动时启动 SMSS,但是 SMSS 在这方面必须被认为是特殊的上下文,因为它不在任何特定子系统的上下文中运行。一旦 CSRSS 运行,所有进程都在用户模式进程的协作下启动。从内核模式启动一个进程会绕过用户模式下的 win32 和 CSRSS,这使得该进程不太可能做任何有用的事情。即使可以做到,因为它不是内核自己做的事情不止一次,它似乎不太容易做到或记录在案。

于 2012-06-25T14:02:51.030 回答