4 つの引数を取り、数値を返す関数を含む C dll を作成しました。次に、C# アプリケーションを作成し、PInvoke を使用して dll 関数を呼び出しました。すべて正常に動作します。次に、dll 関数の引数の数を 4 から 3 に変更しました。ただし、C# のメソッド シグネチャ (DllImport メソッド シグネチャ) は変更しませんでした。驚いたことに、C# からの呼び出しは引き続き成功しますが、dll 関数から予期しない値が返されます。
例外が発生することを予期していましたが、通話は成功しました。P/Invoke を使用して関数呼び出しを行うときに、引数の数を厳密に強制する方法はありますか?