我在示例中使用了 SendMessage 本机方法。请在下面找到本机方法声明,
[DllImport("user32.dll", CharSet = CharSet.Auto)]
internal static extern IntPtr SendMessage(IntPtr hWnd, int msg, int wParam, int lParam);
但是当在我的示例中声明上述本机方法时,它会显示警告(CA1901 - P/Invoke 声明应该是可移植的)。它显示警告,如“方法中的参数 lParam 在 64 位平台上将是 4 字节宽。这是不正确的,因为此 API 的实际本机声明表明它在 64 位平台上应该是 8 字节宽。
那么我们如何解决上述 FxCop 警告,还请建议我们如何知道基于 32 位和 64 位平台的参数的实际大小?