title: How to suppress compiler warnings from the use of COM references in a .NET project
body: <p>We're using the Windows COM+ Services Type Library (located at C:\Windows\system32\COMSVCS.dll) to track COM+ processes on a remote machine using a service that is written in C# 3.0/.NET 3.5. The problem that I am encountering is that I am getting a whole slew of warnings from the compiler that look something like the following:</p>
  
  <blockquote>
    <p>At least one of the arguments for
    'IGetAppData.GetApps' cannot be
    marshaled by the runtime marshaler. 
    Such arguments will therefore be
    passed as a pointer and may require
    unsafe code to manipulate.</p>
  </blockquote>
  
  <p>The generated interop function signature for the method mentioned above is:</p>
  
  <pre><code>void IGetAppData.GetApps(out uint nApps, IntPtr aAppData)
  </code></pre>
  
  <p>As the output is already being marshalled manually in the calling code (i.e. using <code>Marshall.ReadInt32</code> and <code>Marshall.PtrToStructure</code>), is there a way to suppress these type of warnings?</p>