我使用的是与Microsoft的MiniSpy示例性质相似的自定义minifilter驱动程序,我在C#中编写了一个用户模式应用程序来与之通信。
我需要管理员权限来安装过滤器 - 这似乎是合理的。但是,如果没有管理员权限,我的应用程序会在HResult:0x80070005 (Access is denied)
和FilterAttach
等重要调用上返回FilterConnectCommunicationPort
。使用管理员权限一切正常。
我的问题是:有没有办法解决用户模式应用程序的管理要求?
这篇文章:https://www.osronline.com/showthread.cfm?link=157827似乎表明打开通讯端口没问题,但没有附加到驱动器上:
但是,它无法附加到卷上。正如微软的某位成员解释的那样,这是一项只允许管理员使用的操作。
是否有办法启动具有管理员权限的第二项服务,我的非管理员用户模式应用程序可以连接到该服务?如果是这样,我甚至需要第二次服务或者我可以使用过滤器吗?或者是否有任何方法可以将我的应用程序设置为不受管理员权限要求的限制?
答案 0 :(得分:2)
最后,与我的应用程序访问的Windows服务与过滤器通信并托管WCF服务器。