title: Implementation of ISupportErrorInfo - what does it mean?
body: <p>What does the <code>ISupportErrorInfo</code> interface mean? I'm at a bit of a loss to understand it. From MSDN:</p>
  
  <blockquote>
    <p>This interface ensures that error
    information can be propagated up the
    call chain correctly. Automation
    objects that use the error handling
    interfaces must implement
    ISupportErrorInfo.</p>
    
    <p>This method indicates whether or not
    an interface supports the IErrorInfo
    interface.</p>
  </blockquote>
  
  <pre><code>HRESULT InterfaceSupportsErrorInfo(
    REFIID riid
  );
  </code></pre>
  
  <p>What does it mean to return S_OK in <code>InterfaceSupportsErrorInfo</code>? Should you return S_OK for all interfaces? Just some?</p>