title: How does Pismo File Mount mount ZIP files onto Windows Explorer?
body: <p>I have been using <a href="http://www.pismotechnic.com/pfm/ap/" rel="nofollow">Pismo File Mount</a> for many years, and I have always wondered how it actually works.</p>
  
  <p>Let's say, I am currently working on an application that creates a package format similar to the <a href="http://en.wikipedia.org/wiki/Zip_%28file_format%29" rel="nofollow">ZIP format</a>. For ease of access, I want to create a <em>shell extension</em> that works similar to how Pismo File Mount works. For those who have not used Pismo File Mount before, this is how it works:</p>
  
  <ol>
  <li>The user right-clicks a ZIP file in Windows Explorer.</li>
  <li>The user then clicks "Mount" to mount the ZIP file.</li>
  <li>The user can now access his/her files immediately.</li>
  <li>The user <em>does not have to extract the ZIP file</em> to view its contents.</li>
  </ol>
  
  <p>There's a catch. I do <em>not</em> want to use the Pismo File Mount <a href="http://www.pismotechnic.com/pfm/doc/" rel="nofollow">API</a>, perhaps for various reasons like commercial or legal ones.</p>
  
  <p>The question is, <strong>how does Pismo File Mount integrate itself into Windows Explorer programmatically, in terms of the Windows API and C++?</strong></p>