1

我的雇主要求我找到一种方法来制作在安装虚拟驱动器时运行的服务,并检查用户或外部进程是否尝试访问它,如果这样做,该服务应通知负责管理的软件驱动器并卸载它。这是因为他们不希望任何人弄乱驱动器中的文件。

我试图在stackoverflow上查找一些问题,我发现的是: - 阻止驱动器DirectoryInfo中的文件;- 创建一个带有微过滤器的驱动程序,检查文件是否被访问;

但他们都没有真正回答我的问题。

我有创建和安装驱动器以及卸载驱动器的代码,我也有使用 DirectoryInfo 阻止文件的代码,但我不知道如何继续

有人可以告诉我我想要实现的目标是否可行,如果可以,我应该采取什么途径!

4

1 回答 1

0

正确的解决方案是使用文件系统过滤器驱动程序,它将同步检查对驱动器的访问(当请求到来时)并阻止请求或执行任何其他操作。这可能需要在内核模式下进行一些工作,或者可以使用像CBFS 过滤器这样的组件(免责声明 - 我们维护该产品),它为您提供了预定义的规则和在用户模式下动态处理所有请求的选项(通过事件),有了它,你的任务在不到一个小时的编码中就得到了解决。

内核模式驱动程序可以获得打开文件或执行文件系统操作的进程的凭据(名称、安全令牌、PID),并采取相应的行动。在 CBFS 过滤器中,此信息在事件处理程序中可用,因此应用程序可以对其做出反应。

于 2019-06-13T06:18:40.803 回答