是否可以创建一个程序(最好是.NET)来创建一个虚拟驱动器号,但是当它被读取,写入或浏览一个独立的程序时会处理返回的内容?
虽然您可以通过将驱动器映射到TCP服务器,webDAV或类似的东西来实现,但我想知道是否可以使用内部链接完成。
这将用于受保护的存储。如果程序有密码,该程序会对驱动器中的所有文件进行加密和解密(因为它们被各种程序读取)。
答案 0 :(得分:3)
您所谈论的是存储设备驱动程序,这是Daemon Tools和TrueCrypt等程序完成此类“虚拟”驱动器的方式。
但是,您可能不必深入研究内核来完成此任务。 Microsoft提供Windows用户模式驱动程序框架,旨在简化某些常见Windows驱动程序类型的开发。据我所知,您应该能够使用用户模式驱动程序框架开发虚拟存储驱动程序。只要你没有直接与硬件交互(就像内核模式设备驱动程序那样),你应该没问题。但是,您将无法在C#中执行此操作。你可能不得不使用C,尽管你可能会使用C ++。
答案 1 :(得分:1)
PowerShell已经通过其Provider模型支持这样的事情。证书存储区,Active Directory,IIS配置,SharePoint,......都使用相同的命令来查看和更新文件系统。
这是PowerShell的核心。 $foo
是变量foo
的值,${c:\foo.txt}
是文件C:\foo.txt
的内容,但就像变量一样使用。同样dir HKLM:\Software
列出该注册表项的子键。
您可以自己编写提供商。
答案 2 :(得分:1)