是否有可能创build一个程序(.NET优先)创build一个虚拟的驱动器号,但是当它被读取,写入或浏览一个独立的程序处理返回什么?
虽然你可以通过映射驱动器到TCP服务器,webDAV或类似的东西,我想知道是否可以用内部链接完成。
这将用于受保护的存储。 如果程序已经input了密码,该程序会对驱动器中的所有文件进行encryption和解密(因为它们被各种程序读取)。
你所说的是一个存储设备驱动程序,这就是Daemon Tools和TrueCrypt等程序如何完成这种“虚拟”驱动。
不过,你可能不需要深入内核来完成这个任务。 Microsoft提供Windows用户模式驱动程序框架,旨在简化某些常见Windows驱动程序类型的开发。 据我所知,你应该能够开发一个使用用户模式驱动框架的虚拟存储驱动程序。 只要你不直接与硬件交互(就像内核模式设备驱动程序那样),你应该没问题。 但是,您将无法在C#中执行此操作。 你可能不得不使用C,尽管你可能会使用C ++。
PowerShell已经在其Provider模型中支持这样的东西。 证书存储,活动目录,IIS配置,SharePoint,…都使得看起来像文件系统一样,使用相同的命令来查询和更新。
这是PowerShell的核心。 $foo
是变量foo
的值, ${c:\foo.txt}
是文件C:\foo.txt
的内容,但是像变量一样使用。 同样地, dir HKLM:\Software
列出了该注册表项的子项。
你可以写你自己的提供者。
有一个开源的程序, WinCDEmu ,可以挂载ISO映像到虚拟驱动器。 我想你将能够检查来源,找出如何提供一个你想要的虚拟驱动器。 该项目是用C ++编写的。
它基于BazisLib ,这是一个简化Windows驱动程序开发的框架。