title: Calling C# from C++, Reverse P/Invoke, Mixed Mode DLLs and C++/CLI
body: <p>As I understand it I can use reverse P/Invoke to call C# from C++.  Reverse P/Invoke is simply a case of:</p>
  
  <ol>
  <li>Create you managed (c#) class.</li>
  <li>Create a c++/cli (formerly managed c++) class library project.  Use this to call the managed c# class (presumably via a reference).</li>
  <li>Call the c++/cli code from native c++.</li>
  </ol>
  
  <p>Questions:</p>
  
  <ol>
  <li>Is this correct?</li>
  <li>Is the DLL created at step 2 known as a mixed mode DLL?</li>
  <li>Has C++/CLI completely superseded Managed C++ as far as MS are concerned?</li>
  <li>Is COM completely avoided using this approach?</li>
  <li>At what point would the CLR be created and run, and by whom?</li>
  </ol>
  
  <p>Thanks in advance</p>