私はCでこの構造を持っています
struct system_info
{
const char *name;
const char *version;
const char *extensions;
bool path;
};
そして、この関数シグネチャ
void info(struct system_info *info);
この関数を次のように使用しようとしています。
[DllImport("...")]
unsafe public static extern void info(info *test);
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public unsafe struct info
{
public char *name;
public char *version;
public char *extensions;
public bool path;
}
そして私のメインで:
info x = new info();
info(&x);
エラーが発生しました。ポインターはマーシャリングされた構造体を参照できません。これを管理するにはどうすればよいですか?