简体   繁体   中英

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. How can I go about implementing something like this in C++? Thank you!

Try Dokan . It's like FUSE, except for 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 . (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

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

The GMail Filesystem is just the name given; it is not any filesystem as such. It is just a namespace extension for Windows Explorer that links with the GMail account of yours!

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

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

I was thinking of this too, perhaps some example code ? (email me if i forget 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

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

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

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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