简体   繁体   English

如何在Windows中编写自己的“文件系统”?

[英]How can I write my own 'filesystem' within Windows?

I've recalled using little 'filesystems' before that basically provided an interface to something else. 我已经回想起之前使用的小'文件系统'基本上提供了一个其他东西的接口。 For example, I believe there was a GMail filesystem that created an entry in My Computer and could be used like any other drive on your local computer. 例如,我相信有一个GMail文件系统在我的电脑中创建了一个条目,可以像本地计算机上的任何其他驱动器一样使用。 How can I go about implementing something like this in C++? 我怎样才能在C ++中实现这样的东西呢? Thank you! 谢谢!

Try Dokan . 试试Dokan It's like FUSE, except for Windows. 它就像FUSE,除了Windows。 I think there are certain limitations to namespace extensions, like they cannot be accessed from the command line, but I'm really not sure as of now. 我认为名称空间扩展有一些限制,比如无法从命令行访问它们,但我现在还不确定。

Writing an actual file-system involves writing a driver ; 编写实际的文件系统涉及编写驱动程序 ; which means kernel-mode code (scary stuff) and 这意味着内核模式代码(可怕的东西)和 paying for 支付 getting the IFS DDK . 获得IFS DDK (edit: looks like they don't charge for it anymore) (编辑:看起来他们不再收费了)

What you probably want is a “namespace extension”. 您可能想要的是“命名空间扩展”。 Try this: The Complete Idiot's Guide to Writing Namespace Extensions - CodeProject 试试这个: 完整的白痴指南编写命名空间扩展 - CodeProject

这可能是以GMail文件系统过去的方式扩展NTFS的起点: Windows NT重新分析点

The GMail Filesystem is just the name given; GMail文件系统只是给出的名称; it is not any filesystem as such. 它不是任何文件系统。 It is just a namespace extension for Windows Explorer that links with the GMail account of yours! 它只是Windows资源管理器的命名空间扩展,它与您的GMail帐户相关联!

I dont know exactly what you are trying to do, but in anyway, I believe, the following link will be of some use to you: 我不确切地知道你想要做什么,但无论如何,我相信,以下链接对你有用:

http://msdn.microsoft.com/en-us/magazine/cc188741.aspx http://msdn.microsoft.com/en-us/magazine/cc188741.aspx

仅作为参考:可以使用我们的回调文件系统产品创建虚拟驱动器,该产品是受支持,记录和维护的解决方案。

I was thinking of this too, perhaps some example code ? 我也在想这个,也许是一些示例代码? (email me if i forget plz ;p doin sdk now) (如果我忘了PLZ,请给我发电子邮件; p doin sdk now)

I'm thinking of a similar filesystem that would plug in as a driver and allow dynamic 'soft raid' on larger files mostly by putting them on more than one disk, perhaps some compression options and 'smart' filters to toggle usage in high disk space low usage and other situations more effectively, with status controls and indicators as a normalish program too 我正在考虑一个类似的文件系统,它可以作为驱动程序插入并允许对较大文件进行动态“软raid”,主要是将它们放在多个磁盘上,可能是一些压缩选项和“智能”过滤器来切换高磁盘使用情况空间低使用率和其他情况更有效,状态控制和指标也是正常计划

Seems like I would load the driver kit, then i want the file writing event, and am mostly replacing fopen and similar functions automatically as an intermediate driver with a little windows network driver experience 好像我会加载驱动程序工具包,然后我想要文件写入事件,并且大多数自动替换fopen和类似的功能作为具有一点Windows网络驱动程序体验的中间驱动程序

I also heard good things about developing on a virtual machine for less crashing and more debugging 我还听说过在虚拟机上进行开发以获得更少的崩溃和更多的调试

Also perhaps more metainfo on some or all files, including files in special folders with options too, including maybe both fast and simple (obfuscated and/or symmetic key) encryption options on folder, specified, all, letter, etc, or whatever, or the slower version and maybe integrated and optional (also profitable) online cvs-like diff style backups that mostly target changes to hot files for online backup at intervals and prices, mostly perhaps with matching keyboard events and might even be useful as simply a keylogging online backup service that is reasonably secure too 也许在一些或所有文件上有更多元信息,包括带有选项的特殊文件夹中的文件,包括文件夹,指定,全部,字母等等的快速和简单(混淆和/或对称密钥)加密选项,或者较慢的版本,可能是集成的和可选的(也是有利可图的)在线cvs式差异式备份,主要针对热门文件的更改,以间隔和价格进行在线备份,大多数情况下可能与匹配的键盘事件有关,甚至可能只是在线键盘记录有用备份服务也相当安全

while avoiding common files like windows files or the normal stuff in the 'programs' directory that can be copied easily with pirate tools, unlike all of your documents. 同时避免常用文件,如Windows文件或“程序”目录中的常规文件,可以使用盗版工具轻松复制,与所有文档不同。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM