デリゲートを関数ポインタとしてpinvokeで渡すのは結構危なくて
生存期間に注意して使わないとデリゲートが先にGCされて死ぬ