title: Is it possible to use Microsoft's Offline Files API in C#?
body: <p>I'm trying to figure out how to use the <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/cc296090%28v=vs.85%29.aspx" rel="nofollow">Offline Files API</a> from C# (if possible).  I believe that if the API is a COM API, then I should theoretically be able to call it from C# using the methods <a href="http://msdn.microsoft.com/en-us/library/aa645736%28v=vs.71%29.aspx" rel="nofollow">here</a>.</p>
  
  <p>Unfortunately, I have no idea if it's a COM API or not, or how to tell.  (As a more general side note, can anyone tell me how to tell whether an API is COM compatible?)</p>
  
  <p>I've successfully called the <code>OfflineFilesQueryStatus</code> function from the API by declaring it like:</p>
  
  <pre><code>[DllImport("cscapi.dll")]
  public static extern int OfflineFilesQueryStatus(out bool pbActive, out bool pbEnabled);
  </code></pre>
  
  <p>But I'm not sure how to use the interfaces (i.e., I don't know how to create an <code>IOfflineFilesCache</code> object.)</p>
  
  <p>Can anyone help explain this to me?</p>