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:
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.
The generated interop function signature for the method mentioned above is:
void IGetAppData.GetApps(out uint nApps, IntPtr aAppData)
As the output is already being marshalled manually in the calling code (i.e. using Marshall.ReadInt32
and Marshall.PtrToStructure
), is there a way to suppress these type of warnings?