is there any opensource or commercial minifilter redirector SDK avaiable?

I am looking for a minifilter redirector to redirect file modifications for a specific application. It does following:

  1. when a file is modified, the file is copied to isolated folder and modified there (parent directories are created in isolated folder as well if they dont exist there)
  2. when a file is deleted, the file is marked as deleted in isolated folder and keeping actual file not changed
  3. when enumerating a directory, files in redirected directory and actual directory are merged
  4. when opening a file, open redirected file if it exists, otherwise read the actual file.