C# に割り当てられた大きな char[] バッファーがあり、このデータへのポインターを DLL の umnanaged c 関数に渡したいと考えています。
これが機能するためには、関数の動作中にGCがシフトできないように、charバッファーを修正する必要があると思います。
もしそうなら、バッファをFIXEDと宣言し、UNSAFEブロック内でDLLを呼び出しますか??
fixed ( int* p = &bigbuffer )
{
processbigbuffer(bigbuffer);
}
私は検索しましたが、メモリが c# に属しているという問題と、これが DLL でどのように機能するかを強調している参照は多くありません。
ありがとう