Minifilters vs File System Filters

1.9k views Asked by At

I know there are two types of drivers for filtering, the old File System Filter, and the newer minifilters.

I've been looking up information about both of these and it looks like both are still supported by current versions of windows. What I couldn't find was any reliable information as to whether it will stay this way. I saw on the Microsoft site that developers are encouraged to port legacy filters to minifilters, but I didn't find anything anywhere about deprecation of the old system (or plans to deprecate it).

However on some blogs I read that they should be ported and that microsoft have said that this will be enforced in the future, but I haven't found the source of that statement.

Can anyone shed some light on this?

I am not developing a new driver myself, I have a particular legacy filter and would like to know if it's safe to use. I don't wish to use this and Microsoft suddenly decide that only minifilters will be supported in the next version of windows or something

2

There are 2 answers

0
Evgenii Gostiukhin On

Legacy file system filter is just WDM filter in FS stack. WDM is base model in Windows kernel world and there are no chances that this model will disappear. You can use it but there are some problems:

  1. There are some differences from kernel version to another kernel version that you probably must support to be reliable in WDM filter. It depends on the driver and just FS stuff.
  2. Minifilters is simpler (10000% simpler) to support and write more reliable drivers.

Minifilter model is just an abstraction and services that you must implement by hand in WDM case. And it's worth (in any case) port driver to mini-filter if you want a reliable solution.

0
Gabriel Bercea On

In fact Microsoft I believe has made tremendous efforts to "force" developers to move to the minifilter model rather than the old legacy. Now administrators have the option to block these, check here, and I would not be surprised if they enable this by default. On the link I provided you will also find guidelines on how to port your legacy filter or start working with the minifilter model.