C DLL に次の構造体があります。
struct foo
{
double *x;
short *y;
}
DLL を呼び出す C# アプリ:
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public class foo
{
public ? x;
public ? y;
}
int* がある場合は IntPtr を使用する必要があることは理解していますが、short* と double * に相当するものが見つかりません。
C 側では、short * を使用して short の配列を割り当て、double * を double の配列に割り当てています。