映射到程序的虚拟磁盘
本文关键字:虚拟磁盘 程序 映射 | 更新日期: 2023-09-27 18:11:47
是否有可能创建一个程序(. NET最好)创建一个虚拟驱动器号,但是当它被读、写或浏览时,一个独立的程序处理返回的是什么?
虽然你可以通过将驱动器映射到TCP服务器,webDAV或类似的东西来做到这一点,但我想知道它是否可以用内部链接来完成。
将用于受保护的存储。如果该程序输入了密码,则该程序会对驱动器中所有文件进行流加密和解密(因为它们被各种程序读取)。
你正在谈论的是一个存储设备驱动程序,这就是像Daemon Tools和TrueCrypt这样的程序如何完成这样的"虚拟"驱动器。
但是,您可能不需要深入研究内核来完成此操作。微软提供了一个Windows用户模式驱动框架,旨在简化某些常见Windows驱动类型的开发。据我所知,您应该能够使用用户模式驱动程序框架开发虚拟存储驱动程序。只要不直接与硬件交互(就像内核模式设备驱动程序那样),就不会有问题。然而,你不能在c#中做到这一点。您可能必须使用C,尽管您可能使用c++。PowerShell已经通过它的Provider模型支持类似的东西。证书存储,Active Directory, IIS配置,SharePoint,…都看起来像文件系统,使用相同的命令来查询和更新。
这是PowerShell的核心。$foo
为变量foo
的值,${c:'foo.txt}
为文件C:'foo.txt
的内容,但用作变量。同样,dir HKLM:'Software
列出该注册表项的子键。
有一个开源程序,WinCDEmu可以将ISO映像挂载到虚拟驱动器上。我想您将能够检查源代码,以找出如何提供一个满足您需要的虚拟驱动器。项目是用c++编写的。
它基于BazisLib,这是一个简化windows驱动程序开发的框架。