title: COM vs non-COM DLL
body: <p>The majority of my experience is with high level languages like Java and VB.NET.  I do have some experience with C++ (at university).</p>
  
  <p>I understand the difference between a COM DLL and a DLL produced by a .NET compiler.  I don't fully understand the difference between a COM DLL and a Windows DLL generated by the C and C++ compiler.  </p>
  
  <p>I want to use C++ DLL in a .NET program.  I have managed to get this working.  My question is specifically: What is the difference between a DLL produced by C++ and a DLL produced by VB6 (COM based).</p>
  
  <p>I have spent an hour Googling this and looking on MSDN.  I though I would find my answer without having to ask a question, but I have not.</p>