我们正在使用 Windows COM+ 服务类型库(位于 C:\Windows\system32\COMSVCS.dll)来跟踪远程计算机上的 COM+ 进程,该服务使用 C# 3.0/.NET 3.5 编写的服务。我遇到的问题是,我从编译器收到一大堆警告,如下所示:
运行时封送处理程序不能封送“IGetAppData.GetApps”的至少一个参数。因此,此类参数将作为指针传递,并且可能需要不安全的代码来操作。
为上述方法生成的互操作函数签名是:
void IGetAppData.GetApps(out uint nApps, IntPtr aAppData)
由于输出已经在调用代码中手动编组(即使用Marshall.ReadInt32
and Marshall.PtrToStructure
),有没有办法抑制这些类型的警告?