I've been monitoring your Git updates and I seriously appreciate that you've translated comments here into Wiki notes and other updates. Now I'm feeling compelled to contribute. :)
I've seen those MS docs and am still making sense of them. My thinking right now is that I believe someone implementing a Filter Driver would need to do that kernel-level development, plus the mini drivers, and then do their user mode development on top of that. That's a lot of work. For those of us who don't write C or aren't familiar with kernel-mode development that puts this functionality out of reach. So I agree that file system options do seem to be best for most purposes outside of the two common examples of encryption and malware detection.
About the "the whispers about Dokan missing functionalities", it's pretty easy to Google for "dokan cbfs" to find a number of people who tried to use Dokan some years ago, they found it had problems, and they decided to switch to a commercial offering. Their web pages are aggressively against Dokan, which they obviously perceive as the leading competition:
https://www.eldos.com/cbfs/no-dokan.phpToo many people look at old Dokan data and don't know about DokanX/Y or current usage/efforts. This comes back to my statements that there just isn't enough current data, for or against Dokan, which helps someone to make a decision today.
I had a chuckle a their list of things that are missing from Dokan. This isn't missing functionality but honest value-add which CBFS has built over their core offering. There's nothing wrong with differentiation but they do pitch it like Dokan is deficient in not having their features - even though the features aren't "needed" for basic functionality. Still, they do provide a list of options which would be nice for a Dokan roadmap ... and a roadmap is exactly one of the features which Dokan is missing and which they consider a part of their value-add.
https://www.eldos.com/cbfs/dokan-to-cbfs.phpNote that they incorrectly state this feature is not supported by Dokan, where it is: "
Folder on existing NTFS drive instead of drive letter as a parameter to AddMountingPoint() method"
Enough for now.