title: C+C# Interprocess Communication: Named Pipes, Memory Mapped Files or other?
body: <p>I'm playing with C dlls to hook global Windows events and the next step is sending some event data (nothing huge) to a C# application.</p>
  
  <p>As I want this communication to be as fast as possible, I'm analysing two options: Named Pipes and Memory Mapped Files.</p>
  
  <p>I know that .NET 4 brings MMF in a native way, but I have to target .NET 2, as the existence of Win98 clients is still possible. I also know that there are ways to manage MMF with .NET 2 via Windows API (and some folks have even built some wrappers to it).</p>
  
  <p>In this context, I'd like to know:</p>
  
  <ol>
  <li>Are there any big disadvantages (performance mainly) in choosing Named Pipes instead of MMF? Important to remember that I'll not transfer huge amount of data;</li>
  <li>Are there any security issues involved in NP or MMF (targeting .NET 2)?</li>
  <li>Is there any better choice than those?</li>
  </ol>