次の行をコードに追加すると
[DllImport("user32.dll")]
static extern void keybd_event(byte key, byte scan, int flags, int extraInfo);
Microsoft Basic Correctness Rulesに対してコード分析を実行すると、CA1901の警告が表示されます。基本的に、4番目のパラメーターint extraInfoは32ビットプラットフォームでは正常に機能しますが、64ビット整数型は64ビットプラットフォームで想定されていると文句を言います。
コードを長い extraInfoに変更すると、64ビットプラットフォームの要件は満たされますが、32ビットプラットフォームは32ビット整数を想定しています。
警告を抑制せずにこのジレンマを解決するにはどうすればよいですか?