delegate*<int, int, int> d = ∑
var ptr=Marshal.AllocCoTaskMem(1024*1024);
// записать те же байты Marshal.Write....
Console.WriteLine(Marshal.GetDelegateForFunctionPointer<Fun>( (IntPtr)d).Invoke(32,44));
//1 работает, а вторая исключение. Хотя следующие 1024 байтов значений одинаковые
Console.WriteLine(Marshal.GetDelegateForFunctionPointer<A>( (IntPtr)ptr).Invoke(32,44));