title: COM / OLE / ActiveX / IDispatch confusion
body: <p>I can't wrap my head around the differences among these terms.</p>
  
  <p>Are COM and ActiveX synonyms?  </p>
  
  <p>Is ActiveX object just a COM object that exposes IDispatch?  </p>
  
  <p>Lots of older MSDN pages mention IDispatch without any COM context. Does it have a separate history, and was just introduced under the COM 'umbrella' later in its lifecycle?</p>
  
  <p>Where does OLE fit in? Is its (considerable) presence in MFC naming and MSDN in general - all just legacy?</p>
  
  <p><a href="http://en.wikipedia.org/wiki/Component_Object_Model" rel="noreferrer">Wikipedia</a> gives some insight, but not much. I couldn't find a more in depth reference.</p>