title: Dynamically merge content of NTFS folders into virtual one
body: <p>I need to merge content of multiple NTFS folders into one based on some rules.
  These rules will ensure that there is no conflicting names. The goal is to do all that programatically (c# and/or c++).</p>
  
  <p>The simplest solution I had is to create NTFS Link (or Junction) into the target folder pointing to each file in the source folder.</p>
  
  <p>This would work so far, but the problem I have is that additional files will not occur and removed files will not disappear.</p>
  
  <p>Well, of course I can run a background process (service) listening at the file system's source folders and performing appropriate modifications of NTFS Links on thy fly, but is this the way to go?</p>
  
  <p>The first question is: 
  1. What is the most elegant way of doing that?
  2. I have seen multiple programs which for instance can mount content of a ZIP or ISO file to some NTFS folder. How do they work?</p>