I have written a C DLL and some C# code to test including this DLL and executing functions from it. I am not too familiar with this process, and am receiving a PInvokeStackI
The calling convention is wrong. If removing the int arguments doesn't trip the MDA then it is Cdecl:
[DllImport("LibNonthreaded.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void process(int high, int low);
This isn't the standard calling convention for exported DLL functions, you might consider changing it in the C/C++ code, if you can.