Windows COM +サービスタイプライブラリ(C:\ Windows \ system32 \ COMSVCS.dllにあります)を使用して、C#3.0 /.NET3.5で記述されたサービスを使用してリモートマシン上のCOM+プロセスを追跡しています。私が直面している問題は、コンパイラから次のような警告が大量に表示されることです。
'IGetAppData.GetApps'の引数の少なくとも1つは、ランタイムマーシャラーによってマーシャリングできません。したがって、このような引数はポインタとして渡され、操作するために安全でないコードが必要になる場合があります。
上記のメソッドに対して生成された相互運用機能シグネチャは次のとおりです。
void IGetAppData.GetApps(out uint nApps, IntPtr aAppData)
出力はすでに呼び出し元のコードで手動でマーシャリングされているので(つまり、とを使用Marshall.ReadInt32
してMarshall.PtrToStructure
)、これらのタイプの警告を抑制する方法はありますか?