2

C# からアンマネージ C++ 関数を呼び出したいとしましょう。C++ 関数には次のプロトタイプがあります。

int doSomething(int arraySize, int* array)

そして、次のように C# から関数を呼び出します。

[DllImport(MyLibrary, CallingConvention = CallingConvention.Cdecl)]
public static int doSomething(int arraySize, int[] array)

int[] myArray = new int[] { 1, 2, 3 };
doSomething(myArray.Length, myArray);
  1. これを行うと、myArray固定されますか?アンマネージ ライブラリの作業中に、ガベージ コレクターが配列を別の場所に移動する可能性はありますか?
  2. 自動的に固定されない場合、固定するにはどうすればよいですか?
  3. 自動的に固定されている場合、再び固定が解除されるのはいつですか?
4

0 に答える 0